Just an idea….some frontal lobe thought as I type actually....
So you have Sitecore, and you can’t find enough good Sitecore people to do the potential work coming in. Unfortunately, your problem isn’t unique. In fact your problem really isn’t truly a Sitecore problem. The problem stems from not enough technology workers in general to fill all the demand.
The shortage in general STEM talent. Last year according to US News, computer science majors who graduated with a four year degree accounted for an approximate pool of 40,000 candidates. There were roughly four million jobs vacancies to fill with those 40,000 folks. Those who are graduating with STEM skills are commanding higher salaries because of the shortage.
Not my numbers, but for the sake of this article, I’ll use them cause I'm looking this stuff up as I'm typing this out.
At the July 9th meeting for the Milwaukee Sitecore User Group, John West talked to us about his background and his journey up to his current position at Sitecore. I don’t remember if it came up in a conversation I was having with John or someone else, but the comment (paraphrased based on memory) came out:
“Talent moving from one partner to another really doesn’t improve the community or Sitecore”
This is true. I made a change within the last year, it’s been a good move for my and hopefully for my company – but it’s done nothing for Sitecore directly.
We hire people from other companies all the time, other companies hire people away from us. The companies will have positive or negative results for this – but again it does nothing for Sitecore.
So, we are we continuing to solve an issue by doing the same things over and over again?
We either pilfer folks from other companies (which will continue) and we’ll try to race to hire those students from universities and waste tons of money trying to recruit and retain these individuals. We do things like nap pods, provide laundry services, free catered lunch, and other incentives. While these perks can be nice – most students want to help create intriguing systems.
So – look at baseball and hockey. These leagues have what are called farm systems. If you are unfamiliar with the concept -> https://en.wikipedia.org/wiki/Farm_team. This allows for the growth of your own talent.
We’ve been so reliant on universities to produce talent, we’ve neglected a whole potential process that may ease the issue.
To be really honest, I have nothing against universities and recent graduates. I think Software Engineering fundamentals need to be taught and practices followed in order to create consistent, reproducible success in delivering solutions.
Most companies don’t apply consistent, fundamental software practices. In fact when I started out – I just needed to know the language semantics for the systems I was working on. Certain topologies and methodologies used today didn’t even have a name.
So with a development farm system for your company, why could you not take anyone whom would be a good cultural fit for your organization (btw…a heartbeat does not constitute a cultural fit) who has aptitude to learn beyond semantics of a system’s language.
Don’t mistake a farm system just to be a series of college interns that do unrelated crap work. Think of a farm system for your company to be a proving ground for anyone that can meet the criteria whom you want to culturally hire. Young, old, enabled, disabled, tall, short, funny, serious, etc. (you get the picture) Train them semantically if you need to, but give them simple technical assignments. The basis of the farm system is real experience, not to get your remedial tasks complete. In baseball – this is player development.
“Coder development” is just the beginning of the development of career capital. Career capital is what makes us marketable to those who want more than a heartbeat.
So I’m thinking at this point you are skeptical and likely have two burning questions:
1. WTF is this going to cost?
Yeah, don’t think you can get away with this at bargain basement prices. Training people whom are green at any STEM discipline is not easy by any means and requires investment. However following an approach of being able to profit from your farm system (again thinking of minor league baseball and hockey playing in smaller towns, smaller arenas, but still charging admission and filling seats) and managing costs (lower salaries, structured part time employment, etc.).
2. How is success measured?
Like any other metric, it has a baseline and desired achievement level. So let’s say our metric is successful “graduates” of the farm program. So people in versus people completing the requirements for full-time “major league” positions. You can start looking at investment costs per graduate and how that applies to performance after graduation and compare that with those who don’t graduate and the costs lost in the investment. Obviously high graduation rates/low failure rates along with high efficiencies with folks after graduation is a winner here.
So I’ve discussed in a previous post what things you can do to become a Sitecore developer. So let’s talk about here about how you can safely try out a farm program.
First, start small. You don’t need a 12 person farm program to start out. Start out with no more than 3. Invest in those 3 people see where it goes and understand the success and failure characteristics to your metric.
Second, before bringing in anyone to the program – determine the minimal viable skill set (both technical of soft skill) for someone to join your program. Also determine the stepping stones in your program and determine what success means at each tier.
Third, you better have some good people that not only can work but can teach. Whether you take utilization away from your own staff of hire a specific technical trainer/mentor – the focus is you need some really good people to make some really great people. Include some Sitecore training in this as well if you are training for Sitecore.
Fourth, actively go out and find people to meet your criteria. Now, we talked about interns – but unless your criteria is specific it doesn’t need to be a series of interns. This is where you may need to break free of the typical thought of hierarchy in hiring and look for specific people in not so likely places.
I guess the final ingredient is some patience. Rome wasn’t created in a day, and creating Sitecore developers isn’t going to happen in a day as well.
Some frontal lobe thought to a common problem.
And remember – Just an idea as I'm thinking and typing… :)