HACKER Q&A
📣 aliabd

What is the most underrated skill software engineers should learn?


Also curious about highest value skill for least duration


  👤 abd12 Accepted Answer ✓
Writing.

It helps to clarify your thinking. At your job, it will help you explain concepts to others and multiply your efforts.

Externally, it can help make great friends and boost your career if you blog & share things you've learned.


👤 rasikjain
Soft skills - Speaking, Team Building, Listening patiently, Able to translate technical details to non-technical audience, Ability to help/volunteer the team during the crisis mode.

This helps a lot in shaping the career and boost self confidence.


👤 moralestapia
Proper math. It's also easier than you think, even a year of (casual but) serious study will open up your vision and make you feel extremely more confident with your work.

👤 kazinator
How about: learning to type fast, with all ten fingers, without looking at the keyboard.

👤 blaser-waffle
Sales, and selling.

You're selling yourself and your skills on an individual level.

You're selling your team and your pieces of the codebase on a manager level.

You're selling your product or your vertical on the executive level.

This isn't Wolf of Wallstreet or "Coffee is for Closers", but if you're not able to sell yourself a little then you'll be struggling against an equally good coder who knows how to put a little spin and polish on what they're doing.


👤 dflock
If you want a purely technical skill, being fluent in SQL, including DDL, joins, etc... would be a pretty good candidate.

👤 thewileyone
Testing. I've never known any great developer with at least good testing skills. I've met many awful developers who don't know how to test.

👤 cvaidya1986
Setting expectations and communicating them clearly and continuously.

👤 cbanek
Good listening skills: Reflective listening, active listening, etc.

https://en.wikipedia.org/wiki/Reflective_listening

https://en.wikipedia.org/wiki/Active_listening


👤 thorin
Speaking, writing, listening, thinking ( which includes debugging, designing, how things fit together, how people use their stuff, how you use other peoples stuff).

Communication seems to be the main thing I see missing, and caring whether what is produced is fit for purpose (not just your bit). As I move towards being an architect/less coding, this is something I'm thinking about more.


👤 pid_0
If you want to make lots of money, soft skills. You can be a decent engineer and a good presenter and make $$$

👤 medialucky20
Writing,know the reason behind developing this product or code. many times we end up just developing what asked to do without knowing its purpose, usage, impact etc. Sometimes these factor influence your work to feel belong to something

👤 photawe
Dealing with bugs in other APIs. This is such a sad truth of today's software - you are dependent on other libraries, and as you use them, you encounter bugs - and quite a few, I may add.

And even sadder, Microsoft ('s APIs) is not the exception, Microsoft is pretty much the norm.


👤 erkanerol
Fixing a lot of small issues to make the codebase ready for production without getting bored. Unfortunately, only small portion of software engineering is sexy and cool.

👤 airbreather
Effective Problem Identification and then Requirements Capture.

Few do it well, a poor start almost guarantees a poor outcome regardless of the quality of the team.


👤 jghn
Presentation skills, speaking in general. Learning how to read a room, drove consensus, and tease apart what someone is really after

👤 JamesBarney
Estimation.

👤 ak39
Relational data normalization at least to 3NF.

👤 master_yoda_1
is to understand that you can NOT get away with poor coding skill by developing only underrated skill ;)

👤 boltzmannbrain
Patience.

👤 ironschool
Naming

👤 frogperson
negotiating/sales.

👤 tboyd47
Debugging

👤 codingslave
The only thing that matters is data structures and algorithms. If you cant master those, you wont get far/your pay is forever capped and should move into management or another career entirely.