To grow as a Software Engineer, being proficient at the technical level, possessing human skills, and more is important. But that’s not (never!) enough; it’s also important to find ways to improve at work by applying new techniques and approaches.
In today’s issue, I would like to share with you all my experience using the Code With Me feature that IntelliJ, the IDE created by the company IDEA, offers after using it with my team.
I will cover:
What Code With Me is.
Thoughts about it.
The idea is pretty simple: Using IntelliJ editor, you can join or connect with your teammates to have pair or mob programming sessions in a collaborative and real-time. manner. When you join or connect to a session, IntelliJ will open a new window, exclusive for the collaborative session, so you and your peers can start coding.
One of the first things that kept my attention is that you can see the cursor of your peers in the file you are visualizing or coding. It behaves pretty smoothly with more than one person working on the same file, being smart on the “line jumps”, and the typing in real-time.
Also, the editor offers the possibility to “follow” your peers across the open project for the session. You could be working in a file and, in the meantime, another user could be working in parallel in another file. By clicking that button, the window will open the file on which your peer is working and follow up the cursor on that file and any others that the user could manage.
I’ve tried this feature with up to 3 people and the performance was really smooth. In a real mob programming session, when you are multiple users at the same time, either you rotate very fast for coding, or someone could start to multi-task. I would suggest following the same advice as for pair or mob programming sessions.
This feature has permission management. Do not expect something really sophisticated though, but enough if you work in a safe environment. In this aspect, it’s important to mention that your peers could run commands, like `./gradlew run` in the command line of the session opened. This is very useful since the person coding does not have to “wait” until the host runs the corresponding command, so the session is as smooth as it would be in a non-visual session. It’s scoped to the session opened only, your pairs will not be able to “get outside” of the IntelliJ, but be careful with the permissions because they potentially could do an `rm -rf /`.
Linking with the first thought I shared at the beginning of the issue, I see it very useful to have real-time interactions, it helps to engage people during the pair or mob programming session.
In summary, I find it useful for pair programming sessions when your team is remote. It could be useful as well even when you are all together in the office, so people can focus on their screens instead of having to follow up on the session on the room’s screen.
IDEA company is not paying me in any way for saying this and I can tell that it is useful to me and I could recommend you to give it a try.
Hope you found useful today’s issue. I would love to hear about your experience with this Code With Me or similar products. Drop me a message!
Best,
Marcos