To be a software engineer you have to be technical. But being technical as a software engineer is par for the course — it’s the price of admission. In other words, one can’t be a software engineer without substantial technical abilities, but to be a great software engineer, you must be technical and more.
While technical skills are a requirement, what truly separates good software engineers from great software engineers is possessing strong technical skills and soft skills. There’s an age-old debate about hard skills versus soft skills and which is more important.
To me, it’s rather simple — If I have a technical problem I can use soft skills to get help to solve it. If I have a people problem technical skills are useless. Soft skills help you solve a myriad of issues; technical skills help you solve technical issues.
Furthermore, I believe that technical skills can be honed and continuously developed more easily than soft skills. While I don’t necessarily have hard data to support this, I believe it’s more straightforward to “learn Java” than it is to "learn how to work effectively with others”.
This has also been my own lived experience. I’ve always been good with people, but I haven’t always been good technically. Over the years, I’ve worked hard to become more adept technically and it’s worked.
I’ve also realized as I’ve gone through my career that working with computers is the easy part of software engineering, working with people is what can be tricky. After all, computers are the world’s best listeners, they’ll always do exactly what you tell them, nothing more, nothing less.
People on the other hand are way more nuanced. Once you learn how to work well with computers, the real challenge is learning how to work well with humans. If you can learn to do both, your future is extremely bright.
Drop a like ❤️ and comment below if you made it to the end of the article.
Yo brother good to see you here!
"This has also been my own lived experience. I’ve always been good with people, but I haven’t always been good technically. Over the years, I’ve worked hard to become more adept technically and it’s worked." this has been 100% my experience too; really good with people, needed to work hard on the technical things.
And as we know, the technical part is the easy one...
The true 10x engineer is the one who has strong programming skills, and strong soft skills. 🚀
What are those soft skills? Things like:
- Managing up in communication
- Working through disagreements
- Planning and managing projects
- Building diagrams, documentation, journals
- Running effective meetings
- Learning how to influence others without direct authority
The best engineers work just as hard on their soft skills and their technical skills. And they and their teams are better off because of it.