We've hired a bunch of fresh graduates from college for a software dev job. This could be hard to comprehend but let me try to put it in the best way possible. The part of the world where I'm from, we don't necessarily hire only CS folks for such job.
Most of our IT / Software Dev hires could be ranging from CS to Aeronautical to Mechanical Engineering students. All we look for is an engineering degree to validate analytical skills.
With that background, I've been assigned a couple of absolute beginners who I'd be working with to ship a feature in a __couple of months__.
While I strongly believe it's my responsibility to get junior devs on par in terms of knowledge & execution speed, I really don't have any previous experience working with absolute beginners who'd barely qualify as devs let alone junior devs. What best to do in this situation? Should I accept I suck at this and bail out for everybody's good? Is there anything I __can__ do, to comfortably work with beginners?
- Filter out those that don't ask the same things 2x - 3x.
- Those that ask things a lot and can't do much, assign them small tasks.
- Assign features and more important stuff to the more independent ones.
- Lessen helping everyone, but move to the "only bother me if you're stuck" mantra. Let them work more independently and use the online documentation to find something.
- Have a daily standup, so that everyone knows what they are doing. If they have questions, this is when it (from now on) should be requested.
- Make sure you have an alpha, beta and master environment. Be on top of everything as soon as it enters the beta environment. Don't let them change in production ( except a seperate branch for a bugfix). They develop on the alpha branch or a feature-branch.
- If someone can't develop or work independently, try to change them more to "testing".
- Use kanban / agile.
- Don't be afraid to filter people out, it happens that some beginners take a toll on the time of the team, because they develop errors / don't test code.
- Try to push the "don't commit, if it doesn't work" mantra.
==
I personally let them develop the entire time and when UX doesn't make sense or has not logical things that keep dragging on. I then spend an evening on fixing it as much as possible and explain the things i've done the day afterwards, without name calling.