Setup: you’ve got a fresh bootcamp grad assigned to you. Approximately 20% of their time will be spent developing general skills; you won’t be responsible for this. The other 80% they’re your assistant and will do whatever you assign them, within reason. Asking them to write documentation is okay, asking them to fetch coffee is not. Assume they’re generally motivated and will invest time in learning new topics, and that you’ll be able to sanity-check anything they do.
Some of things I’d do:
- Write technical documentation. Given a code or feature, map out what uses it and why. “Could you make a graphviz diagram of this call graph?”
- Research and report on code. “Profile these specs and report on why they’re slow.” “I found this weird function, could you look into when and why we added it?” “Determine if this is dead code and if this route is actually used for anything in production.”
- Design and run experiments. “We’re not sure whether to we should use Flow or Typescript for our Node servers. Please write this microservice in both languages and report on your experiences.”
- Write quality-of-life code that isn’t necessary but makes everybody happier. “We have a general engineering calendar. Could you write a job that imports all of our personal calendars into it?” “Please write a slack integration that automatically updates our slack status whenever we’re on vacation or onsite with a client.”
What would you do?
((My motivation for asking this is there’s an oversupply of junior devs in Chicago right now. People don’t like hiring them as engineers because they can’t just jump in and be productive (see mythical man month), so I’ve been curious if they’d be more productive (and get experience) as paraprogrammers of sorts.))