As we all know being a software engineer is not an easy thing. You need to know a lot and constantly improve yourself. But, during my career I found what differ good and great software engineers, and here are recommendations on how to become one:
𝟭. 𝗠𝗮𝘀𝘁𝗲𝗿 𝗼𝗻𝗲 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗹𝗮𝗻𝗴𝘂𝗮𝗴𝗲 𝗶𝗻 𝗱𝗲𝗽𝘁𝗵
Take one programming language and go in-depth with it. Learn everything you can and be a master of it. Some good languages you can select today are Python, Java, C#, and Rust, ...
𝟮. 𝗟𝗲𝗮𝗿𝗻 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗰𝗼𝗻𝗰𝗲𝗽𝘁𝘀
When you master a programming language, its syntax, semantics, and constructs, the next thing is to learn different software engineering concepts, such as:
- Software architecture
- Software design
- Design patterns
- Clean code
- SOLID, DRY, KISS, and YAGNI principles
𝟯. 𝗟𝗲𝗮𝗿𝗻 𝘁𝗵𝗲 𝗰𝗼𝗺𝗽𝗹𝗲𝘁𝗲 𝗦𝗗𝗟𝗖 𝗽𝗿𝗼𝗰𝗲𝘀𝘀
Try to understand the complete software development process, from requirements to deployment. Learn about Agile methodologies, DevOps, and Quality assurance.
And try to work on different projects, on more projects you work you will learn new stuff and grow.
𝟰. 𝗕𝗲 𝗮 𝗽𝗿𝗼𝗱𝘂𝗰𝘁-𝗺𝗶𝗻𝗱𝗲𝗱 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿
When working on your project, don't settle just with specs and jump to implement it. Think about other ideas and approach your product manager with them. Try to understand the complete system, but also how business works. Be an end-to-end product feature owner.
𝟱. 𝗜𝗺𝗽𝗿𝗼𝘃𝗲 𝘆𝗼𝘂𝗿 𝗰𝗼𝗺𝗺𝘂𝗻𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝘀𝗼𝗳𝘁-𝘀𝗸𝗶𝗹𝗹𝘀
Be respectful of others, communicate clearly, and be humble. Being kind has no financial cost, but its effects are immeasurable.
Try pair/mob programming. Talk with people outside engineering, grab a coffee, or lunch, or do a hallway chat with them.
𝟲. 𝗟𝗲𝗮𝗿𝗻 𝗶𝗻𝘁𝗲𝗻𝘁𝗶𝗼𝗻𝗮𝗹𝗹𝘆
We need to learn, but the trick is when and how. Don't just learn things, because this is inefficient. We need to learn intentionally, just before we need it and this will make the biggest impact.
𝟳. 𝗪𝗼𝗿𝗸 𝘄𝗶𝘁𝗵 𝘀𝗼𝗺𝗲𝗼𝗻𝗲 𝗺𝗼𝗿𝗲 𝗲𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝗱
The fastest way to progress in your career is to find a mentor. He can help you find your gaps and show you some new opportunities. A mentor can be found inside an organization or outside (check specialized services).
𝟴. 𝗨𝘀𝗲 𝗴𝗼𝗼𝗱 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗽𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀
Learn and follow good practices', such as:
- Using version control
- Write your tests properly (check the test pyramid)
- Learn how to refactor
- Learn TDD
- Code reviews
- DevOps mindset
Also, learn your IDE very well, and all the important shortcuts you need. Debugger too.
Dr. Milan Milanović
Thanks 👍
ReplyDelete