Graduating to work...
A long time ago in a galaxy far far away... I graduated into my first commercial business role as a developer. At the time I was left to my own devices and remember being bemused as the ‘Roll-Up’ key made the page go down on a cranky old AS/400 terminal (not quite what I had in mind given Visual Basic 5 had just come out and I'd spent all summer learning desktop development!). It wasn't very inspiring no matter how nice and helpful everyone else was... I always felt like a burden. It made me wonder how I would have liked to be inducted…Since then I’ve been in the fortunate position several times in my career where I have brought in graduates and been able to shape their initial experiences. This post is to give anyone in this amazing position ideas on how to keep them busy with good stuff while they learn to fly.
1. Building (or updating) an induction pack
Allow them to be creative and form a template for an induction pack. Ideas for content would be team fun facts, roles & responsibilities, ceremonies, product overview, useful documents and acronyms.
2. Create a backlog
To help build understanding of backlogs/work items prepare some epics and stories. Add basic acceptance criteria that demonstrates understanding by populating the induction pack! This is something you would preferably do with the team. Here are a few ideas I've come up with...First week – find desk, setup machine, find mug and make some tea, eat biscuits with a team member, find the fire exit, flush toilet, setup a Trello board.Teams – find out about the team, roles, who does what and any rituals or secret squirrel lunchtime events they might get an invite for.Agile – Scrum, XP, Lean, Kanban, story mapping/writing, INVEST, GWT, estimation, TDD/BDD and finishing - not starting work.Training & Progression – I created a few dummy scenarios for C#/MVC/SQL. As I had a grad BA and Dev I got them to build stuff together. The BA could act as a PO and QA with the developer building stuff and testing together. I also included ideas for books and good training sites to help get them on their way.
3. Create a physical board and visualise
Build a Kanban board and let them decide on entry criteria, agreed team norms, and the time for their daily stand-up. As the guys work through the initial stories, build more stories with them each day based. Let them choose where they want to go next. As the weeks pass these guys build their own stuff and keep it going with less support.
4. Run some interactive training sessions with agile games
For this I also included some of the team members which sometimes gives everyone a refresher. Agile, Scrum, Estimating, TDD/BDD and Story writing are some good starting points. Also, running a team reset can actually be a great way for the team to refresh its culture!
I've really enjoyed seeing people progress, and making time to pair up to do a bit of code, write scripts or invent new courses makes it even more rewarding. Just today I ran a session where I build a tennis game from tests, pass through magic of cucumber, turn it into a WebAPI and slap a bit of Angular on the top. It certainly rolled the years back... (well not too far, I couldn't wait to leave the mainframe world!)
It just keeps on giving…
I’ve had some great feedback from this whenever I’ve done it. Each day brings something new and it doesn’t take 10 minutes to build some small stories each day with the guys. They often take it way further than I was expecting which is always very fulfilling. As they get more confident and get involved in the real stuff, there is always the bonus of a living induction pack for anyone joining the team!