Developing a Software Engineering Foundation

19 Jan 2022

As described in An engineer’s path to learning JS, I’ve learned how to code during various projects. Once I got involved in more complex web applications, like the HICSS CMS, I’ve noticed that I actually enjoy software development more than engineering, and that I wanted to shift my career focus more and more towards software engineering. I’ve successfully done so over the last few years.

Besides the listed projects, see projects, I worked as a fullstack engineer for a small software startup company developing a smart city platform. Besides the exposure to a fantastic tech stack, automation pipelines, scrum project management, contributing to a production system, and experienced team members, I was able to vastly advance my technical programming and concept development skills. Working with atomic code changes and the four-eye principle (code review) not only provided constant feedback on my own work, but also taught me to think more critically when evaluating other people’s code. Constructive discussions on pull requests always lead to a better understanding amongst team members and better software.

One of my first tasks on the project was to develop a generic auditing service that could be used to capture a variety of business-level actions in the system, e.g. “User X added a new address with data …. “, “Staff Y updated User X’s contact info from … to …”, “User X redeemed a coupon for …”, etc. I really enjoyed the challenge of developing a concept that would

It was a great challenge, introduction to the project domain, and intro to the various components of the tech stack such as the particular relation DB that was used, designing REST APIs, and event streaming. The combination of concept development, technical implementation, and ever evolving tools and paradigms motivate me to pursue a career in software engineering.

This semester, I hope to go more in-depth on Javascript prototypes, Javascript build tools, like Webpack, and state management in React. Otherwise, it’ll be fun to also just improve fluency and skills through WODs and a fun class project.