What to Expect When You're Software Engineering

13 Dec 2020

Quote of the Experience

I have many favorite quotes that motivate me to do better. Throughout my fourth year at University of Hawai’i and enduring my first Software Engineering class, I have been posting quotes that I have collected over time. For my own personal experience for Software Engineering I will make it a bit personal using my own words:

Software Engineering is hard, it challenges your brain and your ability to grow. When you feel like your brain wants to close off because the information is so new and challenging, keep going. Keep going, asking questions and never doubt yourself. The people you work with are just as new to this as you are or they once were in the place you are so keep going and never give up. Nothing hard is easy to obtain. Basically, hustle and remember to take breaks.

growth = vulnerability + uncomfort + self-improvement;

What is Software Engineering?

Software Engineering is the part of technology that no average person will ever understand. It’s the messy stuff hidden behind the pretty parts of developing software. Now there are easier ways to create software like using WordPress, but that is not for developers. What you do as a software engineer should make you start from scratch where you learn to create something cool. As I went along the journey of Software Engineering, it was complicated because of the stress I experienced but at the end its so rewarding. That is the beauty of software engineering, I can say that I did THAT at the end of my developments. Throughout any introductions to software engineering, I have a few software engineering musts that any novice developer should take the time to master. Here is a list.

  1. Functional Programming: Underscore
  2. Coding Standards: ESLint
  3. Agile Project Management: Issue Driven Project Management

Utilize Functional Programming with Underscore

Functional Programming is an extremely important way to develop software because it makes development easy but purely using functions to create software. Its the opposite of object oriented. Functional Programming in JavaScript takes functions as values, the functions can be arguments to other functions and the functions return value of functions. Its a more concise way to program and in my opinion, much easier when you use the Underscore Library. I will be using Underscore in all of my programs for now on.

ADD IN CODE

Add ESLint to Your Coding Standards

If you have not read it yet, please read my Coding Standards essay that details this is depth because it is a fundamental implementation in anyones programming journey. ESLint is an extremely helpful and reliable tool that increase readibility of programs and saves programmers time when fixing tedious mistakes like forgetting to implement an important part to the program. I maybe have missed a couple semicolons by which I would have never noticed if ESLint was not installed. Coding Standards are important as a software engineer because it increases my resume. I will use these tools past my time in ICS 314 because it makes me a better programmer. Having these standards will take a programmer from being mediocre to proficient because the code is up to a standard. The execution of the code is clean, instead of random indentations or misaligned lines of code and this makes me more credible software developer.

Manage Your Project Through an Issue Driven Method

I just so happened to be blessed with the most hard working teammates for my most recent project, but I have to give partial credit to the methodology behind Issue Driven Project Management. The project we created was very challenging because it was complex. Using the issues in GitHub to assign each memember an equal number of tasks to finish the project was the key to our success. We all met our deadlines for each milestone we had. The issues clearly stated the changes that needed to be made and we finished our program in time. I like using this style of project management because its like setting little goals and reflects that making software is a marathon, not a sprint. So, be methodical, think clearly and set realistic goals to finish by a set date.

Conclusion

Software Engineering is my thing. I have grown so much over the semester in Software Engineering and I am so intrigued by the topics we learned. Theres so much more to it that I left out and I am excited to dig deeper as I continue this journey.