Most active commenters

    ←back to thread

    287 points shadaj | 24 comments | | HN request time: 1.745s | source | bottom
    Show context
    bsnnkv ◴[] No.43196091[source]
    Last month I switched from a role working on a distributed system (FAANG) to a role working on embedded software which runs on cards in data center racks.

    I was in my last role for a year, and 90%+ of my time was spent investigating things that went "missing" at one of many failure points between one of the many distributed components.

    I wrote less than 200 lines of code that year and I experienced the highest level of burnout in my professional career.

    The technical aspect that contributed the most to this burnout was both the lack of observability tooling and the lack of organizational desire to invest in it. Whenever I would bring up this gap I would be told that we can't spend time/money and wait for people to create "magic tools".

    So far the culture in my new embedded (Rust, fwiw) position is the complete opposite. If you're burnt out working on distributed systems and you care about some of the same things that I do, it's worth giving embedded software dev a shot.

    replies(24): >>43196122 #>>43196159 #>>43196163 #>>43196180 #>>43196239 #>>43196674 #>>43196899 #>>43196910 #>>43196931 #>>43197177 #>>43197902 #>>43198895 #>>43199169 #>>43199589 #>>43199688 #>>43199980 #>>43200186 #>>43200596 #>>43200725 #>>43200890 #>>43202090 #>>43202165 #>>43205115 #>>43208643 #
    1. jasonjayr ◴[] No.43196122[source]
    > Whenever I would bring up this gap I would be told that we can't spent time and wait for people to create "magic tools".

    That sounds like an awful organizational ethos. 30hrs to make a "magic tool" to save 300hrs across the organization sounds like a no-brainer to anyone paying attention. It sounds like they didn't even want to invest in out-sourced "magic tools" to help either.

    replies(2): >>43196181 #>>43196562 #
    2. bsnnkv ◴[] No.43196181[source]
    The real kicker is that it wasn't even management saying this, it was "senior" developers on the team.

    I wonder if these roles tend to attract people who get the most job enjoyment and satisfaction out of the (manual) investigation aspect; it might explain some of the reluctance to adopting or creating more sophisticated observability tooling.

    replies(7): >>43196541 #>>43196620 #>>43196834 #>>43197757 #>>43200114 #>>43200855 #>>43201038 #
    3. zelphirkalt ◴[] No.43196541[source]
    Senior doesn't always mean smarter or more experienced or anything really. It just all depends on the company and its culture. It can also mean "worked for longer" (which is not equal to more experienced, as you can famously have 10 times 1y experience, instead of 10y experience) and "more aligned with how management at the company acts".
    replies(2): >>43196707 #>>43199260 #
    4. cmrdporcupine ◴[] No.43196562[source]
    Consider that there is a class of human motivation / work culture that considers "figuring it out" to be the point of the job and just accepts or embraces complexity as "that's what I'm paid to do" and gets an ego-satisfaction from it. Why admit weakness? I can read the logs by timestamp and resolve the confusions from the CAP theorem from there!

    Excessive drawing of boxes and lines, and the production of systems around them becomes a kind of Glass Bead Game. "I'm paid to build abstractions and then figure out how to keep them glued together!" Likewise, recomposing events in your head from logs, or from side effects -- that's somehow the marker of being good at your job.

    The same kind of motivation underlies people who eschew or disparage GUI debuggers (log statements should be good enough or you're not a real programmer), too.

    Investing in observability tools means admitting that the complexity might overwhelm you.

    As an older software engineer the complexity overwhelmed me a long time ago and I strongly believe in making the machines do analysis work so I don't have to. Observability is a huge part of that.

    Also many people need to be shown what observability tools / frameworks can do for them, as they may not have had prior exposure.

    And back to the topic of the whole thread, too: can we back up and admit that distributed systems is questionable as an end in itself? It's a means to an end, and distributing something should be considered only as an approach when a simpler, monolithic system (that is easier to reasona bout) no longer suffices.

    Finally I find that the original authors of systems are generally not the ones interested in building out observability hooks and tools because for them the way the system works (or doesn't work) is naturally intuitive because of their experience writing it.

    5. jbreckmckye ◴[] No.43196620[source]
    Why would people who are good at [scarce, valuable skill] and get paid [many bananas] to practice it want to even imagine a world where that skill is now redundant? ;-)
    replies(1): >>43198474 #
    6. bongodongobob ◴[] No.43196707{3}[source]
    I'd probably take 10x 1y experience. Where I'm at now, everyone has been with the company 10-40 years. They think the way they do things is the only way because they've never seen anything else. I have many stories similar to the parent. They are a decade behind in their monitoring tooling, if it even exists at all. It's so frustrating when you know there are better ways.
    replies(1): >>43196888 #
    7. Henchman21 ◴[] No.43196834[source]
    IME, “senior” often means “who is left after the brain-drain & layoffs are done” when you’re at a medium sized company that isn’t prominent.
    replies(1): >>43199982 #
    8. HPsquared ◴[] No.43196888{4}[source]
    "10x1y" means someone did the same thing for 10 years with no change or personal development. The learning stopped after the first year which then repeated Groundhog Day style.
    replies(1): >>43196902 #
    9. bongodongobob ◴[] No.43196902{5}[source]
    Ah, I misunderstood.
    replies(2): >>43199036 #>>43199046 #
    10. the_sleaze_ ◴[] No.43197757[source]
    _To play devils advocate_: It could've sounded like the "new guy" came in and decided he needed to rewrite everything; bring in new xyx; steer the ship. New guy could even have been stepping directly on the toes of those senior developers who had fought and won wars to get were they are now.

    In my -very- humble opinion, you should wait at least a year before making big swinging changes or recommendations, most importantly in any big company.

    replies(1): >>43198942 #
    11. filoleg ◴[] No.43198474{3}[source]
    The real skill is “problem-solving”, not “doing lots of specific manual steps that could be automated and made easier.”

    Unfortunately, some people confuse the two and believe they are paid to do the latter, not the former, simply because others look at those steps and go “wtf, we could make that hell more pleasant and easier to deal with”.

    In the same vein, “creating perceived job security for yourself by willing to continuously deal with stupid bs that others rightfully aren’t interested in wasting time on.”

    Sadly, you are ultimately right though, as misguided self-interest often tends to win over well-meant proposals.

    replies(1): >>43201171 #
    12. jiggawatts ◴[] No.43198942{3}[source]
    In my less humble opinion: the only honest and objective review you’ll get about a system is from a new hire for about a month. Measure the “what the fucks per hour” as a barometer of how bad your org is and how deep a hole it has dug itself into.

    After that honeymoon period, all but the most autistic people will learn the organisational politics, keep their head down, and “play the game” to be assigned trivial menial tasks in some unimportant corner of the system. At that point, only after two beers will they give their closest colleagues their true opinion.

    I’ve seen this play out over and over, organisation after organisation.

    The corollary is that you yourself are not immune to this effect and will grow accustomed to almost any amount of insanity. You too will find yourself saying sentences like “oh, it always has been like this” and “don’t try to change that” or “that’s the responsibility of another team” even though you know full well they’re barely even aware of what that thing is, let alone maintaining it in a responsible fashion.

    PS: This is my purpose in a nutshell as a consultant. I turn up and provide my unvarnished opinion, without being even aware of what I’m “not supposed to say” because “it upsets that psychotic manager”. I’ll be gone before I have any personal political consequences, but the report document will remain, pointing the finger at people that would normally try to bite it off.

    replies(2): >>43199994 #>>43207753 #
    13. lazystar ◴[] No.43199036{6}[source]
    another term for the phenomena is the "expert beginner" trap.
    14. Nevermark ◴[] No.43199046{6}[source]
    I see a dual. Between 10x1 workers and 1x10 workers working at 10x1 companies.

    Either way, doing the same kinds of things, the same kind of ways, more than a few times, is an automation/tool/practice improvement opportunity lost.

    I have yet to complete a single project I couldn't do much better, differently, if I were to do something similar again. Not everything is high creative, but software is such a complex balancing act/value terrain. Every project should deliver some new wisdom, however modest.

    15. fuzztester ◴[] No.43199260{3}[source]
    I have heard it as 20 versus 1, but it is the same thing.

    also called by some other names, including NIH syndrome, protecting your turf, we do it this way around here, our culture, etc.

    16. getnormality ◴[] No.43199982{3}[source]
    I feel so seen.
    17. disqard ◴[] No.43199994{4}[source]
    This rings true in my experience across different orgs, teams, in the tech industry.

    FWIW, academia has off-the-charts levels of "wtf" that newcomers will point out, though it's even more ossified than corporate culture, and they don't hire consultants to come in and fix things :)

    replies(1): >>43201140 #
    18. Jach ◴[] No.43200114[source]
    There's also immense resistance to figuring out how to code something if an approach isn't at once obvious. Hence "magic". Sometimes a "spike doc" can convince people. My favorite second-hand instance of this was a MS employee insisting that a fast rendering terminal emulator was so hard as to require "an entire doctoral research project in performant terminal emulation".
    19. scottlamb ◴[] No.43200855[source]
    > I wonder if these roles tend to attract people who get the most job enjoyment and satisfaction out of the (manual) investigation aspect; it might explain some of the reluctance to adopting or creating more sophisticated observability tooling.

    That's weird. I love debugging, and so I'm always trying to learn new ways to do it better. I mean, how can it be any other way? How can someone love something and be that committed to sucking at it?

    20. whstl ◴[] No.43201038[source]
    I saw a case like this recently, and the fact is that the team responsible was completely burned out and was just doing anything to avoid people from giving them more work, but they also didn't trust anyone else to do it.

    One of the engineers just quit on the spot for a better paid position, the other was demoted and is currently under heavy depression last I heard from him.

    21. fc417fc802 ◴[] No.43201140{5}[source]
    Not sure which specific field you have in mind there but many parts of academia also have off the charts levels of, as GP put it, "the most autistic people". Outside of the university bureaucracy (which is its own separate thing) nearly all of the "wtf" that I encountered there had good reasons behind it. Often simply "we don't have the cash" but also frequently things that seemed weird or wrong at first glance but were actually better given the goals in that specific case.

    Interfacing with IT, who thought they knew the "right" way to do everything but in reality had little to no understanding of our constraints, was always interesting.

    22. fc417fc802 ◴[] No.43201171{4}[source]
    If the goal is ensuring a future stream of bananas then can you really say the behavior is misguided?
    23. the_sleaze_ ◴[] No.43207753{4}[source]
    This is quite a defensive posture. In my current role I've been able to see an incredible raft of insanity, not be obtuse or arrogant enough to dismiss solutions or the intelligence of those who made them, but literally make a communal list of refactor candidates. Then slowly but surely wrangle people and political capital to my side to eventually change them. Years later we still have cruft leftover but there are many many projects, some multi-year, which are now complete.

    I also see a single-mindedness to specific technical implementations where a more mature view would be to see tech as a business and us less as artisans than blue collar workers.

    > steve jobs on "You're right, but it doesn't matter" https://www.youtube.com/watch?v=oeqPrUmVz-o

    replies(1): >>43212208 #
    24. jiggawatts ◴[] No.43212208{5}[source]
    Your attitude is commendable! It’s what a true leader should do, and you deserve to be promoted for it.

    My comment was a statistical observation of what typically happens in ordinary organisations without a strong-willed, technically capable leader at the helm.

    Disclaimer: Also, I have a biased view, because as a consultant I will generally only turn up if there is something already wrong with an organisation that insiders are unable to fix.