Hacker News new | ask | show | jobs
by ajarmst 2041 days ago
An observation: a lot of these---especially 'soft skills'---can't be properly learned earlier. They're a side effect of experience, and the 10 years doing the job is the only way to properly get them. The things I most often hear from potential employers when we ask what we should focus on more in teaching them are "soft skills" and "troubleshooting". My response is now to ask which of the long list of technical skills we teach we should drop or reduce in favour of more soft skills (none) and to remind them that when they say they need employees who are good with team-mates and clients and good troubleshooters, what they're describing is an employee with experience and I simply can't generate that in a two-year program. Fundamentally, that part of the education is the on-the-job part, and it can't be skipped.

We do work at those, but fundamentally, skills at (1) working well with a variety of people and (2) understanding systems and their interactions well enough to hypothesize and test for causes of faults are both things you can have more or less talent in, but they're fundamentally skills that come as the result of substantial experience working with different people and working with complicated systems.

You probably can't properly learn these without spending the ten years, but you can choose jobs and colleagues and experiences that will help you learn them better. Better to focus on emulating how people learned these skills than trying to skip the hard part.

5 comments

An aphorism I occasionally use (I can be tedious): "the only way to make a twenty-year old comfortable leading a meeting is to wait until they're a thirty-year old." Doesn't stop us from forcing the poor bastards to do public-speaking assignments or dropping them into "teams" of completely inexperienced people they've never met with no leaders in the name of ephemeral "soft-skills."
I am only 26, and I know I'm not good at management, but I don't think that's really true. During secondary school, I took part in Model United Nations conferences, and after the first two or three, I was magically completely happy standing up in front of a large audience of peers being asked awkward questions. There are a bunch of required skills that you can simply train (e.g. with Toastmasters), even if you can't hit the entire spectrum of management skill this way.
That's a fair point, but note that you're describing the sort of experience that is real, and therefore valuable. Model United Nations is one thing, 'give a two minute speech on a topic of your choice, and we're going to grade your slide deck' is another. Extra-curricular things like toastmasters and Model UN and things like apprenticeships, internships and co-op are ways of acquiring more real experience earlier, not a replacement for real experience. Sadly, programs that provide that sort of experience are among the first casualties of budget or other pressures.
I was active in Model UN many years ago, and I really just didn’t get Toastmasters. It felt like talking about nothing for no reason to people that don’t care. It’s unfortunate that meaningful formal debate seems to stop in adulthood. There certainly are plenty of things to disagree about.
There should be a topic-specific analogue of Toastmasters and it shouldn't urge you to exude false confidence.
This is such a self-fulfilling prophecy it hurts. Especially having been in leadership programs with other engineers in my early 20’s and go on to see them have some of the best soft skills in my later years. After 3 Fortune 100 companies, I have met a magnitude more of software engineers and infrastructure engineers over 40 that refuse to speak up and refuse lead because they see same thing over and over again, new older leadership comes in tries to change things a bit, they just keep developing software, and question why does it matter to lead or communicate.

I currently work on a team of 10 engineers and 2 of them over 50, asked me what was GraphQL, when I did a public demo on GraphQL APIs around it. We are in a department that runs an e-commerce product with 30mil+ monthly visitors. How does a 25, 26, 27, year old automatically mean bad at public speaking...? Personally, my best manager has be 28 years old.

The numbers are arbitrary. My primary point is that many important skills cannot be learned without the requisite experience. Individual experiences, talents and interests vary. Perhaps adjust my crude analogy to note that your very good manager at 28 would probably agree that she wasn't very good at it when she first left school or for the first few years of her career, and that her skill at working with other people was learned primarily from working with other people, not self-study, instruction, or other process that allowed for much compression of the time it takes. Those who excel early usually have done so because they started earlier and sought more opportunities for the necessary experience. I suspect if you broke it down to hours, you'd find a similar number, just applied at a rate of 20 hours a week instead of 10.
I should add that there is one other way to make that twenty-year-old comfortable: have them be a sociopath. But our problem of distinguishing between sociopathy and confident leadership is a much, much longer conversation.
I think they can be taught. By setting out to teach rather than boast about experience, ive seen senior developers instilling better soft-skills in new grads. A lot of new grads just aren't thinking about this stuff as much as the tech but once you take them under your wing and walk them through how the presentation of an idea will let it be received better regardless of technical merit they begin to see it.

It may take 10 years to blindly learn these skills but with a single, good mentor you can learn it quickly. I think most senior developers dont have the patience nor the transparency to lay this out though. Its a very honest conversation to have with someone - "Hey that idea you had is a good one but your presentation of it is problematic. Here is how you can make people more likely to see your point of view" is not as sexy as debating microservice vs monolith.

I would argue: There is NO shortcut for experience. But not all experience is created equal. Telling someone HOW to do things right (we are talking soft skills, for hard skills its a bit different), is not helpful. You need to expose them to situations where they have weaknesses, and then coach them how to overcome the problems they face. I.e. there is a fine line between "telling people what to do", which is ineffective short-term and contraproductive long-term; and "exposing people to situations that make them behave wrong", which is the most effective learning tool, that doesn't have drawbacks, outside of the short-term (because you know that this person will not do the job right, but you also know they are not going to do it wrong another time, plus they will learn how to recognize other similar situations and avoid making this mistake there as well).

The best thing universities can do is to instill an understanding of soft skills in people. They should come out of university knowing:

* How important soft skills are

* That they are the differentiator between senior and junior

* How to best learn them (don't hunt highest pay, hunt highest experience gain)

* etc.

I would add that part of that experience is seeing how teams/situations/products pan out and then being able to recognize those patterns and nudge/head off issues early in the process.

In that respect I've learned a lot more from projects that have gone off the rails to some degree than projects where everything went according to plan.

In an ideal world you have the opportunity to give each person on the team the right amount of risk with enough of a safety net so that if things really go sideways the team has their back. Finding the balance with the rest of the project requirements, business inputs and other pieces is where it gets interesting.

Failure is our best teacher. I do spend a lot of time on that with my students. I have a professional and personal interest in formal failure analysis, and try to instill that in students. Apollo 1 saved more lives than it took, and Windows Vista teaches you everything you need to know about monolithic, slow-moving software projects with unclear goals. Dai-Katana and Duke Nukem are masters' courses in the toxic interaction of aggressive marketing and product development. I think Trump might end up being one of the best things that ever happened to American Democracy.
This is the good type of soft skill, and there is the bad type: soft skill when a person can just talk very nicely, and suck it up to his upper management, do the very simple things (like fixing all lint errors and following 30 other recommendations inside the company) instead of providing real value to the company and the users to get promoted.

I had a manager like that, and I made the mistake of confronting him for ,,safe'' and bad technical decisions (in which case the higher level person always wins), instead of just nicely switch teams without confrontation.

As a counter observation: I agree with you but I don’t think it takes 10 years, but it’s not a bad estimate. Being deeply involved in teams working important products for your company can speed this up.
Agreed. I allude to that in my last sentence of the original comment.