When I think about who I would like to work with as a programmer, I think so much more about non-technical skills than technical skills that make s...
For further actions, you may consider blocking this person and/or reporting abuse
I think the one thing missing from your list is curiosity. For me, it's really important my teammate is curious about our work and is proactive in contributing to the team's overall proficiency. Other than that you've pretty much hit every criteria that goes through my head when evaluating a potential teammate.
I feel the same way. I believe that interest and perseverance are the two most important things to becoming good at anything. As long as you are interested, you can continue to learn, and not just go through the motions while learning. It provides an attitude to always challenge yourself and continually become better and better as you learn. It's what keeps it on your mind when you're AFK.
Oh, I really really like that one -- it's so important to just try things and keep growing as a developer.
Thank you so much for this awesome article.. I'm with stephen on this,curiosity is part of this list.
As an immigrant software engineer, i saw that team members suffer the most from the lack of communication skills,especially when it comes to a foreign developers dealing with each others.
Yes, curiosity++!
Great write-up, I was just thinking about this this morning. There's all this push for technical chops, but that can only take you so far. These soft skills help you as a developer, but they also set you apart from others if you do them well. That's how you move beyond just being the geek-with-most-tech-skills.
Thank you so much. Totally agree!
Not necessarily. When I was more junior I had a few people try to mentor me and with good intention. They tried. But it's really hard when they don't have the good communication skills to explain things and it can make the mentee feel stupid if they don't understand their way of speaking.
I disagree that pure technical skill and willingness to share knowledge makes someone a great mentor alone. I truly do feel, as both a mentor and mentee, that having at least adequate empathy, patience, creativity, and other soft skills mentioned in the article make for a better mentor.
Mentor/mentee is a relationship where both parties can adapt and grow to be better.
Some people are generalists, others are specialists. But no one reaches seniority in everything — so you need teams to build meaningful products. Social skills are the glue, the major prerequisite for flourishing in a team. Even as a solo dev you'll eventually need to build relations with customers or investors.
In my eyes the people with merit are those that have both technical skills and non-technical skills. In fact, technical skills are more easily taught. There's no mystery to them. That's why the definition of what makes a good developer is changing -- because you can have the most awesome technical skills and be awesome at the skills listed in the article. That is true merit.
And how is "technical merits" missing from the list of "most important non-programming skills"? This article is literally written to cover the non-technical aspects of being a successful developer. ;)
It doesn't make an attack. It goes through an empathy exercise, talks about the research of diverse teams, and overall talks about the humanness of empathy.
Before tone policing Ali, who I believe already did a very good job writing very empathetically about touchy issues, I think you should double check why you feel this way. She never made blanket statements about anyone, instead used an empathy exercise to demonstrate how it feels to be left out.
Historically the tech industry has left a lot of people "outside of the circle", I think everybody can contribute to making it more inclusive.
That being said, implicit bias is something that everyone possesses, and it causes us to usually favor people like ourselves. Being aware of that and trying to overcome it is something that can definitely help us be better people and programmers.
What a great list! I'm lucky enough to work for a company that hires for empathy. And if you stay in the coding game long enough, you're going to have to become humble, or very, very frustrated!
One thing that complements and perhaps even summarises the above is Emotional Intelligence. Having an awareness of your own emotional state, that of others, and the subtle interactions between each. It's a total game changer, and for many of us, learnable!
Thanks for the read :)
I read every word of this wonderful master piece. Thank you!
You are right about that referencing these skills like "soft skills" seems that it minimizes their value and impact. But the truth is that these skills are really important and essential to grow in your life and work.
Awesome, thank you so much!
This is one of the best lists I have seen. It really takes you back to the big picture. These are the things that make or break a career ... a relationship ... a life. I'm so glad you wrote this and shared it.
Yes, Curiosity would be a good thing to add, although I think It would end up being implied if the Problem Solving section wasn't cut short. Maybe somebody can expand on this idea and do some more 'big picture' writing!
I agree with most of what you say here and I really liked the section about Inclusiveness.
The game you describe is fantastic, I think I'll use it! maybe with a final reconciliation phase where people out are permitted to go back in the circle, because without trust in a possible forgive, fear can beat any will to include.
There are other sections and considerations that I liked (the last paragraph on Collaboration shows scars that I know very well ;-) and others that I've found a little... cliché, but overall the article is good.
I have however a couple of serious objections.
On the "soft skill" naming
I don't think you got why people call these as "soft" skills for programmers.
There are two main reasons:
On "Empathy"
Seen from an Italian, the focus on "Empathy" in IT both naive and very US-centric.
For example, if you were Italian, I could comment here "Balle." (which is a Italian equivalent to "Bullshit."), without being accused to be harsh, un-emphatic or sexist.
These days US developers seem very focused to impose everybody certain workspace-like "Code of Conducts" that are designed to help managers in their work of controlling the workers, but they don't consider how their mindset might clash with the rest of the world.
The world is huge, and what an Italian feels like empathic might looks as intrusive to an American. OTOH what an American feels like empathic would be felt as hypocrite by an Italian.
So much that when I read a tirade about empathy in IT, my first reaction is to ask myself: "What the author is trying to cover?"
In this case, many of the things you think should be addressed through empathy are instead Ethical issues.
That is: we always follow an Ethics in our work.
Often (especially in the Silicon Valley) it is the Ethics of Capitalism, completely focused on making money (and please the Government, whoever it represent), but people following it prefer to argue that Ethics is not relevant to programming at all (except when talking about the need of delegating Ethics to AI).
Other people follow different Ethics.
But the problem with Ethics is that it drives Politics, and people are scared by the complexity of Politics (which require caring about the Polis, about a lot of other people lives, and thus optimizing for multidimensional goals instead of simply maximizing profit).
Thus they resort to surrogates (such as empathy) to solve the problems that the lack of a richer Ethics and a serious responsibility of developers for the Political effects of their software would pose.
On Community Participation
You state:
Now, I agree that community (that is from Common, which derives from the latin cum - munis, co-obliged, mutually bound) is very important to our species. Aristotle used to say that humans are "social animals" for a reason.
BUT what you are talking about is not really community, but marketing.
It's not by chance that you talk in term of Open Source instead of Free Software!
Hackers' communities don't do much conferences and workshops, we don't care about "social media" (that we often dismiss for their anti-social behaviours on a scale, see the lack of Ethics discussed above), because we don't give a shit about our perception from outside: we just follow our Curiosity.
In conclusion
Thanks for sharing your perspective, I really appreciated it.
That's why, as a hacker and a European, I felt obliged to share a different one that might help you understand why some people are not conforming to your expectations.
The world outside the States is huge, varied and wonderful! ;-)
A truly great article, Ali. I think the key word here, like you said is diversity. Not in the common sense of non-discrimination (this is important too), but as a broader notion that every person has unique skills and characteristics that brings some value to the team: there are the ones that get things done, the ones that are good at solving problems, the ones that are better at communicating with the client(s), etc. Knowing the value of each member of your team is what make the better teams
We’ve removed your comments in this thread because they were not constructive. While maintaining a differing viewpoint is of course acceptable, it’s important that all community members remain respectful. Please review our code of conduct and send us an email to yo@dev.to with any questions.
One of the last book I read “The magic of thinking big” help me a lot developing my communication skills and the way you should think and talk to people, thank you for this great article Ali. I love it.
Interesting read, the soft skills in tech aren't discussed as much. I think my list of key skills here would be: problem solving (definitely the top skill here), communication, adaptability and humility. The nice thing about these kind of skills is that they apply whatever the tech stack and even in other professions, I would like to see more people focusing on those. One that stood out to me was inclusiveness, I don't see why it's here and that kind of idea was pushed on people in my last job so it's something I now cringe at.
awesome article. I liked it very much. really clear and beautifully written
If you are only that, and you lack non-tech skills, well if you're happy with that that's great!
What I strive for is to be that PLUS have the qualities mentioned in the article. That way you're also a great mentor for other developers.
You certainly laid down the 7-deadly sins of non-programming, but I think you skipped #1 - Writing Proposals!
Coding the thing for me is the reward at the end of a long train of non-programming BS. Convincing the client, building a tech spec, planning the work cycle - this can all add up to $0 if you lose the proposal. It can be far worse if you win, and plan it wrong. And, though it's like problem solving, every step seems painful to me.
A good proposal will
This is certainly the most important thing. If you want to survive out there.
Good article. Thank you.
I really loved your article. I am totally agree that these skills are very important for anyone to become a successful team player. I hope job interviewers do focus on these skills rather than routine core language questions which I believe does not guarantee being a good programmer.
This was a fantastic post!!!! Thank you for elegantly articulating each of these non-technical skills.
What about stubbornness? That is my #1 alternate skill! Why spend 5 minutes working around a symptom when I can spend 5 hours or 5 days solving the underlying problem!? This would be me continuously! But in the end, quality is significantly higher. :)
Great post, Ali!
During the read I found myself nodding my head agreeing with mostly everything you mentioned in the post. Patience, empathy, adaptability, confidence, humility, creativity, inclusiveness and so on. I find myself doing these things consistently.
Good morning Ali,
I loved your article and the passion that you put out there for others to read on how people should be treated in any job. As a Former production manager turned SEO specialist and excited to learn more on how to code. I learned from first hand how people get into a hurry while others are trying to learn what they are doing as a new jog and Not giving enough time to practice or adjust to the new position. While being as quick as possible.
As I learn more about how I can be more effective in my job new business SEO Specialist owner. I am having to learn to slow down and be more patient and that is hard for me at times and for others that want a quick result to the problem of getting a business off the ground while trying to get a new job after getting laid off again.
Ali... what is the best program to learn and for new career possibility's as well. Even for someone that played around in learning to program when BASIC (Commodore era) programming was the thing?
All the topics that you covered in this post were something that needed to be addressed quickly while having a passion for others. Thank you and hope we can talk more...
Sincerely,
Shane Phillips
Owner of simplifiedsolutionseo.com
simplifiedsolutionseo@gmail.com
Hey Ali,
great notes,
thanks a lot.
Legal muito informativo
This is a really pertinent article - we need a lot more understanding of these issues across the industry.
Great article, thanks Ali!
I always say that empathy is the closest thing we humans have to a superpower.
You explained everything eloquently!!!!! (too many exclamation points? :D)
Haha thank you so much!
A very nice post :)
Thank you.
Well said. Excellent write-up.
This was educational. Thanks.
This article is truly outstanding. Gratitude :D
I get everything on this post, but I am not developer yet fml 🤣🤣.
Nice post.
Love the idea of keeping a list of wins to remind yourself of positive things when you have a bad day!
Hi,
I hope to get your consent to translate and shared with Chinese developers, I will indicate the source and author.
Wow nice write up. I learned something today. Thank you.
I read through your long post and it's great to learn this non-technical skills. Kudos to you 💌
Very impressive post. Thanks!
Well written...