A Sensible Programmer has the Heart of an Engineer

02 Sep 2021

Software Engineers are Practical and Productive

In Computer Science, many people learn to write programs. But to be able to develop software in a practical manner is what I believe to be Software Engineering. There exist many examples of code online and in textbooks that are specifically written to demonstrate theoretical concepts. Many introductory courses use these textbook examples because they are proven and there is a lot of documentation that supports them. However, theory, while important, cannot make up for practical experience. On the job, a graduate must make connections between concepts from multiple courses they have taken. A graduate will need to be able to research on their own without guidance. A graduate is also likely to encounter new problems and must find the answer in a timely fashion. For all of these reasons, Software Engineering is a key component of any Computer Science major’s education. Even if a graduate does not go into Software Development as a profession, the skills and habits they learn through Software Engineering will be important for the rest of their career.

Software Development is Something I’d Like to Do

Software Engineering is valuable to me because when I complete my education (projected deadline: 2024), I want to develop my own programs and collaborate with others. I am interested in data analytics and bioinformatics and so will be using tools developed by other programmers. However, I also want to understand the code behind the tools I use so that I can perform a more accurate analysis. If the tool is open source software, I want to be able to modify the code where necessary.

The Opportunities for Software Engineers are Skyrocketing

The future of Software Engineering is very promising. Beyond Application Programming, there are many avenues in which a Software Engineer can enter, including System Administration, Technology Analysis, and Information Security. There is a global shift towards online transactions, online education and an ever increasing amount of Big Data to be analyzed. So, the job opportunities for a Software Engineer or someone with Software Engineering skills is always increasing as well.