Apprenticeship
We have high expectations for our design, technical, and execution abilities, as do our clients. Over the years, we've met potential team members who we would like to work with but would not make it through our normal interview process where the expectation is to bill on client work on day one.
In 2011, we created a full-time, paid apprentice position so that we could bring these people onto our team and mentor them to the point where they could be promoted to a full developer or designer.
We have worked with over 50 apprentices, most of whom have been promoted to the designer or developer role at thoughtbot. The majority of people who join us as an apprentice leave a job where they are already working as a developer or designer.
It is a full-time position at thoughtbot and includes benefits. We work hard to ensure that we only accept people that we believe will be successful as an apprentice and will be promoted to designer or developer.
Anyone can apply to apprentice at thoughtbot by applying on our Jobs page. Our interview process is the same for apprentices and full designers and developers.
Timeline and Promotion
While an apprentice, people work alongside thoughtbot designers and developers on client projects, and are assigned a mentor who is their primary instructor. We do not bill for apprentice time spent on client projects.
They may also work on special projects designed to give additional time and training in the areas they most need.
We provide apprentices with a guide during onboarding that helps them get comfortable and have the best apprenticeship possible.
Each month, they move to another mentor and different team. This rotation enhances the learning process by exposing them to new projects and new people, but also by allowing them to reapply what they've learned in a new context.
Most people are in an apprentice position for three months, and we strive for that time frame. At the conclusion of three months, if they are ready, the apprentice is promoted to a designer or developer at thoughtbot. If three months is not necessary, the can also be promoted sooner.
Occasionally, some people need some additional time to complete their apprenticeship. If we are confident they will be successful eventually, we continue, setting expectations along the way.
Rarely, like any role at any company, people are not successful in the position and we decide to part ways.
Compensation
Apprentices are paid W-2 employees of thoughtbot. It is a full position at thoughtbot that includes salary, health insurance, and other benefits.
Who is it for?
A person that possesses our desired character strengths, as also defined in the Playbook: good communicator, demonstrates initiative, motivated, enthusiastic, focused, composed, curious, optimistic, displays grit, emotionally intelligent, and able to feel gratitude.
In addition, a base level of technical experience in their relevant area, and our assessment that they can likely achieve our expected skill level in 3 months.
Web Developers
Web developers are promoted from an apprenticeship when they are very comfortable building and shipping Rails & JavaScript applications, doing fully test-driven development along the way.
We find that well-qualified web developer apprentices will be:
- A web developer experienced in frameworks other than Rails, or
- An less-experienced developer who has built and deployed at least one Rails app and are also practicing test-driven development, or
- A developer comfortable with Rails, but needing to improve on best-practices like test-driven development or code quality.
Designers
Designers are promoted from an apprenticeship when they are very comfortable doing great product design and user experience, creating great visual design, then implementing their designs with HTML and CSS (Sass).
We find that well-qualified design apprentices will:
- Have a solid visual design foundation and have designed for the web, but are not as comfortable implementing their own work in HTML and Sass, or
- Have a solid visual design foundation and are comfortable implementing your own work in HTML and Sass, but do not have much experience designing products.
iOS Developers
iOS developers are promoted from apprentice when they are comfortable building and shipping iOS applications, in Swift, writing tests along the way.
We find that well-qualified iOS developer apprentices will have built and shipped at least one iOS app in either Objective-C or Swift.
More information
We've written blog posts about our apprentice program.