Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> must practice persuasively and clearly communicating their ideas to non-programmers

If you’re a CS major, panicking over this sort of “technical skills aren’t enough, you have to be a persuasive public speaker and effectively do management’s job for them”, people have been saying this since at least I started coding 30 years ago, and I don’t see any evidence that it’s actually true any more than it was back then - focus on technical ability, that’s a hell of a lot harder to come by than “powerpoint skills”.



> focus on technical ability, that’s a hell of a lot harder to come by than “powerpoint skills”.

I'll agree and disagree:

Yes, the target audience here SHOULD focus on technical ability. Not because it's "harder", but because that will be the primary decider in getting hired.

That said, I'd say my communication skills have been a central part of my success. Not "powerpoint", so much as being able to distill down ideas, translate abstractions, and of late, learning how to examine other people's ideas without coming across as I'm attacking them. My personal impression and the reaction my managers have given me is that these skills are both rare and valued in the field. But you do of course need technical ability or they are worthless.

I definitely think I've achieved more success than my technical ability alone would grant me. It could be Imposter Syndrome talking, but I'm not actually all that great at this. Just good enough, and my communication skills ensure that the "good enough" is applied where it's needed and to the degree it is needed.

Ultimately, coding is communication, and maintainable/extendable/flexible code is a lot of communication to other devs (including your future self). Even outside of the role of managers, and even outside of planning and architecting with your peers, communication is a valuable skill for a programmer to have.


Junior developers get hired on their technical skills. Mid-career developers get hired on their communications, interpersonal, and domain understanding skills. Founders and executives get "hired" on their strategic skills.

If it's your first job out of college, don't worry too much about the communications skills yet. Your technical abilities will be your differentiator, and your daily job will largely consist of implementing things.

But if you don't pick up communication skills within the first 10-15 years of your career, it will limit you. You'll be stuck implementing things forever, which may be what you want, but it will shut you out of some higher-compensated and higher-impact jobs.

Unless you just want to go the founder route and hand your company off to a professional CEO that the VCs hire once you've proven out product/market fit. If you have both technical and strategic skills you can do that, but the lack of communication skills will still keep you from running your own company.


>Junior developers get hired on their technical skills. Mid-career developers get hired on their communications, interpersonal, and domain understanding skills.

I found this to be true outside of tech hubs (Silicon Valley, NYC, London, etc.) but in tech hubs mid career developers absolutely do get hired on tech skills.

Even outside of tech hubs, mid career developers might not be hired on their technical skills directly, but they'll definitely get hired for a work history that implies stellar technical skills (e.g. a 2 year stint at Google).

This happens not because tech skills aren't valued outside of hubs, but because there's a dearth of people to actually assess them properly. This is, I think, where the idea that domain knowledge/people skills are more important - from people working in, say, Oklahoma City rather than NYC.


Too young to know for sure...but seems right. Can you help me understand what strategic skills are? Resource management?


Strategic skills are understanding the context and constraints that you operate under and acting to maximize the advantage that things you do not control give you. Things like positioning yourself in the right market within the right industry; understanding how the market will change and how you can capitalize on that change; knowing who the other players are; predicting what they're likely to do based on their incentives; building alliances; making trade-offs; and identifying underutilized resources that you can capitalize on.


> learning how to examine other people's ideas without coming across as I'm attacking them.

This is an extremely valuable skill to learn as well as a difficult one. Unless you work in a vacuum this will help you work better as a team. It is one of the differences between a fantastic manager and a bad manager. People will value your opinion and it will help you learn more (because you will see more code and how others do things. Unless you're the best and do everything perfectly). It's also something you have to continually work at and improve upon. Of soft skills this is one I'd put in the forefront for any engineer.


The real pain is that most of us think we ARE good at it. We think about our intentions, and not what comes across. Intent rather than impact.

But it's the impact that matters.


This is very true. But once you start learning this I think people start to realize others intent and that changes impact. At the end of the day we all kinda suck at communicating with one another and I believe that you should try to see intent too(I've found that this makes my life substantially less stressful as things that used to impact me negatively don't do so as much anymore). I'm not trying to give people an excuse for being a jerk but it helps with impact if you realize that they're not trying to be or that they're just stressed (I've also found that by doing this and being calm generally results in people apologizing after they've destressed).


i think this is called empathy


It is. But these days, when the word "empathy" shows up in discussions, it's usually in the context of understanding someone's difficult position and why they may feel some resentment or jealousy towards you. Here, it's the opposite - it's the empathy needed to not randomly take offense when people say things to you.


Haha yes. But some times it needs to be restated.


There is a good saying on this topic that helped me be more mindful of the phenomena you described: people tend to judge themselves by their intentions, but other people by their actions.


One thing that is hard is that you cannon control the impact of your words. You can influence it. With skill and perceptiveness you can strongly influence it. But you cannot 100% prevent someone from interpreting your words as an attack any more than the driver of a car can 100% guarantee he’ll never fatally collide with anyone.

Good resources for understanding how to control the impact of your words include the book Difficult Conversations and others from the Harvard Negotiation Project.


Agreed. A barometer of how well you're doing can be: how effective are you at persuading people when you need to? If you get in the "everyone around me is an idiot / don't know how computers work" head space you're probably lacking on communication skills. Being right is only half the battle - you often have to be able to convince others you are right.

The distinction between this and forms of communication often considered distasteful in technical circles is that you are - in fact - right (technical skill). It's not "sleazy" marketing if it really is "the world's best pizza!" :-)


An unspecified skill is the ability to distill what the business actually needs versus what they say they need.


Fully agreed. Technical ability comes first, but having good communication skills is a hell of a force multiplier.


I would say there's plenty wrong with this list, but this one is, ironically, mostly true but malphrased. A better way to put it would be: "don't be content with being so bad at communication that it gets in the way of your ability to make your (technical) point". If you know something about how _not_ to communicate (badly), you can allow your technical expertise to be more influential when technical decisions are made (by people higher ranking than you).

It's not becoming a salesman. It's avoiding the situation of being so bad at communicating, that your technical expertise is ignored. Non-technical people usually _want_ to hear your point, in regards a technical decision. If you are unable to help them know what you're trying to say, they may not understand what you're trying to say, and then you'll wonder afterwards why they hired the technical person and then ignored their technical advice. They're not ignoring your advice, in many cases they simply cannot perceive clearly what you are trying to say.

I hope that I have made my point understandable here. But, you know, I may not have. :)


You seem to be saying that unless someone's communication skills are WAY below average, they can slide by unnoticed.

I can't agree. In my experience, 90% of developers have poor communication skills and it hurts them every time they write or speak publicly (or document their code). Not just developers, of course. It's a rare person who knows how to tell a tech tale that isn't a confusion of disconnected factoids, or who seems to care whether they bore the hell out of their audience.

But I care. And everyone I respect cares; they just won't admit that they expect to be bored by techies when they speak or write, so they accept boredom and confusion as the norm. (In large corporations, especially.) But it shouldn't be. As a professional, everyone is obliged to organize their thoughts, be clear, and convey a message. THAT should be the norm. It's an essential part of doing any job well.

Like so many things in life that matter most, teaching good communication skills (and rational thought) is largely absent from college curricula (aside from writing a paper). But its absence doesn't mean that communicating badly won't hurt your career later.

Wasting other people's time is disrespectful and lazy and unprofessional. And it makes you look bad. So blather not.


In my experience the reason people have such a hard time getting their point across is because they don't understand it very well themselves. Almost no engineers really understand what they are doing so the only effect practicing communication will have is make them better able to hide their ignorance behind fluffy words, kinda like most management types do. I think that it is a good thing when people are bad at hiding their ignorance, so I prefer communicating with engineers over management types.


No, that's not quite what I'm saying (so I must not be good at communicating). But I am saying you don't need to be way above average. You need to be good enough that it's not an obstacle. Having excellent communication skills, and NOT having poor communication skills, are very different levels of effort to achieve. The first takes a LOT of work; the second takes some attention and effort, but not nearly as much.


I know what you're talking about. I've done it and seen others fall into this trap as well. If there was a list of ways in which this can happen, it would be golden.


I have noticed a distinct improvement in my day to day life, not even just interviews, from really focusing on soft skills.

When I was a kid I'd start every sentence with "actually" and use jargon without considering whether the other person was following what I was saying. I got told to shut the fuck up a lot as a result.

Now I've had at least a half-dozen people earnestly tell me I should be a teacher. When I think back to my childhood, that blows my mind.

The biggest benefits to my life and mental health came from learning:

* How to better squeeze requirements out of non-technical users, and explaining why the edge cases shouldn't be left to the last minute.

* How to talk to the boss(es) about prioritization, hard requirements vs nice-to-haves, and estimated timeframes. Understanding why you're being asked to do a task and varying your approach on that information will instantly improve your relationship with your boss.

* How to respectfully delegate and offer assistance.

* How to productively critique and receive criticism.

And the best thing? I don't feel at all like these came at the expense of technical skills. I need to be a different mindset to learn either of them, so I structure my efforts around that.


> I don’t see any evidence that it’s actually true any more than it was back then - focus on technical ability

Learning how to communicate to non-programmers improves your technical ability.

In my experience, programmers who can't communicate to non-programmers don't understand that all scenarios are specific instances of increasingly more abstract scenarios. Programmers who don't internalize that build inelegant and fragile systems which work for specific arbitrarily chosen test data and then instantly fail in the real world.

If you can't explain a program further than jargon, then you haven't thought enough about what the program is actually supposed to accomplish.


> focus on technical ability, that’s a hell of a lot harder to come by than “powerpoint skills”.

I don't know, actual presentation skills seem to be rather hard to come by. Just because someone can crank out presentations does not mean they actually have any skill in it.


This.

Droning over PowerPoint != Communication Skills

(most people holding PowerPoint presentations are blissfully ignorant how bad they are at it)


You're falsely equating the ability to communicate one's ideas clearly with "PowerPoint skills".

Technical ability is useless if you're not able to convince others why your project is useful or interesting. If you can't distill what you're doing into terms understandable by a non-expert, then you don't understand your own work well enough in the first place.


Technical ability isn't relevant in ~90% of "CS" jobs. Everyone can do the basics, and you don't need more than the basics to do 90% of "CS" jobs.

You will be left behind by coworkers who can communicate, and you will be confused about why, if you can't communicate well. Specifically, if you can't take an idea you have and convince others it's the right idea.


I agree, but I'd describe those as "corporate IT" jobs, not as "CS" jobs. A degree in CS really isn't suited to later being embedded in a large corporation's IT division. To fit in there, a computer scientist would first need a lobotomy.


I definitely think these corporate IT jobs are challenging, just not in any way a Computer Science degree prepares you for (nor should it?).

I don't want to drag us down the rabbit hole that is the current state of software education, however.


Strongly disagree. Effective technical leadership is a rarer skill than pure technical chops, especially as one becomes more senior in an organization. And it’s much more than “PowerPoint skills”——it’s driving consensus and making good decisions in highly ambiguous situations.

That said, I agree that it’s not something CS majors should worry about much in school. It’s something you learn as your career progresses.


There's probably a few qualifiers:

1. What environment you work in: a large corporation vs small technical startup

2. What your ambitions are:

* Bluntly, if you want to be a very, very good coder who gets left alone and is largely handled/insulated by management, gets client requirements translated to and from them, that is certainly achievable by focusing on strictly technical skills. You can advance and be respected within that particular niche.

* If you want to be a solid team lead or manager who actually solves their team member's organizational problems / abstracts the organization challenges away from them; understand and trully aid your client; interact with various parts of your and client's organizations to make a larger change or lead a larger project; then a communication skillset is of course crucial.

It is almost tautological that to effectively communicate to various groups (programming peers, other technical personnel, management, business, clients, users) you have to be good at communicating to various groups :-/

--- As to what's difficult to acquire, again, it can be argued both ways. My wife is a tremendous communicator but technical abilities would be hard for her to acquire. At the same time, quite certainly a large amount of my technical colleagues and co-workers would and do clearly struggle to acquire communication skills. Or put another way, I'm personally in an environment with technical skillset out the wazoo (which is important and respected and appreciated), but communication skills are rare and prized.


Powerpoint skills are where the money is, in large businesses that aren't FAANG. And probably even there, somewhat. I've come to this conclusion after seeing a lot of not-especially-smart-or-effective people-person folks with Powerpoint skills making serious money.

[EDIT] it also seems to me that good presentation and communication skills are how you achieve "you don't apply for jobs, jobs apply for you" status without top 1% tech skills.


The best advice I ever received re: PowerPoint was: "Don't present with PowerPoint. Use it to create a PDF from which to present."


I use PDF for high-level conversations. It appears more polished.

I use PPT for low-level conversations. You can double click on graphs to see the numbers.


How do you compose the document / slides that you use to present via PDF? Using powerpoint or something else?

I'd love to find a tool that composes more attractive presentation media than does powerpoint. But I'm too blinkered by my and everyone else's use of powerpoint to know what that could be.


Not that you're necessarily emailing these, but on the "appears more polished" thing, you may be surprised how many C-level (and somewhat under) folks don't read email attachments unless they are .ppt(x) files.


Well, knowing your audience is a thing too. If your C-level eyeballs only read pptx, then do that. But honestly I wouldn’t count on C-level at any company to understand what I’m saying unless I say it directly to them and answer their questions in person.


I'm not sure I fully understand. Would you mind expanding on that?


I'm curious too, but from related personal experience:

1. One of the best communicators I've met strongly suggested never to present from powerpoint on screen, but rather create a brochure to print and hand off to participants. His claim was less that it impresses, but rather that it changes dynamics of "presenter vs audience" and makes it more of a "discussion group / workshop", which tends to be a more productive dynamic, especially in sales/persuasive setting.

2. Alternatively and more prosaically, dear gawd, 99% of people using PowerPoint don't know how to use it. They don't know how the slide show view interacts with a Webex presentation, so they end up sending a small thumbnail to projector, presenter view to remote audience, but hey things look ok on their screen so they keep going. PDF would alleviate some of those issues :P


A PDF is more portable, smaller file size, and it brings along the fonts it requires to display as-you-created-tt on another computer, which may not have them installed.

Plus you don’t have to worry about the errant slide transition working its way in, and it tends to load faster.

I don’t, as a rule, include video or other fancy effects in presentations ( they’re still referred to as “slide decks” where I work ), so PDFs are perfect. YMMV


Meh, I worked for one of those Fortune20 behemoths (Not tech) and all the presentations from a fresh intern up to the CEO were made in Power Point. 99% of business analytics? = Excel. Same in a big government organization (non US), I am as much a nerd as most people here, but being outside in the real (non-tech) world helped me to realize how much the tech world can blind you.


Powerpoint seems designed to lead people to create poor presentations. NOT learning Powerpoint would seem to give one an advantage.


It may not be any more true today than it was back then, but it was hella true back then. (Crap! Almost 30 years?! Geeze.) Not being able to convince other people that a) you know what you're doing and b) they should do what you suggest will hamstring your career. Just like it did back then.


I don't think that point is saying "you have to be a persuasive public speaker and effectively do management’s job for them".

I really dislike speaking to groups of more than 2 or 3, and I want to stay as far away from any management-like duties as I can.

That said, I'm on a smallish dev team in a very large company, and I regularly find myself having to explain technical things about our products and components to people without a current technical background. If I can't clearly communicate, things can go badly to varying degrees.


I've actually found the opposite. Even when I was consistently evaluated to have above-average technical skills (for the company I work at), what kept my career growth from advancing was a lack of personal skills. What's more, ever since I started improving those my personal life started seeing a big improvement as well.

I recognise that for most, being at least moderately skilled at people comes as a given. For those of us where this is not the case it really helps to consciously work at those limitations.


Politics and stupid games are at the majority of challenges by a vast margin. Most of us are actually happy when they face a technical challenge, because it's so rare compared to arbitrary shit thrown in your way as a pissing contest between nominal "stakeholders" who don't care about the product, the user or the future of the company.


PowerPoint is one of the worst way of persuasively and clearly communicating ideas, be it to programmers or non-programmers.


This. There's a difference between superficially appearing to be effective and actually being so. See Death by Powerpoint[0].

[0] https://www.zdnet.com/article/death-by-powerpoint/


they're equally important and require time and practice




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: