Over the past four months, I’ve been learning a lot about software engineering through a vast range of different topics. There’s two main topics that has really resonated with me which are agile project management and UI frameworks. UI frameworks showed me that there’s more to web application development than just the backend rendering the webpage and sending the HTML. Agile project management has showed me how to work with a group of people professionally rather than just collaborating willy nilly.
When I first started working with user interfaces I wasn’t a fan because it was mostly just HTML and CSS which I’ve never liked as I’m not a design person at all. However after learning and using Semantic UI more I’ve come to really like using UI frameworks because it just makes my applications look really good without having to do almost any CSS. After using vanilla Semantic UI for a bit, I transitioned to learning React JS along with the Semantic UI package for it and I really enjoyed learning React it made everything so much easier, in my opinion. I liked how React split the different parts of the HTML page into components and it was able to render new components on the fly without having to send the whole HTML page to the user. After learning React I can finally make modern web applications that don’t need to be refreshed every time you do something like web applications back from the early 2000’s.
Ever since I first started learning software engineering back in high school I knew what Git was and how it allowed me to collaborate with other developers through online repositories like GitHub. However while just collaborating through GitHub there was never really any direction we just pushed code to the main branch with no tasks, just whatever we felt like working on. I started using Git more while being apart of my high school’s robotics team we started keeping track of tasks, but not through GitHub issues only through daily announcements. After this past month with using a style of agile project management called issue driven project management there was a clear focus that we were striving for and the tasks were split into smaller sub task that were achievable in a small time frame and all those tasks would combine to complete the focus for the week.
Overall these past four months have taught me a lot about the software engineering process which I will take with me for the rest of my life. I can’t wait to start applying everything I learned to old projects, my high school’s robotics team that I help mentor, and future projects.