The article fails to mention that for many of these companies, selling software is not their business model. Their USP comes from the large piles of data they have, and the network effect of their product that ensures a lock in.
I'd be more interested in companies which sell software to end consumers/developers and open source it at the same time. Red Hat is one of the few which has done that successfully.
I just meant it as a suggestion to companies on behalf of the users of this site. They are free to ignore it. Those who do provide the extra info might stand to gain. Let's see.
The cloud providers are providing a lot of software as well: relational databases, other kinds of data stores, load balancers and so on. They also provide you an integrated ecosystem where these things work well together.
Correspondingly, you need far fewer engineers in your company to build and maintain custom software for such things. I am wondering whether in medium term - say the next 4 to 5 years - we are going to see an order of magnitude decrease in the number of jobs in this sector.
Most of those pieces of software can be configured as well (load balancing methods, DB parameters, etc).
I don't think we need less people, I think we need people to work differently. Also, an application needing of X amount of infrastructure persons will now need less than that, which frees resources to deploy more applications.
In a nutshell, I don't think we're going to lose jobs at all. I think the cloud is a fundamental pillar of the startup system, which is creating so many jobs that didn't exist before. Efficiency doesn't drive us to less jobs - it drives us to more jobs.
I thought developer tools would be the toughest to make money off. Developers always believe there is a free, open source alternative out there somewhere, and if not, someone's sure to start one soon.
All developers don't always pursue free tools; I suspect you can make a very nice living selling tools to a small percentage of developers.
Personally, I've paid money for the WebStorm IDE, the PyCharm IDE, Sublime, Dash, Paw, Balsamiq, and more. I've bought ready-made UI components, database drivers, etc., and I'm about to start shelling out $4,000+/year for a commercial Qt license even though I could probably get by with Qt's free LGPL version.
And that's just me as an individual; companies are even more willing to spend money on developer tools.
It's interesting that you as an individual would want to buy a $4,000/year Qt License. Are you trying to found a startup that uses it or do you have some other reason?
Yes, I am developing a product to sell, and I hope it will become a profitable venture. I would not pay for Qt's commercial license if it was just for hobby projects. (For clarity, it's not necessary to buy a commercial license for Qt just because I want to sell Qt-based products, I could do that under the terms of the free LGPL license, but there are a few nice extras that come with the commercial license and I consider them worth the expense.)
A bachelor's is the time to get a good understanding of your domain's fundamental principles, stuff that will stand you in good stead even 10 years from now. As a new college grad you will be tested on those concepts and not much else, esp. if your major is Computer Science.
I would look for extensive knowledge of data structures and algorithms, operating systems, networking and databases. If you are interested in a particular domain like machine learning or web development then it pays to know a bit about that as well.
More specifically for a job hunt, you should work your way through Cracking the Coding Interview, careercup.com and leetcode.com. These have questions marked out from companies like Google, Facebook, Amazon etc.