Hello!
I'm opening this discussion because I'd love to know your thoughts around what are the top skills someone should have to become a software engineer.
My list would be:
- Problem solving
- Coding
- Communication
- Team Work
- Humility
Do you agree? What would you add/remove/replace?
Let me know in the comments! π
Top comments (18)
To become an engineer you need a master's degree in Engineering π
So true, unfortunately, software companies do not understand that condition
Oh they sure do. Developing is part of the daily job of most engineers but it has -usually- a different scope.
You'll have engineers doing PoCs, stablishing E2E workarounds with Archiitecture team and providing abstraction layers whereas devs will use this abstraction layers (or frameworks, libs or tools) to develop the solution according to the specifications and acceptance criteria.
Thanks for your comment @joelbonetr ! What do you think is the difference between engineer and developer?
An Engineer oversees the system as whole using engineering principles, whilst a developer focuses on creating functional software.
You can act as engineer without the engineering of course, the required skills would be those that permits you to understand the whole system such linear algebra, computation, OSs, compilers, software engineering and so. Depending on the environment you are working on, it will relate to some group of subjects or another.
Seltaught,I thinking that is a important skill
Thanks for this, Paul. Self-taught is a great one because software engineering evolves all the time and you should be able to teach yourself stuff. ππΎ
Proactive and passionate are valuable traits to have as well.
Thanks for your comment @andrewbaisden ! Those are good traits to have. π
Passion is something that not all software engineers have. Still, if you have it it's a bonus.
These days most crucial and necessary skill is having a time management if you are working remote
Just dropped an article about engineering and stuff. Hope you will find it useful one way or another.
I would like to add into the list,
"Skill to search in Google" hahaha
Passion...? I'm not sure this can be on the list. But there is Humility, so,
I enjoy working with people who are passionate about their job.
Who can smile while talking about coding...?
Thanks for your comment!
I put humility because it's challenging to know everything in this field. Plus, I find software engineering a field where it's easy to make mistakes (no wonder we use many error-correcting tools), and it takes humility to admit them.
Having fun while coding? For sure, I agree. But I'm not sure if it's a must-have skill. π
Attention to detail
Thanks for your comment @eddycorderol , this is a good one. Why do you think it's important to have an attention for detail? :)
Anyone can act as engineer with the proper training and experience tbh, acting and being are different verbs.
The issue with bootcamps/codecamps is that you only get trained to get surface knowledge about some tech stack, just enough to be able to develop solutions with proper help of the rest of the team.
You'll need mentoring and push yourself on learning satellital thingies to become a good dev.
Your life should be Code, Eat, Sleep and Repeat for months (or years) to speed up this process to receive equivalent knowledge to vocational studies (that are -usually- a 2 years official certificate).
Most people I met at work that come from bootcamps simply don't do that, they assume googling everything and asking about everything as normal part of the job where it is not, you need to be autonomous to get a raise and much more to reach a senior state. And to reach this skill level you need to practice a good amount of time daily. It requires commitment, constancy and effort.
This also applies for anyone (even having a degree or an official certificate form vocational studies) on the first couple of years as software engineer/dev, almost the entire life when on software architecture or tech leadership and so on, you just start the game at a higher level with a higher tier equipment plus boostsπ base knowledge leads you to faster learning processes.