A trail of breadcrumbs for senior developers

Remembering what it was like way back when

Alex Swan
Ansarada Thinking
4 min readApr 18, 2018

--

Photo by Miroslav Škopek on Unsplash

The road to independence as a developer in a product company can be slow, lonely and damp with tears.

It has been three years since I wrote my first line of code, and two and a half years since I landed my first software role. As I move along my development journey and get further and further away from that first terrifying and confusing year, the memories and emotions that accompanied that time are gradually fading away.

I see this growth as being similar to moving from childhood through adulthood — often the changes are so slow and imperceptible that one day you wake up and you’re almost 30 when you could have sworn you were 15 just a moment ago.

Assuming that (hopefully) one day I will wake up as a senior developer, I wanted to write down my thoughts on junior-hood while it’s still relatively fresh. My current broad, overarching career/life motivator is the desire to empower those who are learning. I hope that the following thoughts help beginner developers and anyone working with them (especially future me) to tread an easier path.

1) Upskill your seniors

To give new developers a better ride, you need buy in from the entire team. It takes a village to grow a developer, and the more villagers who are equipped to navigate a baby through the perils of early life, the faster and stronger they will grow up to be valued members of the community.

A mistake I have often seen seniors make when dealing with juniors is in overestimating understanding of specific areas and underestimating general intelligence and capacity to learn quickly.

It is essential to understand the level at which juniors enter. Ask questions, listen to them, and don’t assume knowledge. Be a better communicator, by starting with the following:

  • Distinguish opinion from fact
  • Admit when you don’t know the answer to something
  • Explain core definitions to things (e.g this is what this thing is, this is what this thing does)
  • Encourage juniors to speak up. A junior has the right (as well as IMO, the obligation) to ask what is going on in meetings and have it be explained in a way they can understand. This also has the benefit of helping to validate assumptions and make sure everyone is on the same page.

2) Clarity is Queen

New developers are extremely discombobulated most of the time, so it is very, very helpful and anxiety-reducing to have as many flexible structures in place as possible. This can include:

  • Clear instructions with regards to development environment, tooling and workflow
  • Clarity of tasks, of expectations and of plans
  • Regular checkins and feedback

3) Strong expectations, weakly enforced

Juniors will work hard to the level of your expectation.

If you expect us to fix copy bugs, we will expand our capacity to that level.
If you expect us to take ownership of a story or a task and provide clear guidelines for doing so, we will do it.

4) Always be pairing

Pair juniors with seniors. Pair juniors with someone at the same level. Pair juniors with someone who is slightly more advanced. Especially at the beginning, pair juniors as often as possible. Pair to learn, pair to teach. Pair. I cannot stress this enough.

5) Pay attention, take notice and step in

Programming is a mental game you play against yourself.

In my experience, career changers in particular often have past demons (e.g. mental habits) that they will inevitably bring forward into their new role. If stuck alone on a problem for hours or days, these are going to resurface, no matter how far they have been buried or banished.

Notice changes in yourself, and notice changes in other people. With a bit of effort and practice, it becomes easy to see the difference between somebody staring at their screen deep in thought and staring terrified and paralysed with fear, confusion and indecision.

6) Don’t underestimate the value of community support

Having a support network of people at a similar experience level, both inside and outside of work, is the absolute best thing ever. This is potentially the biggest advantage of coding bootcamps. Encourage networking, venting and knowledge sharing among people at similar levels.

7) Junior developers are Good.

We (particularly career changers), are creating diversity just by showing up and speaking up. As the saying goes, if you see it, you can be it. At my company, more and more people from other teams from marketing to finance have started to learn to code and expressed interest in joining engineering. Last month, one of our customer success reps started full time in engineering after ramping up gradually from one day a week 6 months ago. She is absolutely killing it, and I’m proud as punch.

Junior developers are a good investment. For the team, for the company, for the community. Please don’t forget it.

--

--