Software Engineering

15 Dec 2021

I learned that software engineering is dificult. There are many moving parts that have to be accounted for. Every time you think you know something, you are reminded you know nothing… In software engineering, you need to be constantly learning.

I learned the grind that software engineers have to endure. I just have to take a moment to appreciate my own resilience as I closed out my software development course with the black screen of death. But that problem is just a representation of what software engineering is. You run into problems, but you find a way to make it work. Asking questions is huge in software engineering. There is an impressively large community of people on the internet who are willing to help, so long as you can provide a smart question. I learned that computer science questions aren’t the same as regular questions. When asking a question in the computer science world, the goal should be to perfectly explain your situation, so that a responder can put themselves in the exact position you are in. Smart questions lead to specific, pertinent answers.

I had to learn how to use a new development environment, and I had to learn to get used to it quick. Along with that, I was introduced to stricter coding standards than I have before. ESLint became my best friend once I figured out how to make it actually work. Coding is mentally taxing. It requires perfect precision because one mistake means a broken code. At first I looked at coding standards as another obstacle, but especially after working with a group, I can see their importance. You have to pay attention to the coding standards because it helps the organization and it helps the debugging. In a group, communication becomes very important. You have to agree on naming conventions, or everyone will make their own names for variables, and there will be no uniformity in the code. It is also important to always stay up to date with the master branch and contribute to it as soon as you have an acceptable working branch. The little things help to prevent large headaches in the future.

I still have a lot to learn as a software engineer. I think there are some areas where I need to focus on the fundamentals. I learned that coding is just as much psychological as it is technical. I need to remind myself that everything is a learning experience, and that more times than not, I will fail. Still, everyday is an opportunity to get better and expand my skills as a coder.