← Back to context

Comment by scarface_74

2 days ago

Dealing with people and communication can be learned.

I get it. By nature I was very much an introvert except for certain scenarios when I was in my comfort zone until at least my mid 30s. I was an only child, the stereotypical short, fat kid with a computer growing up in the 80s (still short, became a gym rat, part time fitness instructor and only stopped the latter as my other obligations became greater). Horrible dating life and a bad first marriage before turning 35 (happily remarried since then).

It became apparent that to get ahead in my career, “codez real gud” was going to limit my career. I slowly learned how to “act like I like people”.

But you can only add so much value to an organization typing on a keyboard. There is a reason that every single tech company promotes based on “impact”, “scope”, “dealing with ambiguity”. Those all require soft skills.

Well put. I'm an introvert, I can't do math, I won't travel, etc. are all things that some people claim as if it's the unchangeable nature of things. If that's their chosen path, so be it. But they should understand it will probably be pretty limiting because the world they live in.

  • Yes they are unchangeable. I've tried many many times to break out of it; it works for a while but i revert back to my base behavior.

    We know what kinds of temperament a dog has within few months of it being a puppy ( and who the puppy's parents are). Why would it be different for humans.

    Claim that Our temperaments ( and our likes/dislikes for travel) are all learnt is a bizzare blank slate claim that doesn't track with my life experience and what i've seen in the world.

    • > Why would it be different for humans.

      Because animals typically live in a way more static and uneventful environments, and they have much more limited mental capabilities?

      Humans (and other animals) aren't a completely black slate - but unlike most animals, humans have very complex societies that affect their behaviors throughout their entire lives. A few years in a different environment start to change people. Kids (with their still-growing brains) adapt faster, adults - not so much, but the traces will be evident. Move a not-too-fucked-up Russian to the Pacific Northwest, and they will eventually start to smile now and then.

      Also, thanks to the language, humans can think things up even when alone, drive themselves crazy in all the weird ways, then overcome all that self-inflicted stress and possibly develop some behaviors as a result.

      2 replies →

    • I hated small talk traditionally. It was very much a learned trait. One of the best conversation openers is “what keeps you busy?” and then ask open ended questions.

      Ask about their favorite travel destinations or even what are some interesting things about where they live.

      On the other hand, step outside your comfort zone and try something different so you have something to talk about interesting.

      https://tynan.com/letstalk/

      You didn’t become a software developer overnight. You won’t become a great conversationalist over night either.

      “How to Talk to Anyone”

      https://www.amazon.com/How-Talk-Anyone-Success-Relationships...

      (not an affiliate link)

      1 reply →

> But you can only add so much value to an organization typing on a keyboard.

In my understanding, non-junior software development jobs never were about typing on the keyboard. Senior software engineer is a fancy name for a problem solver, and code is just a specialized tool they can build to possibly achieve the goal. It always was about talking to stakeholders, figuring out what the heck they actually want today, how it fits with what they think they want tomorrow, learning more about those stakeholders so you can guess what they will think they want next week. Only then it's thinking about it all it for a while, and only after that it's getting to press the actual buttons.

But I'm not sure those things require "soft skills" aka - in my understanding - being a people person. For me, it was a very simple learning process - I (as a junior) coded something, a manager came next month and said I have to rewrite everything again because things have changed. I hated it, so I started to think how to possibly avoid or minimize it and optimize my own processes.

And in my mental model, it's not about people (save for tiny companies where a whole department/role is a single person, so I have to account for their mental chaos monkeys), it's all about business. That's why I wrote "stakeholders", intentionally dehumanizing (with no negative connotations) the model.

  • Thinking about engineering leads I know who aren't about leading huge teams, it's still about mentoring, talking to people, making connections, often talking to external audiences, etc.

    I think a lot of that is "soft skills." Maybe not becoming a stereotypical sales person. But it's also not don't ever bug me and let me code.

  • The way that most tech companies define levels - yes I’m simplifying slightly. I’ll provide citations:

    Junior - you are told what to do (business objective) and how to do it (technical).

    Mid - you are told what to do (business objective). But you are expected to use your experience to figure out the “how”. You should be able to lead a decently complicated feature/epic/work stream either by yourself or with others and mentoring other juniors.

    Senior - You are expected to lead major projects that involve multiple epics with multiple developers, talk to “the business”, disambiguate, deal with XYProblems, communicate trade offs between time, cost, meeting requirements, etc. Now you also start having to deal with cross team coordination.

    Staff - cross team impact, dealing much more with business strategy and setting technical direction.

    As an IC, the only things you have at your disposal are your relationships and reputation. Both require soft skills.

    Leveling guidelines:

    https://www.levels.fyi/blog/swe-level-framework.html

    https://dropbox.github.io/dbx-career-framework/