Is there such a thing as good gatekeeping?
Make things as accessible as possible, but don't pretend hard things are easy
Here is a fact that has caused me some sleepless nights: Less than 1% of people who start the Cloud Resume Challenge finish it.
I say “less than 1%” because about 1-2% of the people who bother to tell me they are working on it eventually show up with a semi-finished project. The overall completion rate is probably lower.
That 1-2% of people, to be clear, are AWESOME. They are self-starters, systems thinkers. They will all be VPs of something in 10 years. And they come from every conceivable background from all over the world - stay-at-home single moms, plumbers, poker players, retail workers and dentists and delivery drivers and loggers (the lumberjack kind) and architects (the skyscraper kind) and engineers (the mining kind) and teachers and help deskers and 17-year-old high school dropouts. Outside of existing IT experience, there is no obvious background that predicts who is going to do well on this project.
And yet, overall, only about 1% of them do.
For a long time I was convinced that this was an enablement failure on my part. And it may well be. So I tried a bunch of things to give people better tools for completing the Cloud Resume Challenge. I wrote a guidebook. I wrote three guidebooks. I started a Discord server (it’s past 10,000 members now!) And last year, I started doing free monthly sprints, each with a cohort between 100 and 200 people.
The sprints included live office hours, weekly pace emails, community support, and as much additional help and guidance as I could figure out how to give without actually doing people’s work for them.
And the challenge completion rate for sprinters went all the way up to …. 2.4 percent. The rest just dropped out and ghosted us.
Again, those 2.4% of people are AWESOME. They are proactive communicators and they know how to learn. They will all be CTOs in 10 years. But … 2.4%? Out of 100 people who signed up and introduced themselves and planned out a month to do this in the company of other highly motivated individuals, 2 or 3 will finish the project?
What is going on here?
Now, in fairness, if all that mattered was increasing that completion rate, there are several things I could do.
I could promise rewards if you complete the project - for example, by referring champions to hiring managers in my personal network. I used to do this a bit, way back in the early days of the challenge, and still do it when I can, but it doesn’t scale.
I could create negative incentives for not completing the project - for example, charging a painful-ish fee to join the sprint that is refunded when you submit your project for code review. But I don’t want to put economic blockers in the way of people getting started on learning. Many sprinters are from developing countries and / or financially strapped as it is.
Either way, strengthening the extrinsic incentives for people to complete the project also increases the likelihood that they will take shortcuts, like copying someone else’s work, instead of really engaging with the learning on their own. And this would do much, much more harm than good.
But what most people ask for is that I make the project easier to complete - preferably by creating a video course that shows you exactly what code to type and what buttons to click in step-by-step order.
I am fairly confident that if I recorded such a course, three things would happen:
I could sell the course and make quite a bit of money.
The completion rate for the Cloud Resume Challenge would shoot up - maybe even past 50%!
The value of the challenge as a means of surfacing people who will make great cloud engineers would plummet, maybe even down close to zero. Noise would overwhelm the signal.
So the project stays challenging, and the completion rate hovers stubbornly in the single digits.
And intellectually that seems reasonable, but emotionally it bothers me a lot. Because isn’t that the textbook definition of gatekeeping? By creating and promoting a project so challenging that it turns off most of the beginners who attempt it, haven’t I thrown up unnecessary barriers in front of all kinds of people who may need more enablement, more support, more guidance, to succeed?
It’s entirely possible. But I’m not sure what to do about it.
I mean, the world is full of bootcamps and video courses and certifications that promise to hold your hand and spoon-feed you information and give you a step-by-step roadmap to the tech job of your dreams. That is not gatekeeping. But it also, in so many cases, doesn’t work.
Look, we are currently in the toughest job market for junior software engineers that I’ve personally seen. Maybe the toughest since the dot-com bust. It would be nice if we lived in a world where hiring managers were patient and trusting and ready to hold your hand. But we do not. We live in a world where hiring managers are fighting for every scrap of headcount they have. If I pretend that a hard thing (getting good enough at cloud that you build some relationships and create professional opportunities for yourself) is an easy thing (watch these videos, copy-and-paste your way through these tutorials), I will not sleep well.
Is there such a thing as good gatekeeping?
I am interested in your thoughts.
Quick followup on OSS drama
Thanks to all of you who had kind words to say about last week’s summary of the drama engulfing the open-source / “source-available” software world.
Quick recap: there is an open-source fork of Terraform called OpenTofu, Matt Asay published an article in InfoWorld accusing them of stealing Terraform’s source code for a new feature, Hashicorp followed up with a cease-and-desist letter, and it was all very nasty and petty.
At the end of that article I suggested three possibilities for how the drama could play out. It brings me great joy to say that what happened was precisely my Possibility A: OpenTofu released an outstanding source code origination document demonstrating how both Hashicorp and OpenTofu had derived their new code from existing MPL-licensed work in the codebase. Seriously, read that writeup. The technical details are one thing; what‘s truly remarkable is the explanation of how OpenTofu runs their project to make sure that every line of code they commit is legally unimpeachable as well. That document taught me a lot about what great OSS governance looks like.
They also released a redacted version of Hashicorp’s C&D letter, and I must say it’s a bit too convenient that Hashicorp sent that letter listing EXACTLY the same trumped-up concerns as the InfoWorld article, at more or less the exact same time as the article went live. It looks rather like Hashicorp’s lawyers fed the allegations to Matt Asay. So, as I hoped in my Possibility A, I’m also glad to see that Matt had the integrity to acknowledge his mistake and disclaim his article.
It may, of course, be possible that Hashicorp has won a larger victory by spewing FUD into the open-source ecosystem. But I’m heartened by a parallel event: the community’s outraged response to Redis, Ltd’s source-available relicensing and subsequent rebranding of Redis. Keep in mind that Redis, Ltd, the company, aren’t even the original creators of Redis, the project; they sort of annexed it like Alsace-Lorraine and are now acting like it’s their divine right to license it as they please. As long as the open-source community maintains the vindictive energy to back alternatives like Valkey, I think OSS is going to be just fine.
Cartoon of the day
This one made sense in my head.
I think the question is - what is the goal of the Challenge? Is it to complete the Challenge, or is it a means to become employed? I found the Challenge as a sys admin working to switch to cloud engineering. Working through the Challenge was really helpful in that regard - not only did it give me a path to learn without a lot of hand-holding, but it also gave me experience I could claim when applying for jobs. As it turned out, I was hired as a cloud engineer about halfway through working on the Challenge, and then my focus shifted to working on the problems of my employer and learning that way. I've always meant to go back and finish the Challenge, but frankly, it served it's purpose for me and hasn't been a priority. I still think it's an AMAZING resource, and I recommend it to anyone who will listen. But lack of completion, in my opinion, doesn't necessarily mean failure
I feel like being able to figure out how to do the things in the challenge with minimal instruction is necessary for being able to work in the cloud/devops space. It's entirely possible I'm not a representative sample here, but learning new tech on the job and applying it to a project is most of what the job entails, more than knowledge of any specific tech.