Ask HN: What non-technical skill would help you most in your career in 2016?

47 points by brown-dragon ↗ HN
I want to write a tutorial/guide that would help other programmers. There are a lot of quality _technical_ guides available and I don't want to write just another one. So I'd like to create something _non-technical_ (productivity, communication, work-life balance...?) that programmers would find useful.

74 comments

[ 5.0 ms ] story [ 140 ms ] thread
What helped me most is to have conversations with strangers. Try it in real life. Talk to the guy sitting alone at the bar. Have small-talk with the other person pumping gas. This will help you professionally.
I second that. Been able to initiate small talk with anyone you meet just out of the blue is invaluable. And it will affect both your personal and professional life.
The big ones I see are written communication, work-life balance, and time management.
If the economy tanks, you might find yourself surrounded by people who didn't really deserve to be in their jobs, but floated up with the high tide of a buoyant economy. These are the people who will resort to nasty office politics to keep their jobs.

Ergo, learn to defend yourself from it.

I don't really know of a defense other than participate in their bullshit talk, politics, etc. Seems like the more incompetent people are, the more they talk, to hide their incompetence and use personal skills to stay afloat.

Bullshit Artists get so far in American organizations. Far, far more than elsewhere where people are less enchanted by nonsense fluff.

You've not worked with the French..
> I don't really know of a defense other than ...

One way is to make sure you (a) provide real value and (b) know how to convey that knowledge effectively in tense situations. If you're not sure you provide real value, then BS talk may be your only hope. Even if you know you provide value, you need to be able to convince others of this or else you may be in trouble.

Since you said "career" specifically, I would say communication. If you can tactfully ask and figure out what direction you need to develop in, or if you can be persuasive and make a compelling argument, your can be much more effective in advancing your career. You'll also make friends and allies along the way.
Writing is far and away my number one suggestion. It's not even a contest.

A well-written developer is someone who can organize their thoughts and then express them in a way that others can understand. This requires mental discipline, clarity of thought, empathy, and intelligence, all of which are skills that will take any developer to new heights.

I have read, but don't have a reference handy, that writing skill correlates strongly with success if you work for a large organization.
In theory, a larger organisation would have more communication going on, and having messages that stand out among the noise would definitely set you apart. Moreover, the more people you communicate with, the less you know each person on a personal level -- the more impersonal each correspondent is. The less you know someone, the more important proper, clear language is.
I've been reading:

TED Talks: The Official TED Guide to Public Speaking

Impossible to Ignore: Creating Memorable Content to Influence Decisions

Both are insightful and exciting.

Emotional intelligence and all round empathy.

It's not a trait I started out in life blessed with but the older I get the more I realise that understanding why something is being said is frequently much more important than what is being said.

This is important, and I think it's actually the key skill underlying the "powers of persuasion" mentioned in other replies. If you can empathize with a person's feelings and motivations, you can explain why your idea or proposal will help them, which is key to convincing them.
There are some people that are magical. You go into a meeting with your mind made up, and then 30 minutes later, you leave the meeting with a completely different mindset. And you don't know how they managed to convince you so successfully. If you could figure that trick out, most of your non-technical career problems would be solved. I've personally never learned this skill of persuasiveness, but I'd pay a lot of money if someone could teach me quickly.
It's called Sales. :)
It is generally speaking, but many people have that ability without being labeled as a 'sales man' and I believe many sales men lack it as well (but they may be good at sales because the product would sell itself).

I would also say it's kind of magical.. some sort of energy transmission..

You don't have to be a salesperson to be good at sales. The art of selling something (and it is an art) is something that you can apply to many situations. Generally, it's the art of getting what you want, and that is extremely valuable to pretty much anyone.

The way you talk about it reminds me of people's account of Jobs' so called "reality distortion field". However, it's not some mystical thing that some people are born with. It's a learned skill just like software engineering.

May be you already started to figure it out..
Talk less. Smile more. Don't let them know what you're against or what you're for.
This sounds like a Radiohead lyric.
Hamilton?
Aaron Burr's philosophy, as written in Hamilton.
I am not the reason no one trusts you

No one knows what you believe

What's your time frame for "quickly"? Two hours, two days, two weeks?
Not the GP, but I'd settle to learn that in 2 to 5 years as "quickly".
Check out the book How to Win Friends and Influence People [1]. The author, Dale Carnegie, used to teach a hugely popular course on that. I held off reading the book for a long time because I thought that it was about being manipulative. It's not at all. It's about being a good person.

[1] http://www.yourcoach.be/blog/wp-content/uploads/2014/02/Dale...

This is the one and single book that I'm sure helped my personal / career life.

I highly recommend. It gives you a powerful alternative and a beacon that you follow every time you have a conversation with someone. Although the book is old ( before the Internet ), it has pretty much summed up everything about people's nature and can teach you what your parents / teachers forgot.

Well, I can recommend the book "How to win friends and influence people". I can echo other commenters have already said and suggest.

1. Say less.

2. Listen more.

3. Think of everything from the other people's point of view and honestly consider what is best for them.

I think one thing you said was quite telling: "you go into a meeting with your mind made up". I'd suggest trying to being open to having your mind changed is a good first step too ;)

You can become better at this by doing it a lot. Every time a situation presents itself where you can try to convince someone of something, try to do it just for the heck of it. Most people evade these situations, but if you keep at it, it will improve.

Persuasion is independent of "shyness" (actually, being an introvert) but a lot of it has to do with natural talent, unfortunately [1]. You can definitely improve it, but some people are just born with a higher degree of "energy transitivity". For instance, their face have more muscles and they're wired in such a way that it is easier for them to control it, among other things.

[1] Malcom Gladwell wrote about this briefly in "The Tipping Point". You can learn more on this by looking up the book "Emotional Contagion" by Elaine Hatfield, John Cacioppo and Richard Rapson. There's also Howard Friedman, from the University of California, who created the Affective Communication Test, which aims to give an individual a measure of his personal carisma - this transmissive or "magical" ability you speak of: http://www.faculty.ucr.edu/~friedman/act.html

Read Dale Carnegie's classic "How to Win Friends and Influence People"; it's still in print 70 years after it was published for a reason.

The Dale Carnegie Company also offers instructor-led training in small classes. Having taken it, I would recommend taking the in-person course if you can; nearly every major city has a DC office. If you're willing it to take it seriously and put work into it, it can be quite beneficial.

Just bought that book after having it been recommended about a dozen times. Although I can't comment of the contents of the book (haven't read it yet), I want to point out how incredibly popular it apparently is.
>I've personally never learned this skill of persuasiveness,

The few people I've met like this were pretty much office bullies. There's no mythical silver tongued nice guy. When someone dominates the meeting and shoves his agenda into your face and argues until you're exhausted, well, that works because he's not worth fighting. The question is do you want to be a person like that? Pretty much anyone can be taught to be a Gordon Gekko or a GlenGarry Glen Ross's Blake.

I don't take my job remotely seriously enough or care to modify how I act for crap like this. I kinda pity those who do. They seem to get their validation and emotional fulfillment only from work.

The above might be overly critical, but I think everyone hits a point in their career where they have to decide where they will draw the line in terms of personal modification to get ahead. There are so many more asshole-ish ways I could be at work that would definitely lead me to a higher level of success. I just consider it against my moral system to be a person like that and think its absurd that we have to do this constant study of "how to get ahead" just to make a decent living. Threads like this just depress me. Work life shouldn't make this kind of demand on our personal and internal lives. I think if everyone pushed back more against employers, we'd all be happier, instead we have this rat-race that we accept as perfectly normal and rational. Its not.

Well, bullying is a little more overt than what I'm talking about. I'm talking about the kind of person who is so good at persuasiveness that they convince you without you even realizing it. That's a totally different skillset from "argue until your opponent is exhausted and gives up". I had a coworker once that was pretty good at this. I'd go into a meeting with a strategy that I was positive would work, and I'd walk out of that meeting with his strategy -- and somehow I was convinced it was even better than my original one! (Sometimes it was, sometimes it wasn't, but I never resented him if it wasn't -- because he always somehow made it seem like it was the natural choice, not just his choice.)

Anyway, that's the kind of thing i'm talking about. It's easy to talk over people and beat them over the head til they do what you want. I'm more interested in getting everyone on my side and excited about it.

I think this is a fascinating subject! Let me dig into it and if I find something that's usable (and teachable) I'll write it out.

Many comments have pointed out "How to win friends and influence people" so I'll start there.

Public speaking. I joined Toastmasters [1] at the start of the year and highly recommend it. Friendly, supportive atmosphere. Challenging, assuming you're not currently comfortable speaking in front of groups. Lots of people who've been there a while comment on howit's improved their careers. One of the most useful bits is learning to evaluate other people's speeches, a skill which can be applied in a variety of situations, and (so I'm told - I'm still learning) leaves a very positive impression on people.

[1] https://www.toastmasters.org/

I am not the world's best public speaker, but I do enjoy it. Some of the things that have made me better at it include realizing:

* I will always be nervous before a performance. * The audience doesn't know what I'm about to say, so they don't know if I "screw up" most of the time. * Live demos will go wrong. :) * Talking to 30 people is actually easier than talking to 3 people, because you don't have to pay individual attention to anyone.

The worst part for me anymore is preparing the slide decks.

What's so bad about preparing the deck?
Nothing, really. It's just time consuming and tedious.
Commercial awareness for sure: tech skills are nothing without sales aka a sound understanding of the business perspective.
Being able to translate tech to non-tech people. People who have great ideas and financial backing are fresh meat to technical sales folk, and that is a big stress factor for those who want to genuinely build something cool but don't have the confidence to verbalise their technical requirements. Translating the jargon to make them feel at ease and in control of the next step goes further than you might think.
This is something that, based on my experiences, I'm bad at. Any advice on how to improve?
I've been teaching some folks how to code. It's helped a bit. I also have been reading more business books - things like the personal MBA [1], The Goal, how to win friends and influence people (old versions before he died). Basically, make an effort to speak their language, because they (probably) won't put in the effort to learn yours. Some will appreciate the effort and meet you half-way, others will be amazed that you can communicate with them.

[1] : http://www.amazon.com/Personal-MBA-Master-Art-Business/dp/15...

First, you need to have deep technical knowledge. If you have trouble explaining something to non-technical person one of most common reasons is that you don't fully understand it yourself.

Once you are sure that you have thorough understanding of the topic other ways to improve include reading books, especially science fiction and popular science to expand your vocabulary, and writing a technical blog.

This one's really tricky, because one thing you have to determine early on is whether or not the person really cares to understand at all.

Metaphors can be terribly dangerous because of personal experiences. For example, I've seen people explain object-oriented programming using biology or automobiles. Those sound great until you think about how many people don't relate to those metaphors.

Other people don't care. I don't care how my cellphone works - I care that it works, and if you tried to tell me how it works, I'd tune you out. It's not in my scope of give-a-damn, you know?

If you feel you're terrible at explaining things to non-technical people, reflect on whether or not those people really need to know those things.

If you determine that they are interested, and that you are unable to adequately explain, consider finding situations where you can understand their side of things. A great way to do that might be to learn how to do something that they do. When I meet a new client, I ask them to explain very technical parts of their job to me. Then I am the person on the receiving end of that. I can observe how they explain things, and I can empathize with them when my eyes glaze over. :)

Hope that helps a little, or at least gave you some ideas.

Determining the necessity for a technical explanation could be thought of as another separate skill in itself :)
Sometimes it's as simple as politely asking. "Hey, are you interested in knowing how this works?"

IT people tend to assume that everyone is just as interested in stuff as they are. It's not a great assumption to make. Just cos you think it's cool doesn't mean everyone does. And that's ok.

Daily exercise.

You'll feel better and have more energy throughout the day.

Any kind of skill with huge benefits in almost any career.

Leadership, Public speaking, persuasiveness/sales, writing, copy-writing, storytelling, design, diet, exercise, mental focus, personal appearance

Maybe target ones that programmers typically lack.

Most companies have the following departments, or roles:

Accounting, Marketing, Reporting/Data Analysts, Customer Service, Design/UI/Product, and Sales.

Weather your running the website or building the software you sell lots of these folks are going to have varying levels of contact with it. By understanding what these folks do (even at a high level) and the language they use, your going to be able to communicate with them and service them better. Building relationships in other departments can be as simple as being friendly to the people you meet, and getting them out of the office for coffee or lunch on a regular basis. Ask them lots of questions and build a relationship.

(comment deleted)
Sort of career related: learn to live within your means, always trying to save some of your salary. This does a few things for your career: allows you to leave bad jobs, reduces worry and stress which should improve your job performance, and generally adds flexibility to your life.
1) Time management, 2) Efficiency in learning in all endeavors, not just technical.

With those two skills, all other skills can be obtained more readily, including the need for better oral and written communication.

Empathy and salesmanship require a modicum of innate ability. Everyone can certainly improve on their potential. I've never met a career salesperson who didn't already have some proclivity for sales.

Sight-reading Bach.
Learn to listen. Not just to your peers, but to everyone. Don't just hear the words they are saying, give them meaning, build a mental model, and be able to re-itterate their statements into your own language (even if you don't share these things out loud).

Listening skills are going to get you FAR in business and life, and your going to hear lots of stuff that has nothing to do with your job. Learn NOT to repeat every thing you hear.

Sadly offices have as much gossip if not more than your average high school. Once people know they can trust you to keep your mouth shut, a well spring of interesting knowledge is going to start to fall in your lap. Some times this is just personal drama, but knowing that person A has a grudge with person B can some times be a clue to how a situation is going to resolve itself.

Leadership. No skill (rather, set of skills) will be more universally applicable throughout the entirety of your career and become more heavily weighted the higher you climb.

Are you an engineer? What skill(s) will you be leveraging most as a Director or VP of Engineering? Leadership.

Are you a designer? What skill(s) will you be leveraging most as a Director or VP of Design? Leadership.

Are you a <fill in the blank>? What skill(s) will...you get it.

Back in my time at Georgia Tech, Warren Buffet came to speak and told an anecdote about a media executive who would go play records at one of his radio stations in the middle of the night. Buffet said something to the effect of, "the farther I get into this business, the farther away I become from why I got into this business."

I started working professionally at small companies in 1997 as a "Web Developer." I finished my degree in 2004 and I've been doing software engineering since then. I'm currently a Director of Engineering at PayPal and, while my technical skills are useful, my primary role is centered around the leadership of a large team. I haven't written a line of code professionally in over a year. I share these same statements with my managers and engineers from my team. Always be developing your leadership skills--they stay with you forever.

Leadership isn't management... It will make you a good manager but if you are an engineer today, then being a leader is totally possible. Its about being proactive, helpful, thoughtful and "solutions oriented" (if you spot a problem, bring a solution or better yet two to the table with it). Be the person your peers reach out to when they are stuck.
100% agreed that leadership and management are two very different things--it's an important distinction (and one that typical conversation tends to gloss over). I hope my original comment didn't imply they were the same.

Also agreed that leaders who are NOT managers are extremely important.

Along those same lines, authority and influence are also not the same things. Managers frequently have authority, while leaders often do their jobs through influence.

Learning how to successfully apply influence with a lack of authority can be incredibly powerful.

Great advise, thank you.

In this context - I highly recommend to anyone interested checking out "Becoming a Technical Leader" by Gerald Weinberg.

Probably my number one recommendation would be effective public speaking combined with effective writing of presentations of ideas. If you can't communicate your ideas both effectively and persuasively, you will be severely hobbled in your career. Even for people on the technical track rather than the management track, as you become more senior, you'll be expected to explain your architecture / designs to junior engineers looking to your for guidance.

Even if you are severely introverted (I am) you need to make as much effort as possible to overcome it. People who can't communicate are effectively invisible, regardless of how well they do their jobs, and invisible people are replaceable people.

Speaking in a confident voice. Scott Adams book "How to Fail at Everything and Still Win Big" was an eye opener.
Technically creative and curious business analysts area an role that will be emerging in the next few years, having one group to do B1, and another to do tech is fast going out the window. Techies can learn business much easier than most business folks can learn tech from my observations and experience.

Why is this important?

The single most important skill I see needed in technical people is empathy to the problems people are solving. Just because it's trivial to one group to solve, or prioritize does not mean it's not valuable. Being able to put yourself in the actual shoes of the user, their needs, their perspectives to ultimately empower them, instead of taking the easy way of interpreting from a distance how they must do their job/task based on how you would approach it.

There is a great deal of intellectual capital in any organization where people have a "why" of how to do things a certain way that is not 100% the standard procedure.

These things form the competitive advantage that software developers, implementors, and consultants can kill in an organization.

Want to be a better software developer? Help people solve problems better in their terms, not our own. Whether it is a sales, marketing, production, design or management problem, being able to relate to the problem and how it's beneficial to solve is the single biggest valuable skill that I have landed on.