Armando Pantoja, Senior Software Engineer
Team Lead, AAA Auto Club South
Software engineers are a pivotal part of any business enterprise. Without these individuals, it would make it difficult to try and keep your website code up-to-date or your operations running smoothly. But, many people aren't aware of what makes these individuals who they are. What defines a software engineer and makes them special? Here is my list of three things that make a "Rock Star" Engineer
Software changes tend to be quite simple and quick in the very beginning of a project. As time progresses, things change and they become far more complicated and labor-intensive. While this can happen for any number of reasons, it often stems from complexity. With more and more moving parts working together to make the software work and maintain your current state, there is an increased likelihood that you will end up with more bugs, longer testing times and higher build times to name a few. That's all before you even start looking into poorly written code, the pressure of the daily grind and a whole host of other problems.
Many assume that the best way to fix the problem is to throw even more code at it in the hopes that will solve the problem. Unfortunately, that isn't the case. It isn't going to work now, nor is it going to work anytime soon. You need to spend more time trying to find a simpler solution with the least amount of code possible. Simple is always the best option.
At some point in time, all software engineers have been put in the deep end so to speak. You are stuck trying to absorb the maximum amount of information possible while doing the right thing for all parties involved. Unfortunately, your lack of experience and the surmounting pressure make it difficult to be able to produce the quality software you desire. You are bound to make a lot of mistakes along the way, but with the proper guidance and support, you will be fine.
Down the line, you will find yourself looking back at your work and wondering why you didn't do things differently. It's normal to feel this way. That's just a sign that you have evolved and matured. It's now that you recognize that these are flaws in yourself as a software engineer. You can simply move forward and work on writing even better codes for the future.
Everyone gets to the point where they think they have mastered the language or framework. They start producing software that reinvents the wheel and contains all sorts of codes because they feel that they can continue doing it better. This self-denial tells you that it's okay that you didn't try to learn something new.
Framework and languages end up changing from one minute to the next. If the code wasn't written well at the time, the individual has the option of refactoring it down the line and eliminating the technical debt. It isn't always about just the poorly written code.
Individuals who have been writing code for quite some time should spend some time looking back at how things were in the beginning. It's the drive to be able to find the best solution out there that makes most do the things they love.