“Version Control is an essential part of our engineering process, so I want to make sure you totally understand it,” says David Thor, Lead Developer of ChatterMob, as he begins a Tuesday night lesson on Github for Product Manager Matt Bilotti and I. David proceeds to use a whiteboard to draw out exactly how uploading files and other Version Control tasks are completed. Throughout, he goes slowly and always stops for our exhausting questions. The next morning, I receive an email from David with a new front-end layout he threw together later that night after our lesson.
There are many factors to consider when identifying the best developers, and one crucial element is desire and ability to explain. Similar to Drew D’Agostino, David has an ability to explain complex concepts to technical and non-technical stakeholders. More importantly though, David also has a seemingly innate desire to do so – he prides himself on making wiki documents, doing lessons and even writing detailed articles. At the same time – David is as technical as they come – an architect that has the rare expertise to think 3 steps ahead when building systems that are scalable and adaptable to an ever-changing start-up climate.
When I hire technical leaders, I want them all to be like David – technical masterminds who also crave sharing their knowledge with others. Teammates like David want the entire team to succeed because they make an extra effort to ensure everyone “gets it” and can contribute when necessary. So, if you are a developer and want to be well respected by everyone on your team just like David is for us, consider the following:
1. Document and comment like crazy
When you work through a process, write it down. Maintain a team-wide wiki that is shared with everyone from designers to the CEO. You never know when something breaks and someone random needs to jump in to help – it’s good to have instructions.
2. Spend the extra time to explain
Impatience sometimes gets the best of us and encourages us to keep information to ourselves rather than spend an extra few minutes to explain it to someone who is still learning. Great developers understand the power of collaboration and sharing responsibilities. Explain what you are doing to both technical and non-technical people. Stop and spend more time if they are confused. It’ll enable everyone to make better decisions and ultimately act quicker.
3. Think outside the code
While companies like influencers@ rely on the crank culture to push hard through developing products quickly, it’s important to consider when it makes sense to unplug and huddle with the entire team to communicate issues and come to a consensus before you get too deep into a project and have to refactor.