Online coding classes are all the rage this year. In lieu of attending a university for 4 years to earn a degree in order to become a software developer, you can now do the same in 35 hours of an online course. And rightfully so, as it seems more and more likely that the machines will take over sometime in the near future. Eventually right? Given enough time and advancement, it's bound to happen. So it's a good bet that a good portion of the next generation of programmer's will come from the coding marketplaces that are sprouting up online. The question that arises of course is, is the lack of overall technical knowledge detrimental to the next few decades of technological advancement.
A trivial thought some might say. But not so fast naysayers. It might not be noticeable now, as folks who have never taken a class in software development are in hour 29 or their 30 hour Python course, but if these indeed are the next group of individuals that will be maintaining and progressing our technology infrastructure in the near future, then we should be keeping a closer eye on the results.
Everyone can code! sounds like an amazing presidential campaign slogan to run under, but it's a very surface level look at something that not everyone can do well. If everyone can code, then why not have everyone cook, heal and teach as well. These are all worthy endeavors still needed in society that are no better or worse than writing software.
Let's go back to college for a minute
Computer Science degrees are difficult to attain. At least, they were a decade ago. That's as much as I can vouch for. They are rife with technology of the past, philosophical dilemmas and advanced Calculus formulas. Years upon years of this confers a degree in Computer Science. Then you spend a decade or so working on login pages and SQL reports, until you leave the office world for good to do your own thing.
And while many people prefer to forego the dredges of the past and linear algebra equations in order to get down to the nitty gritty of for loops and conditional statements, it is these complex elements that make software developers into well rounded scientists who use computers as their mediums to create. A class in the ethics of writing software can leave a life time impression on a programmer and guide them throughout their careers. And this element is difficult to achieve when taken off the campus.
Yes, online courses can teach the basics of any language. But you can also learn this and much more if you just Google a few keywords and spend a few hours in front of a computer. But these concepts won't result in experience and strengthen the logical components of your brain required to build software. Making a webpage with a centered image is much different than "Make me a payment management system using Stripe". The latter being more in line with what a programmer will face in the business world.
I've met people spending months taking courses in Python, yet they cannot grasp the overall idea of Object Oriented programming or Polymorphism or data structures such as Stacks and Queues. Nor do I know where that knowledge will be learned as these online courses rarely cover them. Not to blame the online courses in any way. They are a decent way to introduce someone to the idea of software. But by no means do I feel that once you complete the 30 hour course, you are a full fledged programmer.
That luxury is for the rare few that decide to take it off the safely of the online school. The daring individual that install way too many IDE's and breaks way too many installs in order to achieve something that they don't know if possible or not. And that has little to do with online course work.
If you're taking an online coding course currently, and find that it is incredibly easy to do, then that's because it probably is. Challenges are the only way to grow. For evidence, take a look at the human body. If you work out for 5 minutes a day and it is incredibly easy, then you probably won't notice much of a difference to your overall health. If you're exhausted at the end of your workout however, and can barely move, then your body will make the necessary changes to grow and become stronger. Even after a decade of programming, it still presents a challenge to me and my colleagues. Which is good, because there's so much more to do and to learn. So many more data structures and algorithms to unfold and to use.
The future of technology is in the hands of these current young people, so giving them the most valuable guidance and tools are a must. False promises of 6 figure jobs for learning HTML and CSS are not going to be what creates a better world in the next few decades.