For professions to be viable, there has to be a large dip between people starting out and people who had mastered it already. Otherwise there is no real incentive for people to start out in the first place; noone will pay a lot of money and invest years of their time if anyone with a few weeks of education can do essentially 99% of what they can.<p>This brings me to the point of software development. Software development is aweful as a choice of a profession if you work for someone else, and not for yourself, due to constantly increasing competition (every kid needs to learn how to code). Most work doesn&#x27;t need a real understanding of the subject matter (algorithms, protocols) and can be performed using frameworks and libraries that &quot;encapsulate&quot; those concepts. I foresee something alike the split of nurses and nurseaides happening to software developers. There&#x27;ll be a few software developers capable of understanding computing from A to Z who will write the libraries and the tools, and everybody else will be a consumer of these tools writing apps for the end users.<p>The only real rewarding part of software development is being able to design your own product and bring it to life, and reap whatever rewards the market allows you.