Very nicely written article. It is true that one could learn for free or perhaps for a relatively lower cost by taking courses from platforms such as freeCodeCamp, edX, Udemy, etc. This approach I would say is good for individuals that have some foundation already. From my personal experience, courses on these platforms are mostly crash courses with very little of depth. Again these courses could serve to introduce someone into the field, but in order to acquire a more rounded, indepth, and refined knowledge, one would have to go beyond by reading books. A CS degree from a good program even though it comes with cost, is still the best way to go in my opinion.