• Aceticon@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    11 hours ago

    Don’t take this badly, mate, but you sound like me when I was a “kid” thinking I was truly the shit for all my technical achievements as a self-taught programmer.

    Absolutely, really impressive 1 in a really-big-number kind stuff, just the most pure technical track imaginable and not the same as understanding software development the process as whole, at all.

    Decades later, 3 countries later, several industries later, various different environments and kinds of projects later and all sizes of company later, I’ve figured out that they pay us the big bucks to make software for OTHER PEOPLE, to serve THEIR needs not ours needs and certainly not for our personal enjoyment, though a good dev will always find some enjoyment in cracking complex problems, IMHO - from were a fuckton of constrains and dependencies on what and how you make it and whom do you have to work with are born - and if you want to achieve something that’s great in more axes of greatness than just pure technical impressiveness you need to actually learn how to effectively work in a team and with other teams even non-technical ones, including, beyond a certain point of experience, how to empower other more junior people in your team rather than just be pissed off at how little they know.

    (And I don’t mean going into the Management track, I mean staying the Technical career track and still progressing as a Software Engineer).

    And don’t get me started on the engineering-style concerns of software design around software live cycle in production and how to prepare for expected future directions of change.

    Mind you I’ve crossed paths over the years once or twice with people who never moved beyond “technical excellence” as their one and only metric for software development (typically “rockstar coders”) and they were invariably miserable people who bitch and moaned about “lusers” and how other developers don’t know how to use the (not really properly designed for robust usage by people that can’t read your fucking mind) libraries they made.

    Unless you find yourself a nice niche where you can be a solo rockstar hacker, technical excellence is only a good software development metric up to maybe the 5 years experience mark. Beyond that, unless your career has stagnated you’re supposed to be delivering the results the customers need to the customers and doing so in complex environments in cooperation with various teams, some of whom don’t at all understand most technical language and certain don’t have a fucking clue what “pre-emptive multitasking” means.