I have been a programmer for over 15 years and a rock climber for over 20. During that time I have seen a lot of changes in both. In some ways, the changes are very similar.
Both programming and rock climbing have taken off over the past couple of decades. When I started, rock climbing was this fringe extreme sport. If you weren’t a participant, you didn’t really know or hear much about it. Now it is so popular, almost every town has a climbing gym. There are mainstream movies about it. It’s even become an Olympic sport. Just in the 5 years since I have moved out to Colorado, I have noticed the crags consistently becoming more and more crowded.
Programming is similar. We used to think of programmers as geeks sitting alone in a dark room somewhere surrounded by empty Mountain Dew bottles. It was more of a hobby or passion than a career. As people have realized that you can make good money writing code and it gives you lots of flexibility in terms of working arrangements, it has soared in popularity. It doesn’t hurt that there is a really high demand in industry for more programmers. Just like climbing gyms, coding camps have started popping up everywhere to meet the demand.
With respect to both, there has been a lot of pushback against these newcomers. A lot of it is tribalism and fear of change. To be honest there is probably also some fear of changing demographics. White supremacy is everywhere. There’s probably also some fear of diluting the market and becoming a commodity at least in the programming world. But there are some legitimate criticisms of newcomers.
Lots of enthusiasm, but not experience
In the case of both climbing and programming, there’s a lot to learn. And much of the things that there are to learn are best learned by doing. There are some concepts you just can’t get until you actually experience them. While these newcomers do learn some things in their climbing gyms and coding camps, they lack context. In a climbing gym, you learn the basic mechanics of climbing and moving over the rock but you don’t learn important skills like route-finding or mitigating rockfall hazard. Similarly in a coding camp you learn how to write code, but it’s hard to prepare someone for inheriting a large poorly-written legacy project, dealing with difficult coworkers, or making a case to management as to why you need to refactor some big ball of mud.
Lack of experience in both climbing and programming can be a safety concern. In climbing it’s pretty obvious that a mistake can be deadly. One wrongly tied knot is all it takes. In programming, the danger is a little less obvious but still there. If you are doing web stuff and make a mistake, it could easily become a security concern. That may not be life and death, but if you are a LabVIEW programmer, you might be controlling some dangerous equipment. Pressure vessels and moving parts could easily kill someone. Now in any of these situations, anyone can make a mistake, but lack of experience makes it more likely.
A lot of people blame climbing gyms and coding camps for this flood of inexperienced newcomers. Regardless of how you feel about the newcomers themselves or their source, they aren’t going anywhere. Blaming others isn’t productive and does nothing to solve the problem. What we need to do is embrace that these new people are here. We need to give them the tools they need to succeed. It’s on us to mentor them and coach them and help them learn what they couldn’t get in the gym or coding camp.