There's Nothing Soft About Software Engineering

18 Dec 2019

A Stepping Stone in My Career

Man, has it been a semester with this class in my schedule. Yet, despite the courseload, ICS 314 has been one of the few classes where I strived to do my very best and learn the concepts. I finally started to see what I wanted to do in my career. Considering the fact that I didn’t have an answer to “What do you want o do/be when you graduate from college?” earleir this year, this class has been miraculous on a lot of aspects of my life.

The Basics, and then Some

We primarily focused on the design and creation of web applications (which personally was a blessing for me as it strengthened my desire to pursue this line of career in the future). Regardless, these web applications gave us the opportunity to learn the foundations of what it’s like in the world of a software engineer or developer.

Coding Standards are key

One of the most valuable things software engineering has taught me is that collaboration and communication is key – not just in projects, but in life as well. You can’t finish a high-quality product without Coding Standards, which allow you to collaborate with your peers on the same level of understanding. This uniform level of understanding makes group projects and collaborative efforts so much more simpler on your part, and you don’t have to stress over thinking that your teammate doesn’t know what’s going on.

Open up with Open Source Software Development

Open Source Software Development is also another key in software engineering, as it allows for easier access to code and inspirations thereof, thus inciting better collaboration practices with your peers on any project. GitHub, for example, is a perfect example of Open Source software development. Accessibility is crucial in any group setting, as you need your peers to be able to access what you’re working on and vice versa, creating grounds for better brainstorming.

Agile Project Management is the Honestly The Best

Lastly, even with all the open collaboration and communication, software developers need a plan of action. They need to set milestones of their goals, allocate the different jobs based on peer preference and skill, manage their time wisely and efficiently to produce the highest quality product possible. This is where Agile Methodology comes in – it allows you to create achievable goals (i.e. Milestones) for you and your peers to keep track of, driven by the creation of issues that need to be resolved in order to form the structure and scheduling of your software engineering project.

Personally, I think this is probably one of the most important things we’ve learned this entire semester, as it not only applies to web development or software engineering alone. At my previous internship at Caesars, the team I worked with also used Agile Methodology, and they were an eCommerce design/production team (who also worked closely with developers). This method of project management is a perfect way to assign and keep track of issues that need to be done, rank the most important issues, keep track of milestones to see how you’re progressing – overall, Agile Project Management keeps your project running smoothly and effectively.

Together, You Can Be The Very Best

With this being the very last essay of the semester (for ICS 314), I can proudly say that this has been one of my favorite classes to take. You learn so much, not just about technical skills, but also a lot about the “soft” skills that really define you as a better software engineer. The skills and concepts I learned are things I can easily apply to outside of the class – in other classes, future jobs, and really in all aspects of my upcoming life.