This post will be extremely short and to the point (but hope that valuable for your career at the same time).
If I have to think about only 10 tips that will help you to become a better engineer, here is my list:
- Always be a nice person, and always try to help other engineers to grow, whenever you find the opportunity. Collaboration, kindness, knowledge sharing, and caring about others are the most precious things in this career IMHO.
- Study a lot, and make sure you dominate the fundamentals of software engineering as much as possible. No matter how much you learn, it will never be enough. You will never know everything. You will always think there are things you don’t know (and you are damn right about it). But: the more you know about things, the more chances of succeeding you’ll have, and you will make much less mistakes in practice. So keep learning, reading books, reading blogs, etc…
- Understand the problem you aim to solve in depth, before even thinking about a solution or jumping to implement a single line of code.
- Never favor time over quality. Always try to follow the best practices.
- Understand the concept of “less is more” (from the architect Mies van der Rohe). It applies to everything (even in life).
- Try to have a keen eye to details (isn’t this conflicting with less is more? not really, you can still do very simple things, but caring about the details). I also love another phrase from that fabulous architect (Mies van der Rohe): “God is in the details”.
- Learn to delegate. Yes, you might be able to do all the work by yourself, but that doesn’t scale, specially on big projects.
- Once you master a topic (which can only be achieved by repeating practical experiences many times — theory is not enough), get out of your comfort zone as soon as possible, and try to master other topics or take over new challenges. The more variety of things you learn (eg: many different programming languages, infra topics, security topics, management topics, etc…) the more tools you will have to be a top engineer.
- Write, write, write. Yes, writing is a huge part of being an engineer. You need to communicate your ideas clearly (and nowadays big part of communication happens in slack channels, in RFCs, in code review discussions, in documents, etc…). The better you write, the better people will understand your ideas. Try to keep your ideas concise and straight to the point.
- The last one, but not less important than the rest, don’t forget you are also a human being. Make sure you take vacations from time to time and disconnect from everything else. Make sure you are having proper rest. Try to find the right balance between the professional life and the personal one (otherwise you will burnout).
What do you think? Did I miss something important? In such case don’t hesitate to drop a comment 🙂
Thanks for reading!
Disclaimer: This post represents just my thoughts and my personal opinion about this subject. I’m not talking on behalf of any company I work, or I’ve worked for, nor giving real examples from neither of them.