There is this misconception that programming is a solitary profession, that developers just sit in a basement tapping away at their keyboards all day. This couldn’t be further from the truth! In fact, software development by necessity is very collaborative. Learning to collaborate well with other engineers is critical for delivering amazing projects, but it is also a brilliant way to learn to code!
I have three tips for you today that will help you supercharge your learning and hopefully be really fun.
Pair programming is where you find a fellow programming buddy and sit next to them and work on the same problem. Not only is it great fun to be working on something with a friend, but this technique can also help when trying to solve non-trivial problems. ‘The whole is greater than the sum of its parts’ and all that!
Something that I love about pair programming is that you quickly realise that there are many ways to solve the same problem. Seeing another person's thought process in real-time can widen your problem-solving toolbox and give you immediate feedback on your own approach.
Many of the most successful people in history had mentors: Alexander the Great had Aristotle, Warren Buffet had Benjamin Graham. It’s exactly the same for learning to code.
A mentor should be someone with more experience than you and someone that knows you well. The role of a mentor is to set you in the right direction and be a sounding board for high-level decisions. A mentor isn’t a tutor. They aren’t there to debug your code, instead, they should enable you to work it out for yourself.
Many people find mentors in old professors or managers. If that’s not an option, try reaching out to someone in your network you know is good at programming for coffee and see what happens!
Open-source projects make source code publicly accessible and allow anyone to recommend an edit. These projects are a great way to improve your programming because you are able to read and understand high-quality code and if you submit a change you will receive feedback on your code.
Working on an open-source project also introduces you to one of the most important tools in a professional software engineer's toolbox: version control. Version control is the way developers integrate and manage their code and it becomes extremely important when working on a large code base with multiple developers.