Three Most Important Things for Software Engineering
It's intern interview season, and we are in high gear interviewing for next summer. A question that gets asked a lot is, how does one become successful as an intern/new employee. I'm sure most of the time, the interviewing candidate is expecting some technical answer. Something to the tune of "You must show the willingness to learn X or Y"....
You know, I've been asking myself the same question. What makes for a good engineer? The following three things are what I came up with.
- A good engineer is healthy
This one is obvious, almost too obvious. You can't do work if you're always sick. So to be a good engineer, first and foremost is to take care of your health. Do that exercise, and hit the gym. In my days I've seen plenty of people not take care of themselves and prioritize work over all else. The same story plays out where eventually all that focus and negligence ends up manifesting as either physical or mental health issues. When someone is sick, they end up spending more time at the hospitals or in bed instead of working.
Being sick also takes away from creative flow and logical thinking. They say when a person is sick, all they think about is getting better. So on top of missing work, your mental focus is compromised.
- A good engineer continuously learns
Software is a fast evolving field, especially if you're doing web development. In this field, it is either adapt to the new technologies or get left behind. I find that a lot of places are not against learning opportunities, but the employee has to be the one taking the initiative. Most of the time, you're given a project or a task, and that's it. Management thinks in terms of tasks/schedules... Very rarely will your boss come to you with learning opportunities. Thus to be successful, always make time to learn and look for opportunities to learn. Without new ideas and knowledge, a person or even a company risks getting deprecated by time.
- A good engineer is consistent.
This one made it on the list, not because I think it's a good idea, but because I see too often it being the cause of failure. Once in a while, there would be some very promising individuals with great ideas, they would work really hard but for one reason or another fizzles out. This could be either they ran out of passion or is unable to recover from a setback.
Progress is made by not just great ideas, but also the consistency to deliver. Nothing good is ever made without effort, and the key to this item is to keep putting in the effort. There are always going to be set backs. The important thing is that for every one step we take backward, two steps must be made to forward.
Conclusion
At this point, you probably figured out that the three things listed above isn't applicable to just software engineering. It's applicable to life in general. To be honest, I don't consider myself to be good engineer, but if I keep doing those three things... I might just become one. Who knows, maybe I will be something more.
Back to the interns/new hires.. I don't know what kind of answer they are expecting. How is becoming a successful engineer different than being successful at anything else?