Being split up into two offices bears some difficulties, espescially because it’s difficult to communicate mainly via email. We try to tackle this problem by having video conferecnes each week, a mailing list to discuss programming topics, interoffice pairing etc., but sometimes it’s good to meet each other in real life. That’s why we have a DevCon (developer’s conference) each year where we talk about collaboration, code and stuff. This time we wanted to focus on clean code and get a common understanding of what we like and don’t like. Because it’s hard to achieve this by merely talking, Christoph and me came up with a coding exercise to be solved in pairs – one guy from St. Petersburg, one from Munich. >> more…
I check my mails and found commit from Tobi where he refactored our yesterday’s code. We are a bit confused and decide to wait for him in order to clarify his changes. Meanwhile I setup RealVNC on my Windows, Andrea and Christoph successfully log to it. Desktop sharing now works pretty good for both sides! Tobi comes and we understand that his changes were done due to separation of concerns in classes. Ok, we are not agreed, we try to refactor the code in the way we see it. Damn, it’s not that simple as it seemed to be for the first time! Each solution has it’s benefits and drawbacks. Ok, we leave the code as it is now and check it with JProfiler. Results are outstanding, with having cached classes map we double improve performance! Now we quickly do ant target which automatically generates persistent classes…done. It’s too late now, so we agree to continue on Monday.
We are trying to setup VNC server on my side. For some reason Andrea cannot connect to my linux vnc server… <gulp>
Ok, let’s continue working in “secretary-boss” style once again.. No it’s a bit quicker, we begin to better understand each other. Christoph joins us, now we are three in the developers chat now! Initial task is quickly done, but now we think if we can improve our implementation even more. I want to take active part in coding not just by typing ideas in skype, but also in IDE. That leads us to establishing alternative VNC server. Christoph uses Windows and RealVNC. I try to connect to his server – bingo! I can even type there. We exchange several good ideas about code refactoring and found new task to implement – automatic generation and validation of persistent classes with ant.
I’m very curious about our inter-office (Munich and St. Petersburg) pair programming. Will it work or no? How will it go? Where should we start with?
First idea is to establish chat and voice chat as well – skype seems to be the best candidate. Also we should somehow establish desktop sharing. Andrea tells me that she already set up some VNC server on her MAC. I never worked with VNC software before, so a quick search in google gives me several good candidates to start with (RealVNC for Windows and tightvnc for linux). Set up clients on both OS. Trying to use RealVNC – oops, it cannot connect to VNC server on MAC. >> more…