RoleModel Software Home    Services    People    Process        More About Us    

Our Apprenticeship Model

Since 1998, we’ve had a number of apprentices of various types. The order in which they’ve learned and who they’ve learned it from has changed, but the basic idea of have them do stuff, review/listen, and implore just-in-time-wisdom is the same. The role of eXtreme Programming in teaching them has had a very positive impact. We’ve done some things better with different apprentices, some things worse. But the results for those who’ve stayed motivated has been pretty consistent. There seems to be three phases of apprenticeship. Each takes 6-18 months depending on many variables. This seems to be generally consistent with what Dan Daniels (principal at a software company called Investor Tools) has experienced having apprenticed several developers from scratch over 14 years. For lack of better terms, we’ll categorize them as follows:

Apprentice – The person contributes very little from a perspective of being able to think like a developer. They are mostly absorbing like a sponge. By the end of the apprenticeship, they can do small, less challenging tasks competently without supervision.

Intern – The person starts to contribute and can be a minor part of a professional team. However, they need a lot of help because, although they can come up with their own approaches to a problem that seem smart to them, they are usually very naïve and frought with danger. By the end of this phase, they are less naïve and are competent at approaching a small set of problems on their own.

Resident – The person can be part of a professional team and start coming up with competent approaches to problems, but needs to be given a short leash before his work gets reviewed. By the end of this phase, they are capable of being a contributing developer of any team and may be able to lead simple projects.

In our experience, at the end of an internship, the developer is at least as competent (and usually much moreso) than a typical four-year college grad.

RoleModel has developed a “value rating” system for all of its employees and is adapting it to include apprentices. This value rating considers not just programming abilities, but also communication skills, business skills, marketability, leadership skills, and more. All of these skills are things that we work on during an apprenticeship. Moving from one phase to another will be based on value ratings, not time. So, cost of tuition, and eventual compensation, etc. would also be variable.

In our first 3. 5 years of apprenticeship, we did not make these phases discrete. Individuals have natural bents that will cause them to grow in these various skills at different paces. Therefore, we don't expect that every apprentices profile will be the same when they move from one phase to the other. However, we expect minimum ratings in each of the skills, and an overall rating that meets certain requirements before declaring an individual as having advanced from one phase to another. At the end of each quarter there will be an assessment, a corresponding certificate of achievement, and a decision point (both for RoleModel and the apprentice) with respect to continuing for another quarter.

Economic Model & Justification

When we first began the apprenticeship journey, we paid our apprentices a small amount for a little while ($6-10/hr) as they did things for us like system administration, research of technologies, answered the phone, etc. Eventually we moved them to a very small salary, and then added bonuses when they were able to do billable work. The reality is that we lost a significant amount of money (paid for more than we received) for the early phases of apprenticeship in some cases. So, we’re moving to a different economic model where these phases are explicit and people pay for the early phases on a quarterly basis. We believe it is clearly economically justifiable based on the value of the education they are receiving versus the value they are contributing.

Comparing the quality of education to other alternatives (colleges/universities, trade schools, professional training organizations), we believe we could clearly justify charging a lot more... at least as much as a college education. In the long run, we may. However, we are merely looking to recover our costs at this point, with the belief that there will be long term rewards for all involved. We will make an assessment of skills at the beginning of each quarter, and estimate the raw costs of training for that quarter. Then we will determine if there are ways we can recover some of that cost based on skills the apprentice brings to the table that we can gainfully use. We'll charge based on the net result. In the later stages of apprenticeship (internship and residency), the participant may actually receive a net income.

If we look at a typical model of the cost per six months of the status quo of “college followed by employment”, we see something like this:

* college costs from http://www. isac1. org/healthy/colcost. html

Compare this to our proposed model for apprenticeship (assuming 12 months per phase):

The idea here is that the apprentice has to pay us tuition to cover our costs. In some cases, we may be able to offset that tuition with odd jobs early on (sys admin, office duties, etc. ) and then more technical jobs later, until we can start billing clients for them. The number of billing opportunities would change as they gain skills. We’re bringing in real projects from non-profit organizations who can’t afford to pay market prices for the software they want (and otherwise, won’t get the software) to cut the earlier phase apprentices teeth on. Sooner or later, they’ll get involved in profitable projects with more demanding schedules.

Combining all of this data, below is our comparison of apprenticeship versus the traditional college route:

Based on our experience, the assumptions that justify this model are conservative, and we think there might actually be a wider gap than appears in this graph in favor of the apprenticeship model. We also believe there are a variety of trade-offs between going to college vs. apprenticeship that are not directly tied to economics but moreso related to moral and social implications (which favor apprenticeship even moreso).

Social and Moral Model & Justification

Although common, college is an artificial environment where social norms are different than anywhere else in society. In a typical college environment, the vast majority of people are roughly the same age, with many similar pressures, and an environment that caters to their fleshly desires in a variety of ways. They are graded on things they may or may not need to know (or agree with philosophically) by a bunch of people who rarely know them as individuals and do very little to balance the importance of the various categories of knowledge or the pace of learning. Most learning is done based on getting the right answers on predetermined problems while working alone. They are supposed to be getting a well-rounded education, but they learn very little about the realities of life and are often taught worldviews and philosophies that are questionable at best. On the other hand, there certainly are advantages to learning things in an academic environment, before the rubber meets the road.

Overall, a typical college student pays in time and money to get:

The real world has people of all ages in all stages of life. What they need to learn is typically tied to what they are trying to achieve. Worldviews can be debated and affect performance based on the truth they are built on. Many problems involve working with multiple people to get a solution and involve communication, technical, emotional, and other components that must be taken into account at the same time. Nothing prepares you for the real world like the real world. Any studying beyond what you need to get the job done is done on your own time.

Apprenticeship involves learning in the real world and an apprentice pays in time and money to get:

We'll write a lot more about this in the future, as well as add links to other useful resources

Are Others Adopting This Model?

Could others adopt this model? It seems ideal for a service based business like ours (writing software for others with needs). We see no reason why others couldn’t do the same, and we’ve considered franchising RoleModel in some way at times to serve other markets (both clients and potential apprentices). In a non-service based business, one could still use a similar model and might just pay (or charge) entry level people based on value and find smaller, less critical projects for them. The difference is that in our business, the training they would get would be more generic. Those going through our program would probably have more marketability due to the variety of projects we take on rather than business specific training one might get working in a product-focused business. However, we would expect that “technical training institutes/colleges” could adopt a similar model to RoleModel on a larger scale and compete with universities to supply corporations with entry level candidates.

Based on our experience and surveys done by our first apprentice, Nathaniel Talbott, developers who have gone through the apprenticeship route versus college are very employable. Most employers look for experience first, formal education second (if at all). Apprenticeship is about experience, and our customers can vouch for the quality of service they've received from our apprentices. Our clients observations about our apprentices has caused several of them to ask us "where did you find these guys?".

To me, the challenge of getting apprenticeship accepted is getting the realities of these models accepted by both those entering the workforce and those employing the workforce. The main hurdle for broader acceptance is visibility and additional data points that confirm this economic reality (as well as moral and social realities)… a few more pioneers and a bit more publicity.

It is not hard to convince people who have been paying attention that apprenticeship is a better model for entering the workforce. People on both sides (trying to enter the workforce and trying to hire) are bit by the harsh realities of the status quo regularly. They’ve got to get beyond the facts of the problem and see some more data on the facts of the solution.

How About Apprenticeship for Non-Software Developers?

There are many things related to running a custom software development business that do not require software development skills. Based on our experience with Software Apprenticeship, we are excited about adopting this model to other aspects of the business world. We've identified several types of apprenticeship/internships that we think could work at RoleModel. (See our main apprenticeship page). However, unlike the Software Development side, we don't have experience with these types of apprenticeships. Also we cannot offer the depth of knowledge and wisdom we can offer to those interested in Software Development. However, we can offer an excellent environment, the knowledge and wisdom we have, and the business relationships we can leverage to help get a motivated person some advantages that they might not get on their own in exchange for some services. We expect these types of apprenticeships to begin at the internship level, where the person is providing approximately as much service as they are costing, with opportunities for the intern to begin making a small income as they improve their skills.

Go Back

Copyright © 2002-03 by RoleModel Software, Inc. All rights reserved.