๐๐ผ๐ ๐ง๐ผ ๐๐ฒ๐ฐ๐ผ๐บ๐ฒ ๐ ๐๐ฟ๐ฒ๐ฎ๐ ๐ฆ๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ?
As we all know, being a software engineer is a challenging thing. You need to see a lot and constantly improve yourself. But, during my career, I found what differ excellent 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; the more projects you work on, the more you will learn new stuff and grow.
๐ฐ. ๐๐ฒ ๐ฎ ๐ฝ๐ฟ๐ผ๐ฑ๐๐ฐ๐-๐บ๐ถ๐ป๐ฑ๐ฒ๐ฑ ๐ฒ๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ
When working on your project, don't settle just with specs; 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.
๐ฒ. ๐๐ฒ๐ฎ๐ฟ๐ป ๐ถ๐ป๐๐ฒ๐ป๐๐ถ๐ผ๐ป๐ฎ๐น๐น๐
We need to learn, but the trick is when and how. Don't just learn things because this could be more efficient. We need to know 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 correctly (check the test pyramid)
๐น Learn how to refactor
๐น Learn TDD
๐น Code reviews
๐น DevOps mindset
Also, learn your IDE and all the essential shortcuts you need. Debugger too.
#softwareengineering #softwaredeveloper #programming #career
As we all know, being a software engineer is a challenging thing. You need to see a lot and constantly improve yourself. But, during my career, I found what differ excellent 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; the more projects you work on, the more you will learn new stuff and grow.
๐ฐ. ๐๐ฒ ๐ฎ ๐ฝ๐ฟ๐ผ๐ฑ๐๐ฐ๐-๐บ๐ถ๐ป๐ฑ๐ฒ๐ฑ ๐ฒ๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ
When working on your project, don't settle just with specs; 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.
๐ฒ. ๐๐ฒ๐ฎ๐ฟ๐ป ๐ถ๐ป๐๐ฒ๐ป๐๐ถ๐ผ๐ป๐ฎ๐น๐น๐
We need to learn, but the trick is when and how. Don't just learn things because this could be more efficient. We need to know 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 correctly (check the test pyramid)
๐น Learn how to refactor
๐น Learn TDD
๐น Code reviews
๐น DevOps mindset
Also, learn your IDE and all the essential shortcuts you need. Debugger too.
#softwareengineering #softwaredeveloper #programming #career
To expand your knowledge and personal growth, subscribe to my free weekly newsletter with 20,000+ people: newsletter.techworld-with-milan.com.
Loading suggestions...