Thursday night I participated in a roundtable discussion at Dev Bootcamp about how to encourage a culture of learning in our engineering organizations. In attendance was a guest list of engineering managers from consulting firms, product-based startups, and the instructors/mentors at Dev Bootcamp.
To make mentorship work in our organizations, and hiring apprentices such as Boots (students of Dev Bootcamp), we must create a culture of “…accepting and bearing with incompetence… [one that is] welcoming of newcomers, in order to create a learning culture,” said David Hoover.
Dave previously helped lead a mentorship program at Chicago based consultancy Obtiva (acquired by Groupon), and helped grow the company from 4 to 50. Dave was a self-taught rubyist, who started working with the language in 2002, and wrote a book to help inspire other non-techies to embrace development called Apprenticeship Patterns. Now he’s taking Dev Bootcamp to Chicago, hoping to launch their new campus.
Creating a culture of learning
The dialogue particularly resonated with me as someone who has also been very autodidactic in my learning (it all started with Logo in first grade), and having recently interviewed and helped hire boots at Edutech startup Inigral. Inigral founder and Learn Capital Entrepreneur Michael Staton helped facilitate the event.
David points out that in his experience engineering, much of the knowledge is passed down from experienced engineers to apprentices not through wikis or documentation, but through “war stories” or through “the history of learning over time.” Practices like a “lunch and learn,” which his company called Geekfest, are invaluable. At Obtiva, every Tuesday they’d cater lunch and have one member of the engineering team present a talk to the team. And it ended up being one of the most valuable practices of their organization.
Always be learning (and hiring)
Another point David made was the need for a distribution of talent. If you bring an apprentice engineer into an organization full of super-experienced engineers, it’s hard not to demoralize or discourage them. Compounded by the alpha-geek “know it all” attitude that sometimes permeates company culture in the bay area and beyond, it sets organizations up for failure when they try to experiment with mentorship.
At Inigral, we helped successfully transition an apprentice engineer who worked in our marketing department. We decided that every new apprentice should have a mentor assigned to him, a practice that seemed widely popular at our discussion Thursday night. I wrote a syllabus for our apprentice engineer to follow early on and later when he wasn’t pairing with us.
The importance of creating an “always be learning” culture can only be built into an organization that believes and acts on it from the top down. Practices like asking obvious questions at an engineering meeting on purpose, even if you know the answer, can help make everyone feel comfortable to ask the questions that they might have been too afraid to ask. Or stepping out of the flow of a day by reading a chapter of a book publically at your desk. Only when the full team embraces learning and provides the right atmosphere for it can it be successful.
Encourage your team to champion new things
And finally, we discussed how to nurture people’s desire to learn. To take that extra time after work and on the weekend to research and play with something new. Of course, awarding people monetarily, or at least with very open praise can be effective at recognizing people who go above and beyond. Even things as simple as a weekly email from the product team that lists what engineer implemented what feature can help get people excited. Also Hackathons can be key in getting everyone to step outside their daily routine.
At Inigral we hosted many Hackathons, and I’ve seen this be an effective strategy at many of the startups I’ve worked on. The only rule should be: you can’t work on anything you ordinarily would. Hackathons can get an entire team to stay late, burn the midnight oil, and produce amazing results. And more than that, they can inspire people to take home a new interest.
At Pivotal Labs, an apprentice who was being trained was asked to champion a then little known technology, MongoDB. Mongo has since become widely popular in the NoSQL and Rails communities, and the apprentice soon became the domain expert on the topic, able to teach senior engineers about it.
Mentorship and learning are something I’m passionate about as someone who has learned much of my professional knowledge outside of academia. I feel the best way to learn is from other engineers, and by doing. After all, we aren’t just writing code as an academic exercise- we’re building complex systems with lots of moving parts, and changing them constantly to solve a problem. The academic (data structures, theory of computation, etc) part certainly helps, but it’s not even the most fundamental part of developing software for most web engineers. Let’s all build our organizations to always be hiring and kick the air out of the “know it all” tires.