02/08/2022
Bootcamps vs Apprenticeships
If you’ve recently taken a look at the careers page for any ex-startup, whether in Tel Aviv, New York, LA, SF, London, or otherwise, you’ll notice that the majority have permanent postings for engineers - whether DevOps, FullStack, or Backend. This, coupled with the fact that these types of roles tend to offer handsome salaries, tells you something… namely, there is enormous demand for quality engineers, but insufficient supply!
Enter the ‘bootcamps’ and ‘crash courses’ for the relevant professions, many of which have been around for years and who pump out 100s or 1000s of engineers a year. Its plain to see that if they did a good enough job, the aforementioned roles would have quickly been filled… but they haven't been. So what's going on?!
My take on the situation is that to become an engineer isn't something you can learn in a 16 week crash course. Indeed, Malcolm Gladwells book, ‘Outliers’, popularised the notion that it takes approximately 10,000 hours to master complex skills. That's a little closer to 3 years than 3 months, but feel free to check my math!
The second major consideration is that once on the job, engineers will be expected to self-teach - whether in new systems, new languages, or otherwise. That's why reputable university computer science programs cover multiple languages, and they expect their students to self-teach themselves. Why? Because part of the process of learning isn't just the digestion of information, but also the development of self confidence in the area of deconstruction, analysis, and resolution of complex problems.
The third major consideration is that to teach someone a skill, one often has to begin by building sufficient contextfor the information presented to resonate fully. That takes time… very often much longer than a few weeks! For instance, when learning about TCP/IP, its difficult to digest the information and see its application - its usually only mych later, when one has significant experience in the field, that one begins to truly put this information to work. Same with the periodic table of elements, anatomy charts, design patterns, etc… one needs sufficient context to properly understand what one is looking at.
Finally, one of the most critical factors in being an engineer, is understanding how to appropriately troubleshoot a problem. For instance, a senior DevOps engineer will need to understand networking (switches, routers, firewalls, etc), DNS, linux servers and their services, virtualisation, containerisation, etc, and how to troubleshoot each of these disciplines in order to isolate and resolve a problem. Not having a deep enough understanding in any one of these areas may result in being unable to solve a production problem, or worse… one could compound the problem by breaking other systems whilst attempting to solve the original problem.
So where are we going with all of this? Well, if one looks at plumbers, electricians, doctors, lawyers, accountants, etc, we see that apprenticeship programs were and remain a very effective approach to educating on the job - i.e. a transactional relationship, to some extent, where the student pays for their training by working in the relevant profession at a discount, while receiving expert instruction from those with considerable experience in their respective fields. Students observe the instructor completing a task, then try it for themselves whilst receiving constructive criticism, and the cycle repeats until they understand both the HOW/WHAT, and the WHY.
Enter Apprentech.io: We aim to be an apprenticeship program for budding technologists wishing to gain deep insights across multiple disciplines, whilst offering our learners the opportunity to join our own growing startups once they have qualified
For more information, please visit: https://apprentech.io