A Journeyman or a Master?

I had the opportunity to do my internship at LiquaDry, a fast growing food ingredient company that makes barley grass powder that go into products like Green Magma.  It was a pretty random place to work, but gave me great insights on what it is like to work at a fast growing (non-tech) company.

I finished my assignment faster than expected and the next assignment coming down the pipe ended up being much smaller than anyone anticipated.  With several weeks of the summer still available, I ended up creating a dashboard to track some of their production metrics.  As I worked through it, I tried to recruit anyone I could (to no avail) to hope on and take it over.  “90% of what I am doing, anyone can do.  They just need to have  some interest,” I would say.  “The other 10% I have already finished…and if anything else comes up you can contract me later on.”  They weren’t opposed to having me do future work for them, but I never really did find someone to continue development on what I started.  Even though I am confident that someone else could have done a lot of my work, I never really got to test that belief out.

I had to opportunity to talk with Ralph Yarro at ThinkAtomic this past week as well as Steve (can’t remember his last name) about a lot of the ventures they are working on.  Steve has a software background and we hit it off right away, probably because our different experiences have led use to so many of the same conclusions.  One of the things that ThinkAtomic does is hire kids right out of high school and teaches them to code on the job.  Steve described it as similar to electricians going from journeyman to apprentice to master.  Steve said he believes he could teach up to 10 people and is working to hire more people.  “I just need them to want to program,” he told me.

One of my concerns with this approach was that most people I know who have tried to skip college never really learn the advanced topics and therefore never become masters.  Steve agreed with me, but was able to identify some people that had made the full advancement.  I didn’t realize this at the time, but my old officemate, now Founder of Saltstack, Tom Hatch is probably one of the best examples of people successfully doing this.

While not always the solution for every job, a single master programmer with a teacher’s heart can create a solid development team from people who only have interest.  In the current market of scarce developer talent, maybe it’s time to make your own talent.

This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to A Journeyman or a Master?

  1. Dave says:

    I totally agree with the apprenticeship theory. I think they had it right in the olden days where people just started working with what they wanted to do. So much of the time we spend in college is on things that will never benefit us later on in life. The only problem is if you don’t go to college than you don’t have access to the jobs you want. I seriously think that college is only good to get you in the door, and maybe with a little extra education.


    • ricochet2200 says:

      An interesting comment. I was really going at it from can employers hire and expect coders to progress all the way to the top? You took the employee side.

      I wonder if more employers were willing to hire those who skipped college if your statement has as much weight. No one ever looks at my undergrad GPA anymore, college helps you get your first job and slow becomes less of a factor after that. At least that is how it played out for me.


  2. Did they ask you to take on the dashboard project? It seems like it would have been helpful to the company, it’s too bad they didn’t pursue it. Interesting idea about training high schoolers to code, too. Why not- if they want to learn it, right?


    • ricochet2200 says:

      The dashboard ended up in a stable state and they are using what is there. I don’t think they currently have any plans to expand or replace it, but they have talked about eventually getting something.


  3. I think the apprenticeship model should work for various skill sets but difficult to pull off with programming. It seems to be that there is a high variance in skill levels and to my understanding there is not a lot of mobilty in skill levels. You either get it or you don’t. This training model may be good for some things, but when you need difficult things programmed don’t you just need talent?


    • ricochet2200 says:

      BYU’s biggest weeder class for CS is 240. When I took it the professor acknowledged it as a class with one of the highest failure rates. He went on to say,

      “Don’t worry if you fail this class once or even twice, but if you fail it 3, 4, or 5 times that’s when I feel like it is my responsibility as someone who cares for you to lovingly let you know that this isn’t for you, before the world does it harshly.”

      This professor clearly believes that there are people that aren’t made for programming, I think he is probably right. It is clear how these people get filtered out in collect, but I don’t know if/how that would happen in the apprenticeship model.

      Peopleware (a really good book) found that variance in skill levels among programmers within an organization to be 1-10x. Your best is 10x your worst. They went on to compare programmers across companies which also varied 10x. Even among the people who “get it” the variance is extreme, but I think this may be an orthogonal issue to apprenticeship…maybe not?

      I think this model only works when you have a master than can program the hard stuff himself, because yeah, “you just need talent”. Most of the time even the hard stuff has some not so hard stuff mixed in that could be carefully farmed out.

      I’m not sure if I addressed any of your points…hope it was interesting anyway.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s