Developed for Life

12 May 2021

After a few months of studying software engineering, I have learned several skills that I feel will be essential to my career as a software developer. While my recent studies have mostly focused on web application development, many of the topics can be applied to other computer science fields and some can be applied to day-to-day life as well. The technical topics of software engineering such as UI frameworks and design patterns are extremely interesting. However, I think there is a lot of value in the less technical topics of ethics and effective communication in software engineering.

Talk it Out

One of the most important skills you can learn in any field of study is effective communication. In almost anything that you do, communication will be a requirement. If you are new to a community, knowing where, when, and how to ask questions is one of the easiest ways to contribute. Unfortunately, many people do not know this skill. Eric Raymond’s How To Ask Questions The Smart Way provides a comprehensive guide on how to ask questions for software engineering. However, his guidance can apply in many situations. Knowing how to effectively communicate is a simple, yet extremely important skill that anyone should know.

Keep it Clean

Once you know how to communicate and you are contributing to different communities, is it important to make you are making a positive impact. In the constantly growing field of technology and development, software engineering is becoming increasingly popular both commercially and independently. As the worldwide community continues to depend on technology, software engineers have the ability to create a significant positive or negative impact on society. For this reason, the ACM Code of Ethics aimed to protect and regulate software engineers and their projects. However, there are many ways that a person can impact the world besides computing technology. Similarly, it is important to ensure that we maintain ethical awareness in anything we do. By understanding proper professional conduct, we can ensure that we are making a positive contribution to any community we participate in.

Not the End

Effective communication and proper ethical behavior are two important software engineering topics that I could easily apply to my daily life. However, there are countless other software engineering skills, such as project management, that can be applied outside of computing technology. I hope to continue learning software engineering skills to better my career and myself as a person.