Advice to a Junior Developer
“You don’t learn to walk by following rules. You learn by doing, and by falling over.” — Richard Branson
This post follows from the expert advice offered by my colleagues Zoe, Luke and Agoney. In this post I offer guidance to prospective developers and engineers, as to how they (you) can achieve personal growth and deliver real value to real businesses.
I feel suited to offer this advice as I was a junior developer 5 years ago. My career began while studying Computer Science at University and undertaking a placement year (an experience I would highly recommend).
It was during a placement year that I discovered a niche in Dynamics 365 development. Since then I’ve grown to a Software Engineer Lead, having worked with teams delivering solutions to local councils, charities, financial organisations and most recently a public healthcare provider.
Why not challenge yourself to answer questions as well? Try bookmarking questions relating to your area of interest (this example uses Dynamics 365), sorted by newest questions first. If you don’t know the answer, chances are it’s an opportunity for you to discover the answer yourself, and help someone else in the community. And if you do know the answer, prepare to be rewarded with increased reputation (internet points).
Embrace open source
You’ve probably heard of GitHub. Make sure you sign up and connect with other contributors. Star, follow and watch projects within your area of interest. This will keep you motivated as you watch and even help projects grow into tools used by other developers globally.
Find a niche
Become the go-to guy or girl! A breadth of experience and versatility are valuable traits. However, I’d advise you embrace the area you’re most passionate about and become known for it. It could be a specific testing framework, an Azure module or a software platform.
Becoming the resident expert will increase your self-confidence and increase your company profile. You’ll build trust with your employer, granting you further project opportunities as well as the flexibility to develop on your own ideas.
Stop and think
Coding work these days tends to come from a prioritised backlog of stories. If your workload excites you (which I hope it does!), it can be easy to get carried away and begin coding straight away (I’ve been guilty of this).
Stop and think:
- has this been done before?
You can often save yourself and your client time by re-using existing libraries. There’s no need to rebuild the wheel. Just be sure to check with the project’s technical architect before introducing third party dependencies.
- can I make this code generic for re-use elsewhere?
- what’s the bigger picture?
Your code is only as good as the value it provides in production. Do you really understand the business case? Have you spoken to relevant stakeholders to validate the requirement against end user expectations? Are there areas of integration that your code will impact? Ask questions before diving into the code to ensure you truly understand the requirement. There are no silly questions.
I hope you’ve enjoyed the read and can put some of the advice to good use.
“Don’t dream of winning. Train for it.” — Sir Mo Farah