Being a beginner is hard in general, and being a beginner programmer is even harder. Not only are you straining your mental muscles to wrap your head around new abstract ways of thinking, but you are also adapting to new environments, new coworkers, sometimes even a new city. The great thing about programming is that you are surrounded by people who are also working things out for the first time: new problems, new technologies, and new ideas.
Code school is just the start of your programming education. Doctors, plumbers, and electricians don’t allow students fresh out of school to begin plying their trade on critical systems, so it’s crazy to think that a programmer could do the same (from Robert Martin, The Clean Coder: A Code of Conduct for Professional Programmers). Dev Bootcamp co-founder Shereef Bishay said in an interview with USA Today that his school is more of an apprenticeship program than an educational institution, but really your 90-day apprenticeship starts after code school. It begins when you land your first job in the real world of software development.
How to be an awesome programming apprentice
Being an extraordinary apprentice means asking lots of questions. Keep track of all the questions you ask, and present them to your manager at your three-month review. It will show how far you’ve come and will leave a breadcrumb trail that other juniors can follow.
Another way you can be an awesome apprentice is by taking the hardest ticket from the pile and pairing with another engineer to solve it. Picking something you don’t know how to do will stretch your skills and connect you with mentors.
Finally, you can be a great apprentice by not being afraid to say something stupid (from Michael Lopp, Managing Humans: Biting and Humorous Tales of a Software Engineering Manager). Not socially-unacceptable stupid… that should be avoided whenever possible. Saying something stupid means taking a chance on sharing your half-baked idea based on half-understanding in a meeting. If your coworkers are awesome like mine, they will gently correct your misapprehension and pretend not to see how red your ears get when you’re embarrassed. What you’ll demonstrate through your fumblings is a desire to make connections and work out the complexity you are learning.
My first job in tech has been an apprenticeship on many levels. I’ve adapted to the frequent rate of change and have started from scratch on each team I have worked with. I’m getting good at being an apprentice. I got there by getting comfortable with being uncomfortable. When you land your first job after code school, be a good apprentice – that means reaching for the information that will help your understanding and allowing yourself the time to get there.