My New Book Concept and Top Qualities of a Good Software Engineers

My New Book Concept and Top Qualities of a Good Software Engineers

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
  • Memory
  • Reading
  • Typing
  • Tenacity
  • Thoroughness
  • Learning fast
  • Social (soft) skills
  • Technical (hard) skills
  • Decomposition and chunking
  • Prioritization
  • Ability to focus
  • Initiative
  • Innovation
  • Pragmatism
  • Business alignment
  • Curiosity
  • 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.

--
Best Regards,
Azat Mardan
Microsoft MVP | Book and Course Author | Software Engineering Leader
Azat Mardan avatar
https://www.linkedin.com/in/azatm
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.

[Sidenote]

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!

Go check out Node University which has FREE video courses on Node: node.university.

[End of sidenote]

Leave a Reply

Your email address will not be published. Required fields are marked *