
Ask HN: Guidance on leading junior development team - vienna_sausage
I&#x27;ve been brought in as the lead developer at a small startup (&lt; 10 people) currently delivering 100% dev for hire. I&#x27;ve got some prior management experience but found looking after and training junior staff a much bigger challenge that I was expecting.<p>The founders made the decision to start the development team using junior staff they recruited through apprenticeship programmes. The current  team is comprised of me, a junior software developer and a junior web designer. By junior, I mean &lt; 2 years development experience with no  degree.<p>A lot of my time is spent helping them get started with tasks, answering questions, fixing issues and checking what they&#x27;ve done works and isn&#x27;t a bug ridden mess. I&#x27;ve established code reviews and encourage them to review my code and often walk through it with them. We sometimes do pair programming (not often) and are working on developing a practice of TDD.<p>Our projects are fairly varied and I worry about how shallow some of the learning my team is doing. Once we sign off one piece of work we&#x27;re often moving into something entirely different (we take on anything from mobile with a cloud API back-end to a SPA integrating with third party systems). We reflect on the development process, but not really on the development itself.<p>I want to make sure I&#x27;m giving them the best opportunities I can and try hard to make myself available. I hold semi regular 1-1&#x27;s and try to include them in discussions and decision making wherever possible. Unfortunately I feel that the more engaged I am in their daily work, the lower the chance of us delivering what we&#x27;ve agreed to deliver to our customers, I know this is the wrong attitude to have.<p>I&#x27;m incredibly conscious that the stage they&#x27;re at with their career is formative so I want to make sure they&#x27;re developing good working practices and a solid understanding of how to build software.<p>What can I do better to help my team grow and develop? Does my attitude need a re-think?
======
soneca
I think your attitude is mostly right. As a junior developer, just having a
senior developer _who cares_ already means _a lot_.

I am one and a half year into my first job as a developer, after a late-career
from marketing at 37yo.

At the same time, I have a formal role as a mentor of two apprentices that are
just starting to learn software development from scratch (a great program we
have on our company).

So I feel I understand both sides.

One thing that is not good (but you can't change) is that the junior
developers only have you to ask. I personally would not accept a job where
there is only one senior developer. At least, you seem to have the right
attitude, which is great!

Tutoring on good development practices (TDD, pair, code reviews, code design,
etc), rather than language syntax, is the right choice because that is hard to
learn on your own.

I wouldn't worry about the on-the-job learning being too shallow. The best
case scenario for them is for them to feel productive, and not a burden. So if
you are shipping things, it matters a lot. Even if you feel that they are not
learning a lot from each topic.

So try to mitigate the trade-off between education and productivity. Try to
break the development tasks for them, in very small and clear pieces, so they
know what they have to do in a way that any doubt they can google it and keep
moving.

That said, deep learning will be incredibly important in their careers. So
also guide their learning time outside of work. They (as every developer) will
have to reserve some time to study consistently outside of work. Try to guide
what they are studying, by recommending books and courses. Your job here is to
prioritize and give focus on what topics they are studying. There just too
many choices. Too many topics, too many resources, too many channels, too many
opinions to choose from. Set the topics yourself and guide them through what
they should study.

My summary: prepare everything so they can be the most productive (deliver
value to the company) in the work hours and guide them through what they
should study in more depth in the off-work hours.

~~~
vienna_sausage
Thanks for your reply soneca, I appreciate you taking the time to reply to me
and you've given some good advice that I'm going to have a think about.

I've tried to steer clear of giving much off the job learning as it should be
being handled by their degree provider and I didn't want to overload them, but
I'm going to start thinking about giving them a training backlog to fill in
some of the gaps.

I hope you're enjoying your first job as a developer. I've always enjoyed
working with people who've come from alternative routes into development.

