HACKER Q&A
📣 rspivak

What do you think are the fundamental skills for software engineers?


As the software engineering landscape evolves, what do you think are the non-negotiable, fundamental skills every software engineer should have?

I've compiled my thoughts on this in a recent post (https://ruslanspivak.com/bb02/), but I'm curious to see what others think.

NOTE: The post contains a link to a page with Amazon affiliate book links, which you can ignore if you prefer.


  👤 Turboblack Accepted Answer ✓
I have always said, I say, and I will say: an apprentice is complex about simple things, a master is simple about complex things. Be accessible to people. And also optimize your code, program as if every byte counts.

👤 cwdegidio
Soft skills should be much higher on the list. Software engineers, depending on the org, will be asked to interact with a lot of non-engineering, non-technical types that are in a position to make decisions. If you can't explain a problem or proposed solution in a way that they can understand, things are going to be harder than they need to be. Sometimes you'll need to extract requirements from these individuals for a feature because BAs and PMs are coming up short in getting the right details. Learning how to talk with people through their idea and not make them feel stupid but instead make them feel like they are a partner goes a long way.

👤 punk-coder
“Knowing when not to code is possibly the most important skill a programmer can learn.” - The Art of Readable Code

👤 aristofun
Engineering is the only critical skill any type of engineer must have.

👤 JSDevOps
Logic. Think in terms of CPU cycles.