The End of the Beginning

09 May 2025

The Beginning.

Upon first stepping into my first class of ICS 314 - Software Engineering, I did not know what to expect. Excited and anxious simultaneously, I knew that software engineering would be a long endeavor in practice. With a final project set to be due by the end of the semester, I was determined to devote my effort to gathering enough knowledge to reach that point. One of the first lessons I learned in software engineering was about functional programming. By using functions as first-class citizens, they can be passed as arguments, returned as values, and assigned to variables. Learning this concept broadened my views immediately as it greatly expanded the tools I had at my disposal. Although these topics were just programming techniques, I was made to think about the possibilities of every single tool at my disposal and to never discount any of them, as a finished puzzle is made of numerous pieces, each of them unique.

The Middle.

Learning functional programming broadened my toolset, but I was still missing half of the web project conditions. The matter of the User Interface (UI) decided how a project was going to look from the outside, a major part of the user experience. To handle this issue, User Interface Frameworks were taught to us for which we used in the creation of a few testing pages. Although just another expansion to the web development arsenal, learning these frameworks taught me the importance of presentation and how it affects the design and functionality of a project. Even small details should never be overlooked in the pursuit of the most wonderful products.

The End.

Going into the project with my team, I had doubts about finishing the entire project in the little time we had. Managing the time available was going to be a substantial concern for us. The concepts of Agile Project Management made us break the entire project down into manageable phases, which were then split up into many issues to be tackled. This iterative approach to managing projects made the process extremely smooth and efficient, with each team member knowing what to do at all times. As the semester was rounded off with the completion of the web project, this method of project management is something I will always bring with me as I continue my academic journey, even outside of software development. Now, with all of these tools I have gathered throughout the beginning, they will now accompany me to the end.

// The end of this path is just the beginning to another journey.