Packt Publishing reached out to me and offered to do a book.
They pretty much want me to do any book and pre-agreed already. They gave me carte blanche on the topic.
(More or less, I doubt I can convince them to publish a vampire thriller set in a Silicon Valley startup.)
Funny thing is that I know the editor. He worked at Apress Media when I published my first book Practical Node.js with them.
I submitted to them my idea about a software engineering career book for junior developers. They liked it. It can become a book!
While thinking about the career in software engineering, I thought about top skills.
As in any profession, software engineers requires a combination of certain skills and techniques.
I’ve done software engineering for over 15 years.
I taught total beginners (in Hack Reactor) and professionals (in Fortune 500 companies).
The most important skill in a good software engineer is not smarts. No. It’s not how good he can write code.
It’s not soft skills either
Over those years I often observed these skills which make good software engineers:
- Logical thinking
- Pattern recognition
- Learning fast
- Social (soft) skills
- Technical (hard) skills
- Decomposition and chunking
- Ability to focus
- Business alignment
- Courage for change
A few bullet points such as initiative and learning fast are nothing surprising and true for other professions.
Some of the points require clarification.
Memory includes memorization of where to find things, domain knowledge, whom to ask and even what is the name of the class.
Don’t discount skills which seems easy and trivial such as fast typing. Fast typing and good memory of classes and method (of a programming language) can get you more milage to learn, solve problems and innovate.
If I got to pick, the most important skills are tenacity, logic and memory. Memory overlaps with fast learning, reading.
Microsoft MVP | Book and Course Author | Software Engineering Leader
To contact Azat, the main author of this blog, submit the contact form or schedule a call at clarity.fm/azat and we can go over your bugs, questions and career.
Reading blog posts is good, but watching video courses is even better because they are more engaging.
A lot of developers complained that there is a lack of affordable quality video material on Node. It's distracting to watch to YouTube videos and insane to pay $500 for a Node video course!
[End of sidenote]