Advice to a Junior Developer

“You don’t learn to walk by following rules. You learn by doing, and by falling over.” — Richard Branson

Introduction

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.


Community forums

Sites like StackOverflow should be seen as learning tools. Never be afraid to post questions you have and get help from the community. If you find the answers you need, make sure to truly understand them and implement them yourself, rather than copy/pasting them. Remember that JavaScript tidbits, for example, can be tested straight from your browser’s console (F12).

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.

It’s also an opportunity to “see how Google do it”, showcasing enterprise-scale products such as TensorFlow, VS Code and React.

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?

The “quick and dirty” approach to achieving a requirement can be tempting. However, more often than not you’ll lose time in the long run by introducing technical debt such as magic strings.

  • 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