3 ms·
Ask HN: Guidance on leading junior development team
I've been brought in as the lead developer at a small startup (< 10 people) currently delivering 100% dev for hire. I've got some prior management experience but found looking after and training junior staff a much bigger challenge that I was expecting.
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 < 2 years development experience with no degree.
A lot of my time is spent helping them get started with tasks, answering questions, fixing issues and checking what they've done works and isn't a bug ridden mess. I'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.
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'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.
I want to make sure I'm giving them the best opportunities I can and try hard to make myself available. I hold semi regular 1-1'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've agreed to deliver to our customers, I know this is the wrong attitude to have.
I'm incredibly conscious that the stage they're at with their career is formative so I want to make sure they're developing good working practices and a solid understanding of how to build software.
What can I do better to help my team grow and develop? Does my attitude need a re-think?
- soneca 8y agoI 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 8y agoThanks 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.