There are multiple ways how software engineers can achieve a successful career. Some can be early employees at Google while others can be a life-long employees of IBM. Some can build side projects while other can get equity. But there are only five common habits and traits:
- LEARN: Find balance between learning and doing. Have a solid knowledge of fundamentals either from college degrees or from educating yourself with books and online courses. Constantly apply your knowledge to practice.
- WORK: Find balance between productivity and rest. Consistency in productivity is better than burnout.
- CONTRIBUTE: Learn the business side of things. Produce highly valuable products which are useful for customers and beneficial for the business.
- INNOVATE: Invest in a forward-thinking technology that a reasonable person would expect to become more in demand and desirable over tie.
- THINK LONG-TERM: Treat others with respect, honestly and fairly. Think and act long-term. Contribute to open source or teach because it helps you and others.
It really helped when you said that a good software engineer is able to be open-minded when it comes to learning new stuff and being teachable. I will share this with a friend of mine who is currently looking for an engineer that can help him pick a system that will be able to assess their food products before selling them. You did a great job of explaining the traits that a good software engineer should have. Thanks!