Editor’s Note: BostInno has officially launched its careers platform. To introduce the platform we are running a week long series about hiring in Boston authored by some of Boston’s finest. Hiring in the Hub will shine a light on what it’s like to actually grow your career here in Boston.

Many of the students graduating from college today do not have the practical experience to work as a software developer or designer at a startup, where there isn’t time to train and they’ll be expected to perform in full capacity on day one. Even many larger firms cannot afford to spend the extended time training new hires in basic skills they’ll need to perform their job. Additionally, many developers and designers already working in the field have only a subset of the skills needed to fully perform in these jobs.

We’ve run an internal apprentice program at thoughtbot, one of the leading Ruby on Rails development firms, for about two years. We’ve also run design and development workshops for about four years. We’ve used both of these to train designers and developers in the modern software development tools and practices they need to perform in today’s market.

Over the years, we’ve dramatically changed the way we train and hire new developers and designers. This year, we opened up this innovative training program to employers all over the world. We call this new program apprentice.io.

With the experience we’ve had running our prior internal apprenticeship program and this new, expanded program, we’re getting good at many of the subtle details of successfully training developers and designers quickly. Here are five of the things we’ve learned:

1. Switch projects, teams, and mentors each month

We’ve found that starting with a new mentor, team, and project allows an apprentice to get out of the psychological barrier of continually being the same person they were on day one. Starting something new and switching contexts allows the apprentice to learn more quickly.

2. Open, honest communication between Mentor and Apprentice is key

Without open communication between mentor and apprentice, the real hurdles blocking the apprentice cannot be overcome. The mentor should be able to provide complete assessments and guidance to their apprentice along the way.

This honest communication must go both ways. It is the apprentice’s responsibility to speak openly and honestly about what they need from their mentor and what he or she could be doing better.

3. Putting apprentices in teaching situations helps them learn

Once an apprentice is comfortable and making progress, putting them in a teaching role is an effective mechanism to increase the pace at which they are learning even further.

While not to be overdone, as it’s important that mentors and apprentices are the ones who primarily work together, more experienced apprentices can eventually provide some mentoring/teaching to newer apprentices. We also provide apprentices with the opportunity to assist in teaching our training courses.

4. Amazing visual design skills can’t really be taught in three months

Unfortunately, we have been unsuccessful in being able to significantly improve a designer’s visual design skills to the point where we would hire them in three months. However, we are able to help them refine a solid base of visual design ability and teach them the web-development side of design (HTML and CSS, Rails, git, etc).

A designer with great visual design skills has some innate ability, and much more than 3 months of training. We haven’t found a solution to expediting that process yet.

5. Pairing is the most effective way we have of teaching a lot very quickly

When all is said and done, pairing is the most effective mechanism we have for teaching, and is a big reason why we are able to train people to the point where we would hire them in three months. For both designers and developers, working closely, one-on-one, for an extended period of time on real, shipping software with a more experienced developer or designer is the most effective teaching mechanism we have.

More about apprentice.io

Last year, we realized that 75% of the new team members we had hired that year had started as apprentices. We realized that we had something that was working well and we wanted to figure out how to bring it to more people to take advantage of.

So this year we radically expanded the apprenticeship program and opened it up for any company that would like to hire the apprentices.

Over 150 developers and designers have applied to apprentice.io and 17 have been accepted. The majority left their previous jobs to apprentice with us and we’re currently booked through September, with some apprentices scheduled for 2013. We pay the apprentices a salary while they learn, as they work on real production systems, but we do not bill clients for their time.

When you sign up on the apprentice.io website as an employer you get immediate access to the bios of all of the current apprentices and the others that we already have scheduled for this year.

We are not a recruiting company and don’t want to act like one. As an employer, you contact and interact with the apprentices directly. You receive weekly updates from apprentices on what they’re doing and learning.