In my previous post, I explained what Software Engineering is. I’ve heard differing concepts on Software Engineering and many books make an attempt to define it. Now, I’d like to explain why it’s a worth while program of study for institutions around the world and for students considering it.
Why Software Engineering?
In general, software engineering continues to grow. As SaaS businesses continue to increase in revenues, IT companies continue to IPO and show impressive 100M run rates, software engineers will continue to have jobs and profit from large average revenues per employee (see Google’s ARPE). Software engineers are the architects of these complex systems and gain knowledge on the use cases required to sustain and modify these systems. As more businesses move more data into their public or private clouds, and reap the rewards of reduced complexity and mathematical models to manipulate and modify their data, software engineers will get hired and continue to make huge value adds to these systems. More simply, software engineers are the architects, maintainers, and feature developers of these systems and become critical to the businesses they serve.
Why not Computer Science?
I’ll make a brief counter argument to Computer Science. As I mentioned in my earlier post, software engineering is more applied than computer science as we generally are not as interested in purely theoretical solutions (I.e. think of AKS sorting networks). That’s not to say computer science is not a valid field to help build the new Internet economy, but software engineering might give you a better footing in building the software. I don’t know too many Computer Scientists who have taken a class on presenting to VCs or managing a software project and the various principles of management. Nor do I know many software engineers who are advanced in machine learning techniques and can follow some of the basic proofs. You could ultimately choose either of these fields and get a strong education but make sure you are aligned with the courses offered from your schools.
Why not nano-degrees?
Nano-degrees can help you get into programming and start finding a high paying job in a booming industry. However, it is still not software engineering or computer science. Both of those fields are rooted in mathematics and principles and although you’ll be learning to solve problems, you’ll eventually want to study some of these concepts in order to understand how the whole system works.
Benefits in General
Regardless, software engineering, computer science, and nano-degrees will provide you a job in high tech. If you are considering getting into this field, some of the benefits are:
- High Paying Jobs
- I know several people who’ve earned $130k within a year of graduating from university
- The average salaries at the top 5 companies in the Bay Area pay $120-$150k on average for software engineers
- You generally will get good benefits, which includes health care, 401k, vision, life, dental, and then possibly other benefits like free meals, free massages, free laundry, work from home, manage your own time, etc.
- Your job doesn’t necessarily need to constrict you to living in a particular area. If it works for you, you likely can work anywhere in the world you want as long as you have a good Internet connection.
- Not only will you get stock options or RSUs, your return on investment from a nano-degree, training program, or university will be paid off quickly within a maximum of a few years if you’re diligent. If you’re lucky to join a transformative company with an excellent management team and business plan, your stock options could be worth millions to hundreds of millions within a matter of years.
I hope you consider software engineering as a profession as we need more of them and the field is growing. I’m happy to help you if you have questions, as long as I can post and write up them here to help others as well.