Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Adding Newbies
Why you want beginners
funtional diversity - background
randomness is good - when solving tough problems
designing an application is more than just writing the code
perspectives vs huristic (where you come from and how you view things)
one person has one perspective
a group of people with the same training will have a similar perspective
a group of people with differing training with come up with different solutions to the same problem
Why beginners?
you want novel problem solvers from different areas of expertise
they are unencumbered by expert opinions
How can you find them?
selection bias -
* similarity(someone like you)
* availablity(people closest to me are the easiest to get)
* appearance(teachers like students that look smart, juries prefer ppl that look truthful)
Well rounded team not an expert team
Hungry Academy
Cant truly understand something until you can teach it.
differentiated instruction
* choose your own adventure programs - no cirriculum can apply to everyone
* know where your newbie will fit
* sometimes force them to do something they're bad at
* the worse thing that can happen is they don't want to pay attention to you
Don't abandon people that are doing poorly
What do I want them to learn? -> How do I teach them that?
similar to What should I build? -> How should I build it?
Work in small modules
* Not a 9 week plan, 9 1-week plans
6 facets of understanding
In practice
Autonomy - let them have ownership over the projects they're working on
Mastery - incentivize by challenge - you want to see and track growth
Purpose - make it meaningful
Don't let your jr. devs become miltons
Take the extra time to teach them and not just doing it themselves
you'll work better together if you like eachother
have a common goal but have individual autonomy
Consistency- don't bring on jr devs if you don't have someone available to train them
(have sr devs volunteer at local teaching events)
Take Aways
Each novice needs to have a mentor
Take nothing for granted - set expectations early
Design a pairing schedule
All code should be reviewed via pull requests (positive and negative feedback)
Set dedicated learning time with self-chosen objectives during the work day
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment