Being a software developer can often feel like a lonely profession. You’re sat on your own – just you and your computer – writing code, fixing bugs and immersed in software. That’s why it’s important to both get away from the keyboard and do what you can to stay motivated.
But you don’t have to go it alone.
In fact, one of the best ways to advance your software development skills is to collaborate with others. And we’ve got a few tips to share on how to accomplish that:
One of the first places to turn is to other developers. Those who have been in your position, who’ve developed their skills, improved their code and already solved problems you’re facing.
Find a project that really interests you, or a piece of software you really love, and see if you can find the source code. There are loads of ‘gold standard’ projects out there, like Doom 3, the Linux kernel and Ruby on Rails. Be sure to check out norvig.com for loads of handy links to code (plus articles, books and more).
You don’t have to read from start to finish either. Scan filenames and look for anything that jumps out, that interests you. Then take the time to read any comments, to understand what the authors were trying to achieve (and what they did to get there).
There’s no harm in reaching out to the authors to ask to review their code (if it’s not publicly available) or to question how and why they went about a certain piece of coding.
And when you do get stuck yourself – Google it. There’s nothing wrong with searching the internet and asking for help from other developers. Chances are they’ve already run into and solved the same problem. Just make sure you read their code, and their explanation.
Doing your research so you understand the solution with help you become a better developer.
When you’re asking other developers for help with your code, you could also share your skills with them.
Working together on a problem will help both of you become better coders, which is why it’s common practice for developers to submit fixes, patches and new features to open-source software projects they use regularly.
It will encourage you to keep coding, to keep practicing, to just try ideas and see if they work. And even if your contribution is rejected, you’ll hopefully get feedback on it from more senior developers which will be invaluable.
You could even start your own open-source side project and invite others to collaborate with you. It doesn’t need to be anything serious, just whatever interests you.
GitBreeze can help you collaborate too, as it makes reviewing pending files simple and effective. You and other developers can compare, commit and stash as required to make sure you’re only ever deploying the very best, final version of the code you want.
Collaboration shouldn’t just happen with other developers either. Take the time to work with those in your organisation that specialise in other disciplines.
Collaborate across the whole business on a project.
Those colleagues who have different skill sets and work in different operational areas will bring something new to the table. New ideas, new insights, new approaches – all things you might not have thought of.
They can help you get a fresh perspective on a problem you’re facing, and you can return the favour.
By teaching others in your organisation about coding and showing them your skills, you’ll learn too.
It will also give you a better understanding of the business as a whole. By seeing the bigger picture, you’ll have a better idea of what your code needs to accomplish (and how it’s already helped).
To get that support from others in your organisation, you’ll want to make sure you have a good team around you. Both within your department and across the business.
That’s means finding an organisation that understands the importance of high energy and inclusivity. Or teaching your organisation about that importance. Or recruiting your own colleagues.
Because if you have the right team around you – full of energy and focus, with a diverse skill set – you’ll all become better at your jobs. Morale will be boosted, you’ll enjoy a better working environment, and all benefit from great collaboration all around.
It’s all about that mindset – something we’ll look into in greater detail in the next part of our series on how to advance your software development skills.
We provide these pages to try to make your programming life easier. Our resources page gives an overview. You can see a full list of our best software development practices here.
We have this free download to help with your coding: 25 design patterns - these are working examples you can step through in C#.