Pair Programming: Fresh Perspectives
A few weeks ago I had the genuine pleasure of working with an aspiring developer who joined us for a week of work experience as part of his preparation for his University travels and to help build his experience with the Umbraco CMS and the C# Language.
Conor joined us having prepared for and studied Umbraco using limited resources but to the best of his ability. To his own admission he had initially had trouble connecting the dots on how Umbraco worked and with no experience or starting off point in learning Razor syntax.
Conor and Myself were set up using a television so that we could both view and interact with our work. The principle of Pair Programming is that one person has control of the keyboard and mouse and will begin programming while the other views and sees how the other produces their work, after some time, the pair swap control. This paid dividends quite quickly as I walked through what had been done so far and showed Conor the first pages I had worked on that were light on Razor but enough to show him the principles of what we would need to use it for.
By being side by side as we went through this, there was nothing lost in translation and was as useful for me as it was for Conor. I was able to find gaps in my own knowledge as Conor could ask questions from a fresh perspective that I wouldn’t have asked just on my own. Conor was also incredibly quick on the uptake and by the end of Monday was capably writing his own basic queries through Umbraco and Razor and was confident (as was I) that the pieces were falling into place in regards to the Umbraco CMS.
Tuesday was much the same, a mixture of productive coding time and designing new Umbraco Document Types to take advantage of in our design. Most of the day we simply got down to work while discussing why we were doing things the way we were. Towards the end of the day however I showed Conor the first traces of Linq in Razor and how it could be used. For an hour or so we may not have gotten a great deal of work done but Conor went away with a much widened perspective on a certain aspect of the C# Language.
Over the rest of the week we fell into a cycle of work and adding tidbits to what Conor could learn and put into practice. Querying collections of data from Umbraco and then rendering them on pages. With some fairly advanced manipulation of data at times I was personally very impressed with Conor’s ability to intuit new solutions to problems using a solution and derivatives upon it that he may only have learned hours earlier.
The whole time we were working together, the project that we were working on was an update to the Antelle website itself. With a new structure to the Umbraco back end of the website and a natively designed blog that you may be reading on right now. The website features a new design taking advantage of new styles and techniques that have become available since the last iteration of the website came online.
With a detailed mock up to design the Umbraco/Razor syntax around, it allowed Conor to focus on writing code and solving problems one at a time without the pressure of worrying about design. Pair Programming was immensely informative in helping Conor and myself, I could provide some tuition and one-to-one guidance on problem solving and Conor’s fresh perspective allowed me to refine some techniques I’ve commonly used in the past by taking on board some specialised knowledge that Conor already had from self-study.
I’m wishing Conor the best of luck at University and have no doubt that in time he’ll become a fantastic developer. At the time of writing the Antelle Redesign is close to completion and only requires a review of content while also migrating posts from our previous blog system to the new version.
Thank you for reading.