Wow Was I not Ready for the Real World

08 Dec 2022

Reflections

Some say that the prerequisite to success is pain, struggle, and turbulation. While I understood the sentiment at the time, it’s difficult to truly understand what this means until you finally put yourself out there and apply yourself to something that truly challenges you. This Fall 2022 semester has taught me that and the class that did so the most was ICS 414, Software Engineering II. Unlike its predecesor in ICS 314, Software Engineering, I did not have my hand held whilst I go through learning new languages. The entire semester was effectively a practical project where I had been assigned to a randomly generated team. Our team was then given a task that was a mystery until the second week of the semester. However, that task would prove to be a trial that would eventually be overcome by myself and my teammates.

Reality Check

In ICS 314, we also had a group project. In fact, we had much less time to get it conceptualized, storyboarded, put together, and ultimately deployed in that class than we did in this class. We even had a smaller group back then. So then why is it that this project felt so much more difficult? I believe the reason was that the final project with ICS 314 was something we were being trained and taught to do since the very first class. Example webpages throughout all the weeks along with the WODS (workouts of the day) to truly challenge us mentally and forced us to put on our A-Game. A consistently sharpened sword is much more effective than that which has been reinforced only the day prior to purchase. In this class, there was no such set up. Our semester long project proved to require more than simple webbpages. While we would use our knowledge from that class for this project, what was more important was the human aspect. The team. Reality began to sink in. This kind of environment was something I would need to familiarize myself with going into the future. This cycle of developer-client meetings to discuss progress and receive feedback along with all other factors that are made relevant by this concept of “reality” prove that a software engineering is about more than just “writing code”. It’s about writing code, communicating with others clearly, meeting deadlines for said code, pacing yourself so as to maximize work efficacy, and so on.

Developing a Foundation for the Future

Over this semester my understanding of Software Engineering has grown massively. Further even, did my understanding did my working with a team increase. I understand its scope of activity and thereby, the massive responsibility each software engineer must take upon themselves when they enter this field. Being lazy and unprofessional could lead to entire systems going down, affecting an entire userbase. I’ve also learned how to properly conduct and manage myself in Software Engineering projects. It’s easy to goof around and even seem slack with group projects among friends. However, you’re not always going to be friends with your teammates. A team has a shared goal and must work together to accomplish that goal. Software engineering projects are not easy. I don’t think any project of any type is easy. Project management is essential for all projects. So is time. This semester’s, and therefore, this course’s approach to the semester has helped me develop proper time management skills that can be applied to anything. As a Senior in College, it’s been growing ever more apparent that the real world is a large, scary, and unknown place for most graduates. This class and this project has really shown me that I’m not yet ready for the ‘real world’. However, that’s something I also wouldn’t have known until it was too late. Something that I am forever grateful for having realized. Let this be a warning yet also a reminder. The prerequisite to success is pain, struggle, and turbulation. The real world doesn’t hold back its punches so hope to find your reality check soon.