Software Engineering II: Reflection

04 May 2024

Introduction

This semester, I enrolled in Software Engineering II (ICS 414), the second software engineering course offered at my university. The course was designed to simulate a real-world development environment by having students work in teams to build an application for an actual client. This experience emphasized the importance of effective communication and collaboration within a group setting. Adding to the challenge, no predefined group structure was provided—students were responsible for organizing their own teams. This included establishing accountability, scheduling regular meetings, and planning tasks throughout the semester.

Working with a Team

One of my main goals this semester was to strengthen my teamwork skills and become more confident in a leadership role. I’m proud to say that I made meaningful progress toward this goal and gained a deeper understanding of what it truly means to lead. Throughout the semester, I took initiative on tasks such as organizing code reviews, scheduling team meetings, and outlining development strategies. However, I gradually realized that leadership isn’t about doing everything yourself—it’s about supporting your team, empowering others, and fostering an environment where everyone can do their best work. While I still have room to grow in this area, this experience gave me a valuable introduction to the responsibilities and mindset of an effective leader.

Building up my “Toolbox”

In addition to taking Software Engineering I, I had the opportunity to intern at the W. M. Keck Observatory as an adaptive optics software engineering intern. During my time there, I began developing a refurbished GUI used to calibrate the adaptive optics bench for both telescopes. This project gave me valuable experience in back-end development, but offered limited exposure to front-end design—an equally important aspect of software engineering.

This semester, I took on a more front-end-focused role while working on my team’s application. I was responsible for designing and developing the landing page, about page, and most of the client-facing pages within the application. This experience gave me hands-on practice in building an engaging and visually appealing online environment. I also learned how to present information more effectively, exploring the best ways to visualize and structure data for users.

Overall, this semester helped me expand my skill set and round out my “toolbox” as a software engineer—better preparing me for future challenges and opportunities in the field.

Final Thoughts

I’m grateful for the challenges and successes I’ve experienced this semester, as they’ve helped me grow into a more capable leader and a well-rounded software engineer. I look forward to continuing to develop my leadership abilities and expanding my skill set—whether that journey continues within a university setting or out in the real world.