Settings

Theme

Where have all the hackers gone?

morepablo.com

285 points by danieka 3 years ago · 350 comments

Reader

TheDong 3 years ago

Have other people observed the sentiment the author observes, around hackers being less common?

The author has a list of reasons (VC money, business culture, managers, fear of the unknown).

I, personally, have observed this reduction over my career, and I have my own idea of why that might be, my own phrasing of it. Perhaps it gets at the same thing as the author from a different angle.

I think the reason, plain and simple, is that most developers aren't really in it for the passion anymore, but rather the money.

When I first started coding, I didn't get paid. I didn't think I ever would. I was just having fun building stuff for myself. I, and the other people like that, moved into the workforce and brought that level of curiosity. Of hacker spirit.

However, as the idea of "programming makes money" became more well known, and bootcamps + college both upped their game, more and more people started coding just with the hopes to make money. To get good enough to make money, not care about "huh, how does the bootloader actually work" or "Why did chrome just crash, let me open up gdb...".

At the same time, I think other people who came into tech when it was a less obvious career path (and thus was something you usually discovered based on having some initial interest outside of "I want a paycheck") are getting older. They're getting older, having kids, and now also have a reason to treat their job as a 9-5. "Chrome crashed, I could open gdb and figure it out... but I'd rather watch my kid's soccer game".

I think new hackers still form, but they're diluted by programming becoming a career path desired for money, not just for a love of programming itself. I think existing hackers, over time, also often become less hacker due to life slowly grinding them down.

  • sph 3 years ago

    > I think the reason, plain and simple, is that most developers aren't really in it for the passion anymore, but rather the money.

    This site is a prime example. There can't be a post about a non-mainstream programming language without someone's comment saying "I don't get the point of this, it is really hard to hire for/it would be really hard to pick up for junior developers."

    It seems every small project, library, language is evaluated in the context of the average FAANG developer, or whether it would fit in a startup environment. Hacking, as in enjoying the art of programming computers, is going the way of the dodo, especially on this site. The few remaining hackers are massively outranked by the "I only know Javascript" average dev, the Silicon Valley-adjacent MBAs and the huge number of those that somehow are here just to post and comment about non-programming topics.

    On the rare occasion there's a post on Lisp or software-defined radios, for example, you often see the same faces. It seems that on here, the nucleus of hackers has remained more or less constant since 2010, while all other demographics flooded in.

    As an average hacker, I must say that I don't give a rat's arse anymore about most mainstream programming topic you can find on this site's front page.

    • Mezzie 3 years ago

      > somehow are here just to post and comment about non-programming topics.

      I comment way more on non-programming topics because that's where I think I can contribute - most people on here are better programmers than I am but I have life experiences that are fairly unusual for this particular bubble. I do read the technical posts but I don't have much to say.

      As for the 'somehow', I was raised by hackers and I used to be one - I'm too much of a generalist to fully commit to it but I'm 'culturally' a hacker/hacker adjacent. I imagine our ranks are growing for various reasons, which might explain some of the shift.

      • JohnFen 3 years ago

        > I'm too much of a generalist

        But one of the primary traits of hackers is that they tend to be generalists.

        • Mezzie 3 years ago

          I care about other things and people as much as tech. I can't just tinker with computers/machines and to stay up to date you have to invest some time in both the work and the communities.

          I'm very, very much a generalist. My other hobbies that straddle the line between hobby and professional interest (in that I do them for play but have gotten money for them) include fiction writing, marketing psychology, humanities and qualitative research, and bra fitting.

          Currently I'm off on a spree about the physiological nature of emotions and I'm getting really into experiences that are primarily physical and learning about biology in my spare time, which means I don't spend it coding or tinkering.

          I can still code/tinker/approach tech problems with a hacker mindset, but I don't like to pretend I'm as good as people who really love it. I'm a dilettante to my core.

          • JohnFen 3 years ago

            See my other comment about what being a "hacker" traditionally means. It's not specifically tech-related. Your explorations of the physiological nature of emotions is well within the scope of hacking.

            I honestly think that one of the things that has diminished the hacker community to a degree is that it has become synonymous in most people's minds with computers. But really, computer hackers are just one subset of the larger hacker community. There are legit hackers who have no interaction with computers beyond what most people do.

            • Mezzie 3 years ago

              I like your point of view (and very much appreciate your comments by the way).

              By your definition, I would definitely count (as would, say, my cousin who is buying laptops for her kids to take apart and homeschooling them and taking a hacker's approach to parenting or the one who got really into theology for about ten years or my uncle who was obsessed with cameras or...), but I think the prevailing view sees hackerdom as tech (or at the very least mechanical) related and I also believe that hewing closely to a community's default understanding of a term is useful for communication, so I still wouldn't claim the title on HN. In an anthropological/historical/sociological exploration of hackerdom, I probably would. :)

              • JohnFen 3 years ago

                That's a very good point.

                As a hacker, I have a stubbornness and a strong sense of the justice of technical correctness, so I can't help but try keep the larger sense of the word alive. Even if only as part of a background chorus of hackers saying "well, actually..."

                But I do try to remember that we're the weirdos here.

    • rlpb 3 years ago

      > It seems that on here, the nucleus of hackers has remained more or less constant since 2010, while all other demographics flooded in.

      I think this also describes those working on software in general. Everyone uses the same interesting-to-hackers low level parts of the stack. But the nature of software is that _use_ scales infinitely, so roughly the same small quantity of developers are needed the same as was needed in the 90s.

      But technology use has exploded, so there's huge demand for developers working higher up in the stack, because the need for domain specific apps has exploded and that part doesn't scale. So the 90s hackers continue but are now dwarfed by app developers and web developers are many orders of magnitude more numerous.

      Unfortunately because software is a commodity the use of the low level parts of the stack doesn't translate to money for the hackers working on them. Because just as it's a niche interest for developers in that area, so it's a niche business case to make money out of working in that area.

      • JohnFen 3 years ago

        Being a hacker has nothing to do with how far up the stack you operate. It even has nothing to do with software or computers specifically.

        Traditionally, being a hacker is being a person who is very interested in learning how things work, and how to use those things in new ways. Historically, proper hackers have focused on things ranging from model railroads to pay phones to bureaucratic systems, to computers and more.

        The most common early sign that a child is a hacker is when the child takes apart every machine they can lay their hands on.

        • rlpb 3 years ago

          > Traditionally, being a hacker is being a person who is very interested in learning how things work...

          I am aware, and I agree.

          > Being a hacker has nothing to do with how far up the stack you operate.

          I disagree. The workings further down the stack are interesting only to hackers, and those paid to work in that area. I think that's quite different from the reasons for interest further up the stack.

          • jasonm23 3 years ago

            I think you may have missed the point, and I apologise, if I didn't infer your thought as it was intended.

            At any level of the stack, the hacker mindset of "learning how things work...(and utilizing that knowledge)" is generally applicable.

            It's arguable that while, say, Steve Jobs wasn't a technically adept hacker, he was a business, product and people/behavior hacker.

  • Mezzie 3 years ago

    This is very astute.

    I'd like to add that the pipeline for child/adolescent hackers that existed in the pre-00s is basically non-existent. The only major path that still exists that I can think of is game modding.

    I'm a third-generation techie on both sides of my family (my paternal grandpa (b. ~1915) got started working with TVs and their mechanical parts and my maternal grandmother (b. mid 1920s) learned C in the 70s) and there are several parts of my upbringing that I don't think could be replicated. For instance, I got started with web work in the 90s, which meant that a.) nobody knew what they were doing and the lack of formal structure combined with the cultural appreciation for competence meant that children could do 'real' work and I loved helping with 'real' work and b.) there was no age limit to participation and no legal liability since most of it wasn't commercial.

    There were also child-specific parts of the Web that were built by actual children instead of corporations meant to siphon money from parents. A large draw was being able to act without needing adult intermediaries. I could make a website about Sailor Moon or toys or start a chat/IRC room and control the discussions I had and kick adults or anybody who was inappropriate. (10 year olds are great dictators).

    There are almost no pathways into tech now that revolve around tech as play and I think that's where a lot of hackers came from.

    • JohnFen 3 years ago

      > There are almost no pathways into tech now that revolve around tech as play and I think that's where a lot of hackers came from.

      I don't think I agree. Many of the old pathways don'ts exist anymore, but they've been replaced with new ones. Look at the maker community ("makers" are mostly just hackers by a different name), or look at the resurgence of hobbyist electronics.

      I think electronics is a great example, actually, because I often hear old electronics nerds lament that hobbyist electronics is essentially impossible because most things a surface-mount these days. But what they don't realize is that designing and assembling circuits with surface-mount components is well within the realm of the hobbyist and is very common. This is proven by the wealth of wonderful projects they are engaging in.

      The difference with electronics is that the soldering techniques are different. They're not really any more difficult, but require a different set of skills that the graybeards often haven't learned.

      • Mezzie 3 years ago

        That's a good point. Perhaps a refining of the question as to why there are fewer hackers in software specifically since you're right that the conditions exist for hacker development in electronics (and I'm super hype for a lot of that suff - I need to get off my butt and earn some $$).

        • JohnFen 3 years ago

          Most of the software hackers I know (disclaimer: I'm a graybeard) got their start by making games. I don't know for sure, but I suspect that's still the case -- but now, the games are made using game engines like Unity rather than coding from scratch.

          But I don't know. As an old fart, I don't have a great deal of contact with the kids who are programming. I simply assume that they still exist.

          And now that I say that out loud -- that's a difference. When I was a kid, the older generations of hackers went out of their way to encourage and support budding young hackers. That's how I got my start. Maybe there's not enough of that these days?

          Since I don't know any children programmers, I clearly haven't gotten off my own butt to pass along the gifts the generation before me passed on to me. I need to change that.

          • Mezzie 3 years ago

            > And now that I say that out loud -- that's a difference. When I was a kid, the older generations of hackers went out of their way to encourage and support budding young hackers. That's how I got my start. Maybe there's not enough of that these days?

            It's different now. I'm guessing from your comments you're in your 40s-60s. I'm younger, but from a micro-generation that actually saw how this changed - the adults I talked to at computer shows, game shops, through email/chat/IRC/etc. in the early to mid 90s and before were generally just thrilled when anybody showed any interest in what they were doing because it was so uncommon and not understood that any kindred spirit evoked at least some kind of desire to connect. As the dot-com boom swelled, though, there were a new class of adults who became interested in us and what we were doing: Those who saw us as a way to make money/the wunderkids who 'got' this new hip thing. These are the adults who put together programs for us and wooed our parents with talks about how participating would set us up in life and whose advice all seemed to center around our ambitions rather than our joys. They were panning for gold. Lots of investment on getting us to buy into the business world and puffing up our egos. 'Our' here meaning those of us who were at the intersection of identified as 'gifted' (I tested in the top 0.01 percent in middle school which brought attention) and had some aptitude/desire/knowledge of computers and programming. I found it offputting; I couldn't articulate it then but I'd figured out that those adults saw me as a resource, not a peer/future peer. Now most of the adults techie kids have access to for mentorship are the second kind, not the first.

            Now there were drawbacks to the old method and people have good reason to be wary about people wanting to interact with their kids: I'm female and got a really large dose of creepiness once I passed about 11 years old, but I was lucky enough to be a.) gay (so no luring me into just making shit choices/bamboozling me about how 'mature' I was because ew dick) and b.) have parents + an entire extended family of nerd adults to back me up and make sure I knew I didn't have to put up with it.

            It's harder to interact with strangers' children now and we're far more risk averse so mentorship in the old way is a huge risk for the older person. Unless said older person is a family member, but tech has grown so much in the past 30 years that most kids who need this kind of mentorship don't come from culturally hacker families.

            Which relates to another problem with the transmission of the mindset and cultural knowledge: The numbers are very, very skewed. I had an interesting conversation with one of my cousins last year - he'd just had his first kid a couple of years ago and now he and his siblings are wrestling with an interesting problem: None of them went into tech but they're frequently the only parent in a given group who understands how much of anything works or have any sense of what the recent history of tech looks like. His sister is a hardcore Catholic who runs a farm and homeschools her 9 kids; I guarantee you her kids are the only ones in that community that are given laptops to take apart and are taught at least some basic tech literacy and history.

            Even taking something as basic as 'how to grow up online and not lose your mind': I'm 34 and I'm probably one of the first people in the world to have a claim to a true digital childhood. Generously there might be 1000 of us in our 30s with that experience ('true' digital childhood in that digital structures and communities were available and accessible to the same degree or more than analogue ones and that had that access + were able to use the tools young enough to build our heuristics and mental schemas around them as opposed to just grafting them on later). Assuming a conservative estimate of current children who can use the Internet/Web independently is 80% of the population born since the adoption of the smartphone, that's still tens of millions of people. And the oldest of us are still 'baby adults' to the rest of the world: we're barely old enough to be listened to on the basis of our life experience. The ratio of people who have the cultural knowledge to people who could benefit from it is really skewed since the skills have exploded into use but all the cultural and social context was left behind. (Or is turning into some weird post-modern mythos).

            Sort of rambling, but I have strong feelings about the experiences of the next generations.

            • JohnFen 3 years ago

              > I'm guessing from your comments you're in your 40s-60s.

              Yes, late 50s. I was introduced to computers when I was about 10 by a hacker who took me (and a few other kids as a group) to play with a mainframe computer every couple of weeks. Since all of us kids were from very, very poor families, this was a particularly incredible opportunity that I didn't fully appreciate until I was an adult.

              > These are the adults who put together programs for us and wooed our parents with talks about how participating would set us up in life and whose advice all seemed to center around our ambitions rather than our joys.

              I remember seeing that as well. It bothered me a great deal at the time. That sort of thing is career guidance, not encouraging exploration, play, and deep learning.

              > It's harder to interact with strangers' children now and we're far more risk averse so mentorship in the old way is a huge risk for the older person.

              This is absolutely true, but was a factor when I was a kid as well. The guy who took us to play with the mainframe knew us because he was a teacher in an afterschool latchkey program -- so he wasn't an unknown to our parents.

              My daughter (who's just a couple of years younger than you) was the volunteer coordinator at the local science museum. The museum had many programs for young children to teach them various sciency things. Perhaps the way I can give back is to go through them. Maybe start a "hacking program" or something. Seems better than just being a random creepy old guy befriending young children.

              Thank you for this discussion, by the way. You may (or may not) have been rambling, but your comments sparked a lot in my brain, brought me a bit of enlightenment, and you have planted a few seeds.

              • Mezzie 3 years ago

                > Since all of us kids were from very, very poor families, this was a particularly incredible opportunity that I didn't fully appreciate until I was an adult.

                It's interesting having been early and poor (or relatively so), isn't it? We had a computer because my parents were horribly irresponsible and did things like starve themselves and fake weighing enough to give plasma to get money for tech. Grocery budget? Warm coats for our children when we live in MI? NO. Shit food and 10 dollar coats that do nothing. But computers! And we will have sleep for dinner before we cut the amount of Internet hours we pay for!

                I was lucky enough to have been born into a hacker family, I can't imagine I'd have had access otherwise since we were rural, poorish, and I was a girl. It definitely made me aware of class issues at a young age.

                > That sort of thing is career guidance, not encouraging exploration, play, and deep learning.

                Given that making money online wasn't a normal thing at the time, it wasn't even career guidance because none of them knew what a career in Web technologies would look like. It was outright Machiavellian: Cozy up to the kids, see which of them might accept your help to build something, and wait for them to have an idea you think is commercially viable and then swoop in to be on the ground floor. A lot of fake interest in you, a lot of fake emotion. But yes, now it's very much career guidance. "Maximize your earning potential!"

                > The guy who took us to play with the mainframe knew us because he was a teacher in an afterschool latchkey program -- so he wasn't an unknown to our parents.

                That's part of what makes it harder: The people with tech skills aren't in schools showing 10 year olds around. They aren't doing what my mom did and going to the local elementary school so the 6 year olds can learn to use the computers (because none of the teachers knew how so if the kids wanted lab time, they needed a competent adult and my mom was it). They're on the career ladder, and time spent on intangibles like 'growing community' and 'planting trees whose shade you'll never sit in' will not get you promoted. Nobody who can code now is encouraged to go into teaching. So those connections and those lay experts who held the cultural knowledge so the geniuses could concentrate solely on the work are gone. No teacher messing with a mainframe: The school district contracts out its tech to outside companies whose workers never interact with the children and wouldn't be trusted with them.

                > Perhaps the way I can give back is to go through them. Maybe start a "hacking program" or something. Seems better than just being a random creepy old guy befriending young children.

                You might want to check out your local library as well.

                > Thank you for this discussion, by the way. You may (or may not) have been rambling, but your comments sparked a lot in my brain, brought me a bit of enlightenment, and you have planted a few seeds.

                I'm so glad! I feel likewise: I've very much enjoyed this conversation, especially since I often feel crazy. I think we need to decouple our cultural insights from specific tech skills and teach them to everybody. Not everybody can code, but my family is full of non-coders who can still utilize systems-thinking to help them navigate the world and who have good trouble-shooting heuristics. A bonus to this would be that parents could identify hacker children much like they can other types of talent such as athletic ability.

                • JohnFen 3 years ago

                  > It's interesting having been early and poor (or relatively so), isn't it?

                  Yes. The older I get, the more I realize how much of a difference that has made in my entire worldview. More importantly, I notice how often differences in childhood socioeconomic status can make real communication and understanding difficult. In both directions.

                  > That's part of what makes it harder: [...]

                  Wow.

                  That hits close to home.

                  I have never had any interest in climbing career ladders -- I am a professional dev largely because that's the only marketable skill I have as a consequence of my love of computers. The money is certainly nice and I feel gratitude literally every day for it, but it's not even a small factor in why I do what I do.

                  That said, I have still been focused on my own world to the extent that I have not done as your mom did. I have not planted trees for the next generation to shade in.

                  Outside of my own children, who all have the hacker spirit even if their interests are in things other than computers, I have been a part of the very trends that we are worrying about here. I can see a little more clearly now. If nothing else, I owe a debt.

                  > especially since I often feel crazy

                  The only people I've known who never questioned their sanity were ones who weren't actually all that sane.

                  > I think we need to decouple our cultural insights from specific tech skills and teach them to everybody.

                  I could not agree more.

            • selimthegrim 3 years ago

              How do you figure only a 1000? I am a couple years older than you and I would ballpark a few hundred thousand at least.

              • Mezzie 3 years ago

                The earliest censuses of population Web use in the mid 90s had triple-digit numbers for those of us under the age of 10. We're looking at kids under the age of 10 (or more realistically I would say 7-8) because that's early enough for people's worldviews to be influenced by the availability of a tool. A child who doesn't see or ride in a car until they're 12 is still going to remember horses as default, remember thinking like a person did before cars, etc. A child who rides in a car at 3? Lived in a world that always had cars, which is going to impact how they view distance, travel, etc. Language learning is another example: Learning another tongue at 12 means you're not a native speaker. A 2-3 year old is. Internet use is similar.

                Some things to consider are:

                - The age matters. As late as 2000 (so kids born in 1995 who still aren't 30), 25% of 5 year olds used the Internet. At all. And an 'internet user' was usually defined with a minimum of once a week (or even rarer) usage. Not enough to really shape your worldview or how you approach problems.

                - Most young (early elementary or younger) kids with internet access pre 1997 would only have it at school. These conditions meant most of the children in this age group would have had very close, direct adult supervision the entire time, which prevents it from being a part of a digital childhood since a digital childhood requires making decisions and acting online.

                - To be an early adopter of the Internet at the time as a young child required literacy skills years ahead of your peers. In addition, you needed home computer access and the ability/permission to use it independently. To be so into it that you did enough of your socializing online to assimilate this new method of communicating into your core social programming also meant you needed to possess one of the few interests that the Web at the time was useful for. (I really liked anime, astronomy, video games, and programming so I spent a lot of time online).

                Basically a lot of people in their 30s used the Internet before the age of 18, but not often enough at a young enough age for it to have really embedded it as fundamental in the same way. For that I think there's a critical period/age limit of about 7. To use the web between 93 (first home access) and 97 that young required skills/intelligence (literacy being the big one, but also simple things like 'hand eye coordination to deal with old mice' and 'knowledge of how to use a browser' that seem second nature now but when you're 6 with zero experience can be substantial), parents with the wealth and interest to have a home computer, and parents that would let you use said home computer for your own purposes/independently. (As opposed to now where everybody hands their kid a phone). The combination of ability, access, and freedom was rare.

                I think a lot of people in their 30s and 40s are sort of in between: They're proficient but it's still learned, not hard wired/unconscious the way it is for those of us who were exposed very young. It's the difference between a habit and an ingrained physical task like walking.

                In terms of why it matters, some examples of differences I'd consider are:

                * Internalizing that independent authorities exist that you can contact that are outside of your adults' sphere of influence. Or read, or watch, etc.

                * Internalizing that information is/should be available in your home/private spaces instead of it being something you had to physically seek out.

                * Conceiving of ignorance as rude/willful by default instead of innocuous.

                tl;dr: Lots of 80s and 90s kids online once in a while and at older ages, very few truly embedded in it the way kids are now due to resource and skill gates that have since been removed (you can use an iPhone without knowing how to read and there's a lot of multimedia online now + most kids can get their hands on a phone).

                • selimthegrim 3 years ago

                  I recall using Prodigy on an IBM PS/2 and playing games online as well as on an Apple IIgs. AOL and MUDs/MOOs/Gopher/Freenet came a bit later. I made games in QBASIC typing them out of library books (I fiddled a little with Borland Turbo C++ but that was a bit over my head at this point) and later made my first webpage on Geocities to celebrate Steve Jobs’ return to Apple and Amelio’s resignation at a summer computer camp (where I played with HyperCard a bit) by which time I had a PowerBook at home. The most we really did at the school gifted program was the Apple II software HRW published for Voyage of the Mimi (which I got in trouble for swiping to take home because I was addicted). LOGO was a bit before my time (my school had just phased it out ca. 1992)

    • tracker1 3 years ago

      Pre 00's hackers, or pre 80's for that matter, mostly tinkered with physical things... pulling apart a radio, remote controlled toy or reading popular mechanics. Now, you can do so much in pure software, and it's far easier and less expensive that it's the direction most will go. That doesn't mean there weren't hackers or nearly as proportionate an amount of them before the 00's.

      For that matter, my great grandfather was the type that actually built cabinets, or did plumbing, electrical, etc in his home. The most I've done is run an ethernet cable or change a light fixture or switch. That's not a critique of younger generations, just pointing out that a desire to learn, understand and do things has always existed. It just presented a bit differently.

      • Mezzie 3 years ago

        Yeah, a part of it is that there's not really a mechanic class in the way that there used to be. I mentioned that's how my grandpa got his start: He was obsessed with TVs and repaired them/made his own FrankenTVs as a side from his automotive job, which in turn meant that when the computer and arcade revolution hit my dad had the tools and expertise to get really into things like pinball machines, Pong, and Atari leading him to programming which in turn meant I (born in 1988) was raised in a household where pulling apart machines and doing what you want with them (rather than what was taught or what they were 'made' for) was normal.

        The decline in basic mechanical tinkering in the population definitely is a factor if only because the mindset transfers to hacking: "This is a human made tool and I am a human with the right/ability to screw with it/alter it to do what I want". Very few kids now grow up being encouraged to play with and take things apart. Both because the adults don't have the knowledge to put it back together or the tools for the kids to use and because our culture is way more risk averse than it used to be.

        • zubairshaik 3 years ago

          A lot of products aren't as hackable as they used to be. The obvious comparisons are comparing early laptops to the laptops of today and likewise with old and new smartphones. There are far fewer ports, more soldered on components, and they are harder to even take apart. And there's plenty more electronics where the cost/benefit to figuring out how to repair a product versus just buying a replacement doesn't make sense anymore, but also as you mentioned the mindset isn't as prevalent.

          I wish I personally had more opportunity to tinker as a child but I'm glad I have a chance to catch up now, though I'm not really sure where to start. (And I don't have as much time to dedicate since I need to find a full-time job)

    • esafak 3 years ago

      I don't think so. You can easily play around in the browser, using Javascript, or on https://processing.org/, https://playground.tensorflow.org/, https://scratch.mit.edu/, etc.

      If anything the problem is that today's kids have too many options. And sure, some are commercial.

      • Mezzie 3 years ago

        There's a huge difference between something being gamified and something being play, particularly unstructured play. Scratch is great, but it's structured and something presented by adults to children for learning. That has a whole bunch of social baggage attached as well as a 'win' condition set by adults. Also I'd say that the transition to hackerdom probably could truly take place at late elementary/middle school age and at that age anything 'kiddie' or designed for kids is lame, making it less likely that children will use it for building their own communities. This is pretty common with most of the options. It's why I wouldn't consider things like Roblox to lead to hacking because it's still a supervised playground with content 'rules'.

        TensorFlow probably will lead/is leading to some hackers.

        • zubairshaik 3 years ago

          While I see your point, I think you're not giving Scratch enough credit. Admittedly, I don't know the culture around it today but back when I was a child the Scratch community was made up of kids who were there by choice, not because adults presented it to them. I certainly found it on my own, and had a swell time tinkering with it.

          > That has a whole bunch of social baggage attached as well as a 'win' condition set by adults.

          I'm not sure what you mean by this? I don't remember anything about winning besides the whole social media aspect of trying to get popular among all the cool projects that other people had by getting the largest number of likes and remixes.

  • helen___keller 3 years ago

    Also: potential hackers might never really form into hackers because there’s a strong career path and financial incentive to work on big boring software engineering using the same skills

    That’s actually the exact same story of how I ended up in computer science instead of pure mathematics. I was interested in pure logic and set theory, but I could flex the same muscles learning programming language theory and end up with much better odds of paying off student loans by the time I’m 30

    People only have so much time in life. If I could enjoy my work 30% more that would be great. Is it worth making less than half income though?

    • Xeoncross 3 years ago

      > financial incentive to work on big boring software engineering using the same skills

      This is so true: as I've made more, my github has grown more silent.

      • bravetraveler 3 years ago

        Similarly, as I've been promoted (and spend more time advising), my skills have atrophied

        I used to be excellent at kernel hacking, random Linux things that would often be several-weeks trials. Now that I'm not 'in it' constantly, mostly just advising, I've lost a lot of that sharpness

        Doesn't help the onslaught of the day really kills my desire to learn/play around

        • JohnFen 3 years ago

          This is why I have made it a point to consider my activities that most people would call "hobbies" as my primary and most important activities. What I do for a living is secondary to everything else, and I only do it to give me the funding I need for my real work.

        • volkk 3 years ago

          not to beat the constant drum of anti-capitalism, but this is the effect that we get when every company is for-profit and massive growth. curiosity doesn't have a direct path to profit, and so most people are stuck working on moving metrics, and nothing else.

          one can make the argument "well you have free time on the side, just do it then if youre truly interested" but realistically most people, myself included, are completely braindead after work. i have a lot of interests and hobbies but i can only find 2-3 hours on the weekends to get into them because i am mentally drained and shot after a day of work full of (mostly) pointless meetings. i don't mind work, i NEED work. but, i also need it to be fulfilling, motivating and the function of those is to me at least, seeing a positive effect on society. i imagine most people deep down inside want to help the world in some way.

          this is the life we've created for ourselves in the USofA. R&D/curiosity is reserved for certain demographics, and that's not even saying ONLY the privileged or the rich, that includes young people who have energy and drive before it gets hammered in by <insert corporation>, or the people who are willing to load up on methamphetamines, or the select few people who truly are amazing at having a 9-5 and being cognitively healthy enough to do brain intensive tasks after work.

          the point i'm making here is that we are frogs in boiling water. i remember the days (a decade ago) when I was working and exploring new personal frontiers of interest. Projects at the startups i worked on were exciting and interesting even if they were failures. Nowadays I work at <bigcorp> where every work stream is defined by some OKR. Product people have moats and act like feudal warlords. Everything is resume driven development, and the common theme here is more money/income and ultimately capitalistic greed being shoved down everyone's throats. It all sucks. Our culture in America revolves around money and greed, and it's getting worse and worse. Everything glows a certain shade of gray, and soon we'll all be indistinguishable from gray goo

          • zubairshaik 3 years ago

            > this is the effect that we get when every company is for-profit and massive growth

            I am a huge fan of capitalism and yet I also wish we saw a lot more small-to-medium sized companies where the focus is on a product you can be proud of, satisfied customers, and especially, happy employees. While I'm wishing I might as well add a shorter work week and more time spent on the auxiliary parts of engineering / development (maintenance, training, contributing to OSS dependencies, community service, etc.).

            Then again, I've never been employed full time before so I don't know how it is in the industry anyways.

        • knorker 3 years ago

          As I've gotten more senior my need for coding has not gone away, so I may even be doing more opensource coding now, on my free time.

          Coding C++ at work all day, maybe not C++ all night at home.

          Meetings all day at work? Yeah, I still have code that needs to come out.

      • tracker1 3 years ago

        Github came in relatively late for me... so mine is mostly one-off contributions, comments or feature requests. There's a handful of times I'll fork and push my fork out, while waiting on a PR (that sits in queue for a month or more).

        I wish I didn't have to have a day job, but alas, I do. I didn't chase the money earlier in my career and I kind of regret it to be honest. I'm closer to 50 now, and while I don't see myself ever retiring, I definitely don't have the energy to put in a 40 hour week and do another 20 on personal or side projects on top all the time. I do spend a good 10-15 hours a week reading, keeping up and exploring, but I find on my own time I'm more in decision paralysis than actually getting stuff done. There's too many good options to explore.

    • mike10921 3 years ago

      The funny thing is most of my college mates who took mathematics or electrical engineering degrees, or some other random similar degree all ended up doing programming. The pay in coding is so much higher that they all end up in it, and half of those degrees ended up being coding anyway :)

    • mananaysiempre 3 years ago

      > If I could enjoy my work 30% more that would be great. Is it worth making less than half income though?

      If that’s the calculation—if you find yourself doing the calculation—probably not. However, if you can’t make yourself not do it (build software, build hardware, figure out maths or better ways to put maths into words, write fiction, ...), if you find yourself doing it even at your most busiest and staying up at night when every other minute of your day is occupied, then... Many such people have found they still need the income, and every one of them that I’ve seen is deeply unhappy because of it.

    • JohnFen 3 years ago

      > If I could enjoy my work 30% more that would be great. Is it worth making less than half income though?

      I've never once thought of it in those terms, but now that you pose the question... for me the answer is "yes, absolutely, no question about it."

    • uoaei 3 years ago

      Ditto with a physics education, although I specialized in statistical mechanics and simulation pretty early so it made sense to catch the ML wave.

  • jdm2212 3 years ago

    There are just a lot more programmers today. All the same hackers and stuff who used to be there are still there, but there's a lot more of everyone else.

    If Harvard started admitting 50,000 students a year, the density of Zuckerbergs would be a lot lower. They'd still be there, but harder to find.

    • margalabargala 3 years ago

      > They'd still be there

      Unfortunately.

      Not sure the concentration of Zuckerbergs and the concentration of hackers is particularly related, except maybe the latter attracts the former.

      Zuckerberg's no genius, he was in the right place at the right time near the right people. He's competent, but no more than most of the people here. His morals (or the flexibility thereof) were what made him rich.

      • jdm2212 3 years ago

        I really wish I was so brimming with self-confidence as to say that I'm just as competent as the guy who founded the eighth or so most valuable company on Earth, and he was just in the right place at the right time.

        Zuckerberg is clearly a not-great guy in some ways, but the reason we're all posting on Hacker News during the workday and he's running a centibillion dollar company is because he's an immensely intelligent and talented and focused man and we are... well, the kind of people who post on internet forums during the workday.

        • coldtea 3 years ago

          I with I was as starry-eyed as to think he did it because of his "hacker skills"...

          >the reason we're all posting on Hacker News during the workday and he's running a centibillion dollar company is because he's an immensely intelligent and talented and focused man and we are... well, the kind of people who post on internet forums during the workday.

          There are people who post regularly in HN (even in the top-50 contributors) who as hackers and programmers (and work ethic) run not just circles, but the 10-dimensional equivalent of a circle, around Zuckenberg, and have no "multi-billion dollar" companies...

          • jdm2212 3 years ago

            so in the original context of my post... Zuckerberg : Harvard :: hacker : software industry. it's an analogy. I wasn't saying he's a great hacker.

            But also the dude obviously is a great hacker. There are vanishingly few people who can bootstrap the infrastructure that will let a company grow to Facebook scale -- you need exceptional depth and breadth of computer knowledge, as well as great focus and an ability to prioritize and satisfice.

            • coldtea 3 years ago

              >There are vanishingly few people who can bootstrap the infrastructure that will let a company grow to Facebook scale

              Well, he didn't do that. He just wrote a crappy basic PHP backend. The "scaling at Facebook scale" part happened later, after people were hired and VC money flew in.

              Same like early Twitter was a crap Rails app that they even had to restart a few times a day because of memory leaks. It still got them through to attract users (even though it crashed all the time) and money, so they eventually were able to fix that and grow to Twitter scale.

              None of those things happened because of very talented hacker founders. Those kind of apps aren't even very technical or different to the average CRUD app - not until the scale/infrastructure people come in much later: those do the actual hard work.

              Cloudflare, Redis, SQLlite, Nginx, ElasticSearch etc, on the other hand, are a different story. Those are absolutely apps/platforms made from scratch by seriously talented hackers, even if others were involved to improve them later on.

              • jdm2212 3 years ago

                > He just wrote a crappy basic PHP backend.

                lol. citation needed.

                Among geniuses who can build a FAANG company from scratch, I'm sure Zuck is not the strongest software engineer or hacker or whatever. Like, Jeff Dean is undoubtedly a better engineer. Craig Silverstein, too. And Bret Taylor. But if you're going to tell me Zuck is a mediocrity -- not just "a lesser light than Jeff Dean" but an actual mediocrity like us rank-and-file HN-posting losers -- then I'm gonna want to see some evidence.

                • safety1st 3 years ago

                  If Mark was a hacker of some kind, he was a growth hacker. That's what Facebook was (in)famous for in its early days - implementing various little psychological tricks that drove adoption. A lot of that came from Mark (initially, pretty much all of it).

                  I'm not aware of any evidence that he was an exceptional engineer. So what? Why would he even care about being that? As long as you can hire engineers that are better than you, you don't need to be a great one to grow a social network. We're not talking about AI here.

                  • june_twenty 3 years ago

                    iirc, Zuckerberg did not think up the concept for the like button - which was one of the huge drivers for engagement on the site.

                    Having said that, I think Zuckerberg was a hacker. He made a few small web apps and one took off. His success shouldn't mean he is not a hacker.

                    • coldtea 3 years ago

                      I don't think the definition of a hacker is "made a few small web apps" or "one of his apps took off".

                      That would make him an entrepreneur and a web programmer.

                      Not a hacker, which (in this context) is about a great relationship with programming than "making a few web apps".

                • jll29 3 years ago

                  I would say the fact that he had the drive to quickly learn Chinese and then went to China and actually gave a talk in Chinese suggests he has higher than average mental aptitude.

                  • margalabargala 3 years ago

                    He studied Chinese daily for four years prior to giving that talk.

                    Studying a language daily for four years suggests determination and willpower, yes.

                    But I would expect most people who have studied a language daily for four years to be able to give a talk in that language if they needed to and knew ahead of time. I'm not sure that's a non-average learning time.

                • drewcoo 3 years ago

                  > citation

                  Citations widely available via the obvious web searches. Here are responses on Quora with some details about how the hackers hired by Facebook worked around PHP's limitations.

                  https://www.quora.com/Does-Facebook-still-use-PHP?share=1

        • cmh89 3 years ago

          There are millions of people just as smart and smarter as Zuckerberg. He had access to computers when they were expensive and had an affluent life that sent him to Harvard where he was around people who could do stuff like fund new businesses.

        • RobotToaster 3 years ago

          >competent as the guy who founded the eighth or so most valuable company on Earth

          That usually has more to do with machiavellianism than competence

          Of course some would consider machiavellianism a kind of talent.

        • uoaei 3 years ago

          It's this exact kind of false, retrospective meritocratic judgment that makes gods of mere men. Don't do that, please, it poisons the discourse by distorting reality.

        • unethical_ban 3 years ago

          Six hectobillion dollar company

        • zooch 3 years ago

          Meta is a 10 million dollar company?

    • 908B64B197 3 years ago

      > the density of Zuckerbergs would be a lot lower. They'd still be there, but harder to find.

      Interestingly, he enrolled in CS at a time it was believed to be a dead career, with offshoring replacing expensive American engineers.

      • dragonwriter 3 years ago

        > Interestingly, he enrolled in CS at a time it was believed to be a dead career

        Believed by whom? Because AFAIR this was never either the general public sentiment or consistent with BLS projections across the fields that CS feeds into.

        • 908B64B197 3 years ago

          > this was never either the general public sentiment

          Post dotcom crash in the early 00's? Everyone was saying this was a dead market. Cost-cutting was everywhere.

          • zorked 3 years ago

            Not sure of what the downvote is about because this is an accurate representation of the post-dotcom time. Enrollments in CS went down, programmers would be offshored to India, nobody wanted to be in tech anymore, unemployment was high. Hard to belive now but people enrolling in CS at this time were mocked and ridiculed.

            • bcrosby95 3 years ago

              Yep. I decided upon my major in a similar time period. People thought I was stupid, and my advisor advised me against it. There was a lot of doom and gloom on the internet - way more than any downturn since then. Way more than what you see about ChatGPT replacing programmers.

              The options I was weighing were philosophy, math, or CS. I chose CS because I liked building things. I figured I could at least make minimum wage. If it turned out so terrible I could just go back to school for something else.

              Much to my relief, my first job out of college paid me $50k.

            • Mezzie 3 years ago

              Yup. I went off to college right after this and was from a poorer family and that's one reason I opted not to go into CS as a degree despite over a decade of programming/web experience. It wasn't seen as a stable career path and the tech sector had a reputation as a bubble hype machine.

              The hilarity is that I went into Linguistics instead, and it turns out that in 2023 that is actually very helpful... I'm not the only one either.

        • june_twenty 3 years ago

          I was being told that in 2005/2006. Lucky for me I didn't care.. I just wanted to study something to do with computers rather than biology or physics.

      • themodelplumber 3 years ago

        IIRC this was far from a uniform opinion, because CS feeds careers in so many areas in and out of tech.

        I do remember it being a big concern on the part of 9-to-5 coders at large corporations.

    • goodpoint 3 years ago

      Zuckerbergs?! What the hell?

      • jdm2212 3 years ago

        I was using that as a shorthand for "geniuses who found multi-billion dollar companies".

        • NoMoreNicksLeft 3 years ago

          I think I agree with goodpoint and I also think that my own usage of "Zuckerberg" is the exact opposite of yours.

        • goodpoint 3 years ago

          Musk, Gates, Zuckerberg and Jobs are notoriously not hackers nor even software developers and even less so geniuses. They are businessmen.

      • ahartmetz 3 years ago

        Growth "hacker", I guess

        Ew

  • lethuel 3 years ago

    Current culture of squeezing every bit of productivity out of programmers is absolute cancer. In many companies practices like scrum actively discourage spending more time on research / refactoring. "Of course you can spend some time on this task! Also you have the other five to complete. And the sprint ends in two weeks".

    Imagine Einstein was told "oh, you have such a nice idea about relativity, let's time frame it to 2 days, and then get back to reviewing patents"

    • imbnwa 3 years ago

      Its insane how popular it is, when it comes to the decline of the true hacker/engineer, to blame individuals for systemtic changes in process and environment

  • davedx 3 years ago

    (Can only speak for myself). I’ve a bit of a hacker. To be honest lately, I just find the languages I know are so nice and powerful (enough) that I spend time building interesting and cool things (a AC power flow solver; a networked 3D roguelike game) than hacking around with new shiny languages.

    Basically I just really like TypeScript. Languages I’ve worked with or tried out for the pure hackery spirit of exploration: assembly, C, C++, Java, Ruby, Python, Clojure(script), Lisp, Elm, C# (did lots of neat stuff with that, thanks Unity!), PHP, scala, go, Pascal, VB, probably a couple more I forget. More tech stacks than I can think of.

    FOR ME, TypeScript is just so good for what I want to do that I just don’t want to mess about with other tools or “spend innovation tokens”. I just wanna build stuff!

  • 2devnull 3 years ago

    I think two factors matter: lack of housing and shift to service sector. The lack of housing forces people to prioritize money, just Maslow's hierarchy. Because many jobs now involve sitting at a computer screen for 60 hours a week, not many (healthy/sane) people who want to add even more hours at the computer on top of their 60 hour a week 9to5, or 7to7, or whatever most people now work).

  • confoundcofound 3 years ago

    I think the hacker culture of the ‘90s to early ‘00s is behind us, and it really saddens me. I’ve yet to find a corner of the current tech / startup landscape that ignites the same excitement I felt over a decade ago. It’s too commercial now.

    • xtracto 3 years ago

      I grew in the 80s 90s. The culture of phrack, 2600, Fravia, phrozen crew, etc was absolutely phenomenal.

      My take is a bit worse than the GP: Theres people interested in that but nowadays they sell their skills for money. That's why you see lots of ransomware, darkweb sells and whatnot.

      Even the torrent-ing has shown the change of culture: back in the Napster, kazaa, imem days, people (layman) shared just because. Now theres not that much interesting material, and a lot of it is behind private trackers that make you jump through hoops to get in the club.

      • mech422 3 years ago

        Dam...I haven't thought of Fravia in ages...

        He had some _awesome_ stuff! :-D

    • explorer83 3 years ago

      Definitely the culture has changed as tech has become a mainstream career path. Also I think there used to be a sense of the "wild west" where you could push the boundaries while hacking and get away with it. Now someone smart enough to hack is probably smart enough to realize how much of their activities are logged somewhere.

    • groby_b 3 years ago

      I think you'll find that to some extent in the manufacture-on-demand scene. There's a lot of interesting stuff happening. Same goes for custom electronics, there's a lot of really interesting hobbyist projects. Biotech is on the edge of getting there. The ML scene is currently absolutely bonkers.

      There are plenty of hacker culture areas, they just aren't the same as the 90's and 00's. Neither were the 90's the same as the 80's. In fact, I'd argue the 00's were nothing like the 90's either.

      The spaces are there. You'll need to abandon the thing you know. (And for many of us, that's hard, because the thing we know is also feeding us - but that, too, was always true)

    • shadowgovt 3 years ago

      Part of it is that the systems got really complicated, and a complicated system encourages standardization, not specialization.

      When computers were small, dumb, and did very little on their own, creative integration of heterogeneous pieces was rewarded and rewarding. Computers are now large, complicated, distributed, and part of a whole ecosystem. The kind of "hacker-shaped" grit that makes someone do something neat gluing a telephone receiver to a TV tuner? Well that's a fun Adafruit demo, but you could have done it easier and faster on a Raspberry Pi, and hell, there's already the scragglypete/tv-phoner repo that you really should have used (if you'd done a bit of research before you whipped out the glue gun, you'd have found the StackOverflow post from three months ago where someone went "Hey, I want to glue my telephone receiver to my TV tuner" and they were directed to that project). And while we're on the subject, that's not nearly as useful as the telephone-receiver-glued-to-a-tv-tuner emulator in this Docker container, because it does exactly what your workbench solution does but you can deploy eighty of them in one minute with a few shell commands and some money thrown at AWS...

      Hacking is less cowboy-shaped for the same reason there are fewer cowboys... Eventually, the pioneer towns give way to the skyscrapers and city streets because once the wilderness is tamed, the city is way more powerful, comfortable, and productive than the cowboy life.

    • dom96 3 years ago

      As someone that was born in the '90s and didn't really get access to the internet until ~2005 I feel like the "hacker culture" that I saw referenced in movies like Hackers (1995) was just a dream. I continue to feel like I haven't yet met people that even come close and continue to hope I can find them, but perhaps it was all just an illusion (or an over-exaggeration by Hollywood) and they never existed or they became extinct once the 90s ended.

    • zubairshaik 3 years ago

      I feel like there's a lot of great stuff going on at https://www.crowdsupply.com but it's very hardware centric.

    • drones 3 years ago

      Isn't the startup landscape inherently commercial?

  • joshspankit 3 years ago

    I tried to read through all the direct replies to this comment and I didn’t see this (apologies if I missed it).

    There’s a huge component of this that’s worth recognizing:

    The current legal landscape and lack of anonymity makes most hacking a non-starter

    In the early days someone could explore really far as long as they didn’t call up a government agency or try to steal property. They could play pranks, hook up Rube-Goldberg call chains that circumnavigated the planet, break apart any hardware they owned and assemble it in to anything else, dig in to the binary of any file on a computer, rip apart the memory of any process, post the results in a magazine or even collaborate openly online.

    And most of the world had no idea. The only time they got in trouble was when authorities saw something they didn’t like and even then most of the time they had no laws to leverage (there are some significant notable examples that got the book thrown at them but those were outliers).

    Now?

    Now you can be retroactively targeted for making an emulator for a decades-old game system.

    Or sharing a single piece of copyrighted content.

    Or getting close breaking to the DMCA.

    Or (insert wacky future laws here).

    The risk is extremely high and the rules are way too thorny. Working for a company means you’re going to have clear guidelines about what you can and can’t use and therefore protection from the worst of the legal minefield that is the US. It also means you have a cushion for if/when you’re targeted.

    Does anyone know how many true hackers are growing up right now who have already taken their first steps at learning and who have had their posts wiped from the internet or their inboxes “graced” with cease and desist letters (or worse), or their accounts outright terminated? I don’t think there even is a way to know.

    How many of those kids would be crazy enough to keep being public, and how many of those would learn enough through private self-discovery that they can significantly contribute to the hacking scene as adults?

  • opyate 3 years ago

    > I think the reason, plain and simple, is that most developers aren't really in it for the passion anymore, but rather the money.

    Anecdata:

    I had a job recently that paid competitively, but the boss soon replaced interesting work with boring work (for me: writing boilerplate that's already been solved a thousand times over, or any FE work), so my passion petered out, which was quite obvious to everyone involved, so the relationship ended.

    However, I'm with a client now, and we're building something really cool (using LLMs; I get access to H100 soon; etc) and I'm working every spare minute I can get away with, without being paid for overtime.

    I feel like a "hacker" again with this role, learning new things, stretching the capabilities of the system given various constraints, and every second link I open in my browser is arxiv.

    (That said, I grew up in South Africa, where cyber laws lagged behind the world's for a good few years, so we knew every trick in the book, yet were untouchable, haha!)

  • watwut 3 years ago

    > I think the reason, plain and simple, is that most developers aren't really in it for the passion anymore, but rather the money.

    Tho, people you call hackers fairly often do not actually like actual work involved in actually doing the programming work. They like tinkering with technology, reading about it, but they do not like creating and maintaining software.

    And fairly often, people dismissed by hackers as not passionate, because they are using boring technology, are passionate about actually finishing functional software.

  • JohnFen 3 years ago

    > Have other people observed the sentiment the author observes, around hackers being less common?

    I think that hackers are still around -- I see them a lot -- but they aren't as publicly visible anymore. They aren't interested in making money, and so they won't be in most mainstream technical fora (including HN), because of the cultural shift that made chasing dollars the main thing.

    But they are in more private fora, and they get together in person (at conventions, hackerspaces, etc.).

    I don't think the hacker community has grown smaller, but I think most of the web has changed so that it's not as appealing to people who want to talk hacker stuff.

    All of which is to say -- like when people ask what happened to the old web, back when it was actually good -- they're still there, but they're harder to see in the increasingly dense forest of commercially-minded places.

  • 908B64B197 3 years ago

    > However, as the idea of "programming makes money" became more well known, and bootcamps + college both upped their game, more and more people started coding just with the hopes to make money. To get good enough to make money, not care about "huh, how does the bootloader actually work" or "Why did chrome just crash, let me open up gdb...".

    To me, bootcamps are a complete red flag when considering candidates. I don't think I ever saw a single good hire out of a bootcamp (and we just flat out stopped interviewing them at one point because the signal to noise ratio just became too low).

    • manicennui 3 years ago

      Really depends on what your company does. Many (most?) companies are creating some pretty basic CRUD applications. Bootcamp grads are often fine as junior devs at these companies.

  • winternett 3 years ago

    The stakes are much higher now with new security methods like Zero Trust around. On vital systems, logs aren't stored directly on the same infrastructure as host infra... That means more footprints that can snitch on a hacker, and the penalties are much higher for hacking offenses because so much more is riding on key systems now... Mitnick got a job instead of jail... That won't really happen now because there are simply too many wildly different frameworks. It also explains why most breaches are state sponsored, well funded, wide scale, and from overseas... ;\

    People are hacking social media a lot for growth and money, but the best secrets are very illusive and flooded out by lies, novice content, boilerplate advice, and outright scams... The actual hackers quietly scrape pennies off of the net in micro-transactions until they start racking up as thousands of dollars, most of the time though it's heavily coordinated group activity rather than the lone kid in his parent's house like it used to be... The hacker kid now is too busy shilling crypto scams, playing video games, revving stonks, or working on yet another GPT tool that no one really needs IMO. :P

  • tracker1 3 years ago

    I think it's more about the culture and circle you are in. When you are in education, first starting out, or in irc/slack support channels, you're much more likely to see people with more passion about the technology. If you're in an office or working on a team in an established business it's much more about getting the work done.

    Beyond this, priorities shift over time. The priorities of someone in their early 20's that is single will be different than someone in their late 40's with children heading towards college, or even younger children. As you mention, there's also the boot camps and people that simply come in without interest in the technology aspects.

    In the end, there's many more people that will get into the gritty details today than decades ago, but there's also many more people that are more concerned about getting work done. This is part of why entropy is really hard to overcome. Trying to get movement in a company towards a new approach can be very hard. If company X is using Java or C#, their developers have likely been using it for many years, know it well and don't see a reason to shift. And for the most part, they are right. You can get work done in many languages, scale and adapt in many ways. Most applications don't even need to scale that much. Most apps are line of business apps that only a few dozen people ever even see and for those that aren't, you can scale vertically quite a bit before you really need to go horizontal.

    It's different if you re starting something public facing and want to utilize newer tooling for horizontal scale from the start. Aside: Why CockroachLabs doesn't expose a web api for database queries directly for the likes of Cloudflare Workers or Deno Deploy is beyond me... In the end, it depends on what market you're serving. Getting something working means far more than an optimal approach in one way or aother.

  • ip26 3 years ago

    My suspicion is it boils down to maturity and scope of the domain. When it is brand-new, one guy can change the world in his garage in a few months. As it matures, you start to need large teams to build the next incredible thing. Even if you are passionate and ambitious, tinkering in your garage simply will not allow you to realize your vision. So you join a large company where you can.

    Random datapoint, everyone I knew who was deeply passionate about compilers seemed to be going to work for Apple for a while. They could have written a new research compiler in their basement - but Apple is where LLVM was happening.

  • nogridbag 3 years ago

    Yeah I think you nailed it. I think there's also different levels of hacker culture. I couldn't tell you a thing about golang's GC, but as a young kid I was absolutely fascinated by computers and learning at such an extreme pace. I was much more of a hacker type than I am now. And much of that is because I had basically unlimited time to learn. And you had to have a passion for it because there was typically no one to help you back then. Some of the stuff I coded as a kid I would struggle to make even now!

  • Decabytes 3 years ago

    Part of reason why I started my Substack DeusInMachina is because I felt like my coworkers weren’t as into programming, and technology as I was. More of a clock in clock out thing for them. Which is totally fine except I actually felt really lonely about wanting to geek out about AI, Niche programming languages, and programmer culture, but not having anyone to talk to

  • kvathupo 3 years ago

    I'd echo this. I'd also add (perhaps prematurely as a gen-z) that I see a lot less playfulness when it comes to side-projects. Rather, it seems projects start with monetary or career motives. Nothing wrong with this, but I'd like to see more fun!

  • pnathan 3 years ago

    oh yes.

    there's enormous pressure to be normal. being weird is... like... someone's going to be uploading video of you and mocking you.

    there's also the thing where its more expensive to have a normal life, financial pressures say "do financial things". like... the us world is shaping to be "high road" qua Stewart Brand whereas hackers thrive in "low road" environments.

    there's also sort of this ... how do I say it ... hackers & that legendary online culture was sort of a product of a people without obligations. seeing your kids soccer game is much more important than debugging a program for fun. being monks for code & computers is not culturally sustainable.

  • jingxiangmo 3 years ago

    I'm a new (and young) hacker and I agree with what you are saying.

    Are there any communities and/or forums of people who are passionate about building and hacking purely for the sake of passion that I can join?

  • jareklupinski 3 years ago

    i think there's always going to be a bell curve of programmers: say those in the pocket on the left are interested in the "soil" as the author put it

    as the total number of programmers grows, so too does the pocket, but at a smaller rate than the rest of the bell

    so, numbers-wise, yes, there will be fewer hackers per average programmer. it becomes harder to find them too, since most people will probably spend most of their time swimming around the middle of the curve

    but i think their number overall is still increasing. just have to grit your teeth and jump to discord to find them :)

  • activiation 3 years ago

    > often become less hacker due to life slowly grinding them down.

    AKA just getting older

  • NoMoreNicksLeft 3 years ago

    We've seen this historically with other technologies. There was a short-lived era when people knew how to repair cars. To tune and modify engines. But as automobiles became ever more of a commodity, that population seemed to shrink too.

    It may be difficult for a child to become fascinated with a particular technology once it becomes ubiquitous. It's a testable hypothesis too, because if that were true then you should see hackers appear in different geographic regions at different times due to how unevenly these technologies are distributed.

    The confounding factor, I think, for computer technology at least, is that by the time they become ubiquitous in the third world, they may no longer be simple enough to "get started" on.

  • justinator 3 years ago

    >When I first started coding, I didn't get paid. I didn't think I ever would.

    How did you make a living?

    • jstanley 3 years ago

      Not the person you're responding to, but I didn't make a living because I was 12. I also didn't think it was practical to get paid for programming, except in extreme outlier cases.

      • justinator 3 years ago

        When I was 12, I would fly paper airplanes of my own design outside on the front lawn in hopes someone from Pratt and Whitney would happen to drive by and notice my obvious brilliance and hire me to design jet engines.

        The moral of my story is that 12 year olds don't think - and maybe always SHOULDN'T think in very practical ways.

  • dingledork69 3 years ago

    Exactly this. No one cares anymore, they just want $$$

  • _siis 3 years ago

    > Have other people observed the sentiment the author observes around hackers being less common?

    I've seen it as well.

    I don't agree with what the author says are reasons for it. They just don't fit.

    From what I've seen, hackers (in the truest sense) don't advertise. They have deep knowledge, but you only find how deep when you get into discussions with them, and most of the time they have no goodwill to engage in that because of two things, people who are dunning kruger; and social media.

    Many of the learning paths have also been removed and are harder to find, the internet used to be freer than it is now. You have companies that dictate what stays up simply by using the court system as a coercive measure. The recent Quad9 thing shows just how bad this is getting across the board internationally. Copyright is being used to coerce, compulse, and limit actual innovation.

    Hackers used to get by with their skills via certifications and jobs, many times they can't get certified now that only a single company handles testing in most places. I can't tell you specifically how they fail you, but its certainly not based upon whether you just have the knowledge.

    The number of real hackers out there are significantly less because there has been less opportunity, and less resources that are easily found to get into it.

    Many have worked very hard for their knowledge and some volunteer and help others, but there's an active trend to harass those that contribute like that, and volunteer psychology says you stop giving when it starts costing you. Dealing with a high number of deceitful people leads you to test them before providing any goodwill. If the hacker's don't like what your response implies they don't engage, and you are none the wiser.

    Its not about life grinding them down, there are a lot of intelligent people who have stopped giving back because they see what providing that support is doing for society in general, its going in a direction that will inevitably fail because life will be intolerable, and volunteering is at a much higher cost to them personally than it ever was before.

    Its like that adage that most people know, what you do in small things that don't matter shows what you will do in large things that matter. If you lie cheat and steal in friendly games, do you want them managing your company's finances? A smart person wouldn't.

    There are also a lot of crazies out there that are really indoctrinated now too and they don't even realize it. They like the idea of something, but ignore everything else that would be needed to make it work. Completely irrational in some cases and can't even reason or think critically. Its sad.

drones 3 years ago

I think the author of this article grossly misunderstood the purpose of his interaction which lead to this article.

You aren't architecting a new programming language, man, you're talking to a guy about computers because you're wearing a shirt of a computer thing he liked. He wanted to talk to you because he had a mutual passion he wanted to share, and you openly challenged him in front of other people. Sorry, you were a shitty friend.

  • rickboyce 3 years ago

    The description of this interaction in the article makes me sad for the author - they criticise and belittle another. Imagine instead what they could have learnt if they opened themselves up to another persons perspective.

    It’s notable how little this article actually discusses the delivery of any form of value. The tech is not the end in itself, it’s a means to an end - and we live in an age with so many well matured and valid options that for many of the problems we seek to solve what tech we use isn’t necessarily a critical decision.

    The author answers their own question - where have the hackers gone? We are getting on with it and building stuff. This kind of language flame war stuff just isn’t as important as it once (debatably) was. It’s a dying trope.

    Thinking on the initial mistake our author made - framing the conversation rigidly through their own frame of reference - I’ve personally found Matthew Syed’s work on cognitive diversity helpful in understanding and addressing this. [1]

    [1] https://graphic-designer-richmond.co.uk/2021/01/business-boo...

    • satisfice 3 years ago

      This was my first reaction, but the author won me over to his point as he went along.

      I find the soil, surface, atmosphere analogy useful.

      Also, I am one of those many many Python programmers who don’t know much about Python. Fascinating how you can be quite productive in tech, even so. Perhaps that’s the glory of Python. But for the record, nobody cares about the specifics of import, or anything else, unless it is likely to influence a problem or solution that we are grappling with.

      I’m curious about Python… but I also have a job to do and a deadline.

  • helen___keller 3 years ago

    I don’t agree. My perception is that the author doesn’t think “atmosphere” discussions about programming languages are of less value, it’s just an example to segue into the classification of “soil, surface, and atmosphere” as types of programming language considerations, and off of that the observation that the past decade has shifted significantly to “atmosphere” as the most important aspect for safe, boring software engineering (which is the actual primary topic of the article)

    None of that is to imply the friend is wrong or inferior in some way

    • PaulBGD_ 3 years ago

      Yeah agreed. I’ve talked with Pablo before about languages, he just really enjoys discussing them and wants to be on the same page of what you’re discussing.

      I am however now worried if I said anything about Go lol

  • 0xbadcafebee 3 years ago

    You don't know what the other person really wanted or thought - and neither did the author, apparently. The breakdown in communication here is that you, and the author, had certain expectations, assumptions, and unknown information, and you both made conclusions based on all that variable, unknowable, uncommunicated stuff.

    Rather than assume what's going on in the other person's head, ask them. Assume good faith until evidence to the contrary. It allows less judgement and negativity, which leads to more fruitful conversation.

    • drones 3 years ago

      My issue isn't what he said, it's how he said it. He could have been more respectful about the other person's opinion about go, but "I suspect he didn't know or think much about [feautures of go]" suggests a very prevalent judgmental attitude towards CS I feel brings the culture of the industry down.

      > He instead emphatically talked about how much he loved that "the Go developers knew that all you need is a for loop. Someone brought Scala into my company and I hate the mental shift."

      All you need is a for loop? Interesting! Why did they say that? What design decisions informs this approach?

      If someone with neither experience in scala or go were to choose one language for this project, why would they use Go or Scala?

      If the guy truly has no idea what he's talking about, then it should be evident just by him speaking and you asking questions. If he does, then at best you learn something new or at worse hear a different perspective. Be an active listener and engage with what the other person is saying. You can be critical without being judgmental. It's sort of impossible to have bad faith in this way, because you're taking what the other person is saying seriously instead of writing them off.

      • coldtea 3 years ago

        >All you need is a for loop? Interesting! Why did they say that? What design decisions informs this approach?

        For starters, Go not having a while loop.

  • tornato7 3 years ago

    I agree, the recount of that interaction had major "Oh you love X? Name every Y.[1]" Vibes

    1. https://knowyourmeme.com/memes/oh-you-love-x-name-every-y

  • spacemadness 3 years ago

    This very much read like the comic book guy of programmers to me.

josephg 3 years ago

My take is simply that programming has gotten way bigger. People seem to think that in the “old days”, programmers ate raw potatoes and programmed in assembly because it put hairs on their chest. The reality is, computers were way simpler objects back then. Assembler on the Intel 4004 has like, 30 opcodes or something. The list fits on your phone screen without scrolling. Modern javascript bundlers pull in more code than entire operating systems back then. C only has about 20 keywords. If you know assembler, you can probably learn K&R C in a weekend if you go hard. Modern C++? Forget it. Apparently the spec just for c++ initialisers is 300 pages long.

Today the same amount of knowledge makes you barely passable in a single niche domain. Consider web development. To get really good at modern web development, you need to know modern javascript, CSS and html. You need to understand how browsers work and all the quirks of how http requests and loads webpages - including what dozens of http headers do and how they interact. You need to understand the browser rendering process, performance tools, accessibility and debugging tools. And learn dozens of javascript libraries, like react, express, webpack, database wrappers, and so on. It’s accomplishment to learn all of that. But if you do, you still only know web programming. That knowledge doesn’t really translate to operating systems work, mobile development, databases, AI, embedded, etc.

Most professional programmers only have the inclination and capacity to learn one ecosystem. And, even then usually with big holes in their knowledge. True polyglots are rare because the mountain you need to climb to get there is higher. But we also depend on polyglots to guide us toward useful tools. Language / ecosystem choice still matters. It matters for performance, velocity, security and compatibility. But how can you really evaluate that stuff unless you’ve spent time debugging Go programs, or tried to squeeze every last drop of performance out of a big legacy Java monolith?

We’re left talking imperfectly from our own experiences. And living in whichever niche of programming we’ve carved out for ourselves. The days of everyone being all terrain programmers is over.

  • shipscode 3 years ago

    I like this take. Good luck being a “hacker” when the webpack config takes 2 days for a pro and a week for a novice. The programming landscape is far more complex.

  • kajecounterhack 3 years ago

    This rings true. Widespread existential dread of "am I investing / have I invested in the correct niche since I can't learn it all" feels like a logical progression.

    The cambrian explosion is happening within subfields too (e.g. AI -- everyone is a specialist within a specialty).

thinkingkong 3 years ago

Alright. Lets say in any group of people you have a normal distribution of people caring about the thing you care about. On the left, people dont care at all. On the right people think its the most important thing on the planet.

An argument that suggests people dont want to talk about the things you want to talk about and then uses fabricated classes of thinkers to suggest the things you care about are the grounded ones is just well written flame bait. You can easily find a set of people online who can argue about the garbage collector behaviour of several languages: thats actually pretty cool. But saying people arent hackers because they dont want to discuss it the same way is literally defining a set of people to exclude them from your “group”.

  • NoMoreNicksLeft 3 years ago

    It occurs to me that if you buy into the concept that there are "posers" and also "the real deal", then the first thing the posers should do is start whining about "gatekeeping" and how awful it is. It's just the best strategy considering their lack of merit. If the terminology "gatekeeping" hasn't been invented yet, then it would be strategic to invent that word.

Xenoamorphous 3 years ago

Sorry if this is off-topic but I often see in HN (either in articles posted here, or in the comments) lack of empathy.

He talks about a "friend" and then proceeds to say things like "To be honest, I suspect he didn't know or think much about them" or "This was not a fruitful conversation".

How is that supposed friend, who might very well be aware of this person's blog, going to feel after reading this? Is it a cultural thing and this is not offensive everywhere?

The irony is that the main page says "I ♥ people; look for ways to make them happy, and empower them."

  • VoodooJuJu 3 years ago

    >Sorry if this is off-topic but I often see in HN (either in articles posted here, or in the comments) lack of empathy.

    You are absolutely correct. This place is populated with quite a few nerds. Nerds typically have subpar social skills, which is is both fueled by and results in a lack of empathy.

    >"I ♥ people; look for ways to make them happy, and empower them."

    The propaganda arm of the Soviets is called "Pravda", which means "truth". It's like people who say "I'm such a nice guy", "I'm very humble", or this author saying "I love people and my friend" but then they talk shit about their friend in this very article.

    Listen not to what someone says, observe what they do. "Actions speak louder than words" and all that.

    • joenot443 3 years ago

      You're getting downvoted, but you're right.

      >I wanted to talk about its garbage collector (1, 2), its cooperative scheduler that many people think is a preemptive scheduler, its very loose approach to correctness… and he didn't want to talk about any of that.

      This is not the way an emotionally intelligent person approaches a conversation. The idea that a conversation should be a demonstration of ones own knowledge is a pretty common notion I see with socially-stunted geek types. Growing up with a narrow or minimal social group will do that, it's no one's fault, but it's a pretty clear indicator this person's advice on interpersonal relationships shouldn't be taken too seriously.

      In the same way you can tell immediately from a blogpost that someone is an inexperienced engineer, the takeaway from this one for me is that the author is an inexperienced friend.

      • iak8god 3 years ago

        > This is not the way an emotionally intelligent person approaches a conversation.

        Good thing you and the other apparently high EQ commenters in this thread are here to set the records straight and bully some guy over his personality traits as determined by you after reading a single blog post.

      • rideontime 3 years ago

        > The idea that a conversation should be a demonstration of ones own knowledge

        Thanks for a succinct description of something I’ve been noticing a lot lately. This is going to stick with me.

    • MrJohz 3 years ago

      I get what you're saying, but I think the "nerds typically have subpar social skills" meme is often used as an excuse for behaviour that shouldn't be acceptable anywhere. I'm not even sure it's that true. Most of the more capable people I've worked with have been very emotionally intelligent, and I don't think I've ever found nerdy behaviour to be a useful judge of genuine skill or interest in a subject.

      But in a reply to your comment there's already someone talking about nerds not getting on with "MBA types", like this is some American high school film and not real life...

      • bcrosby95 3 years ago

        Acting "properly" socially is exhausting for me. I mostly avoid social gatherings because of it. For stuff for the kids I just focus on them and let my wife handle the adults.

        For things my wife wants me to go to (without the kids), I will go, but I tend to just sit there and not talk. I'm fine observing. People find that socially awkward, but her friends are used to it by now.

        My friends are used to me sometimes saying weird/crazy shit.

        Think about it like this: yes, I can act properly. But it's like work. I would rather leave work at work.

    • vitro 3 years ago

      Yep, that's what my teacher said. I don't listen to your words, I look at your actions. Your actions betray you.

    • confoundcofound 3 years ago

      It’s why nerds hate MBA-types. They see little value in understanding and engaging with the qualitative side of being human.

      • robmccoll 3 years ago

        One reason, but to be fair MBA types can have the same lack of empathy. Their interactions can turn into (actually kind one of the things the author complains about) treating people purely as capital and relationships as means to financial end.

        • confoundcofound 3 years ago

          You’re absolutely right. There’s understanding how people tick, then there’s feeling it too.

        • earthling8118 3 years ago

          Interestingly enough I read the above comment and assumed it was speaking about the MBA types having the lack of empathy, not the other way around. The purely transactional relationship (often one sided) is one of my biggest issues with them.

        • uoaei 3 years ago

          Everyone I've talked to about their experience in MBA programs say that it feels designed to teach you to think of people as if they are somewhere between cattle and plants, mere generators of productivity metrics for spreadsheets and dashboards. The only perspective is quantitative, and it's largely based on arbitrary, misleading metrics.

          • derivagral 3 years ago

            Partner went to a top10 MBA program. This was not the takeaway or remotely close to the summary. Very popular meme though.

            • uoaei 3 years ago

              It's true they've begun to "reform" the curriculum to be more human-centered across different (but far from all) departments, but it's akin to the clumsily-tacked-on ethics classes in scientific/technical tracks: if you take them seriously, they're valuable, but even among the cohort of students there is little respect for them and are usually considered mere drudgery if not an afterthought.

      • sublinear 3 years ago

        Are you kidding me? "MBA-types" have the same problem. How many frausdsters in prison have an MBA? It's a lot.

  • chefandy 3 years ago

    Yeah-- that's always been the case in more technical crowds from my experience. I switched to HN from Slashdot like a decade ago because the Slashdot crowd seemed to get overrun with folks like that.

    Recently, I most frequently notice it when people discuss potential job losses from AI automation. Regardless of whether or not this is good for society, it's absolutely bizarre how many folks around here (and some other places, like related subreddits,) gleefully dance on the grave of artists of all people. Some seem to disdain creatives wanting to participate in our economy using their hard-won skills and vocation, almost as if their doing so is oppressive to non-artists. Others seem to think it appropriate to act like they've just beaten them in a game. The majority of folks around here seem to act pretty reasonably about it but that vocal minority is obnoxious, to say the least.

    Accuracy of their predictions aside, it's just a disgusting way to talk about people whose careers, they imagine, were just unexpectedly flushed down the toilet through no fault of their own. Unsurprisingly, these people usually have the least sophisticated, and least useful philosophical understanding of what art is. I imagine this is a cognitive limitation directly related to their empathic limitations.

    • Kalium 3 years ago

      It's been my experience that in conversations about AI, literally nobody actually wants empathy. People want to talk about empathy and deplore the people they disagree with as lacking it. The underlying assumption and implication is that a person experiencing genuine empathy would both display it in some legible manner and agree with the speaker's positions on things. In short, the idea of empathy is weaponized.

      Perhaps unsurprisingly, this falls down on several points. It's just a disgusting way to talk about your fellow human beings when it's your own failures tripping you up. I imagine this is a cognitive limitation directly related to their own empathic limitations.

      In conversations about AI, people usually want changed behavior and similar concrete shifts. Empathy is viewed as a lever to produce those changes. When the changes are not forthcoming, the conclusion people reach is that clearly it's because the emotional experience of empathy isn't happening. This avoids considering awkward and unpleasant questions such as if there may be other good reasons why those changes are not forthcoming from a person who may be experiencing sincere and genuine empathy.

      I spent a lot of years as a professional software engineer. Many of those left me daily on the receiving end of people for whom calling on the empathy of others was their preferred means of shaping behavior. I had to learn to set aside those emotions in order to preserve my own judgment. Now I see, daily, the same kind of people deploring that the tools they taught me to resist are not working.

      What I see in this blog post is someone relating a story in which an awkward encounter is anonymized. The anonymization is itself a form of empathy in action - the person is not called out specifically, only the conversation. There's plenty of room to criticize the author in what is presented, but we really have no idea who missed what cues in that conversation. It's not a kind comment on either person.

      • chefandy 3 years ago

        a) I was responding to an admittedly off-topic comment, and not the article.

        b) Your argument that people solely use empathy as a kudgel to get their way is not reflected in reality. What you describe is emotional manipulation, and as far as I can tell, you're essentially arguing that all calls for empathy in conversation are emotional manipulation... which is ridiculous.

        c) Simply speaking about people respectfully is actually important and doesn't change the concrete components of a conversation. Discussing whether or not there should be some concrete action in response to a bunch of people losing their livelihood doesn't benefit from "lol get a new career, idiot." If you don't understand that, you've probably got a serious problem understanding the effect your words have on other people.

        • Kalium 3 years ago

          My argument was and is that specifically and narrowly in conversations about AI and its impacts on the livelihoods of people, calling for empathy from others is deliberate emotional manipulation with the objective of cudgeling people into compliance. It's also often a rallying cry, used to de-legitimize the positions of their counterparts as cold, uncaring, unfeeling, and devoid of humanity. Common enough ad-hominem material, though obviously fully emotionally justified.

          The only broader comment I offered was that I have worked with a number of people who operate that way on a daily basis. I understand why. It helps them hit their professional goals, ensuring their livelihood and those of their families. Many of them see a resistance to these tools as a lack of respect for their skills, abilities, hard work, or reasonable economic interests.

          As to personal respect - how prepared are you to see respect in someone saying they understand but disagree? I can both understand the impact of my words on other people and refuse to shift my position because of their emotional response. Many others may not react as well as you to a compassionate, empathic, kind, caring, and understanding essay arguing that creatives feeling threatened by AI should seriously consider a change of career.

          • chefandy 3 years ago

            > My argument was and is that specifically and narrowly in conversations about AI and its impacts on the livelihoods of people, calling for empathy from others is deliberate emotional manipulation with the objective of cudgeling people into compliance. It's also often a rallying cry, used to de-legitimize the positions of their counterparts as cold, uncaring, unfeeling, and devoid of humanity. Common enough ad-hominem material, though obviously fully emotionally justified.

            Sorry, no. You're conflating two very different things. Saying it's unethical to entirely disregard people's livelihoods when deploying new technology doesn't even resemble an ad-hominem attack. Saying that anybody who has an opinion that doesn't match yours is arguing in bad faith IS an ad-hominem. For example: equating advocating for considering people's livlihood as being emotionally manipulative, full stop. It's pretty ironic that you're accusing them of not respecting opposing opinions.

            > The only broader comment I offered was that I have worked with a number of people who operate that way on a daily basis. I understand why. It helps them hit their professional goals, ensuring their livelihood and those of their families. Many of them see a resistance to these tools as a lack of respect for their skills, abilities, hard work, or reasonable economic interests.

            I don't know anything about your daily life, but I do know that trying to apply the motivations of the difficult people in your life to others you find similarly difficult is pretty intellectually lazy.

            > As to personal respect - how prepared are you to see respect in someone saying they understand but disagree?

            I do it all the time. I'm always the one trying to get people to see things from someone else's perspective. In this topic, specifically-- I strongly argue with people who think these technologies need to be locked down and left to huge companies solely to protect people's careers. I argue with developers who don't think they need to consider anything beyond technological advancement when deploying technology. Both opinions completely fail to acknowledge the needs of other people and the consequences for protecting their self-interest.

            > I can both understand the impact of my words on other people and refuse to shift my position because of their emotional response.

            Ok, great. Unless you prove that's true of everybody else, that doesn't address what I initially said.

            > Many others may not react as well as you to a compassionate, empathic, kind, caring, and understanding essay arguing that creatives feeling threatened by AI should seriously consider a change of career.

            You're right. Many others might not react well to a respectfully worded essay that said those things. You'll notice that I never, ever said that people who advocate for balancing technological advancement with the needs of the people replaced by it are fundamentally unethical. At all.

        • sublinear 3 years ago

          > you're essentially arguing that all calls for empathy in conversation are emotional manipulation... which is ridiculous.

          Is it? I'm pretty sure people in positions of authority are mentioning empathy constantly while it's rarely mentioned in polite conversation.

          • chefandy 3 years ago

            > while it's rarely mentioned in polite conversation.

            Maybe your polite conversations?

    • m463 3 years ago

      > gleefully dance on the grave of artists of all people

      I suspect this might be like the folks who put down windows administrators.

      I think it's sort of like "windows has a gui, anyone could do that", which might mean they're not special like me.

    • BeFlatXIII 3 years ago

      IMO, the grave-dancing on artists most likely arises from a (probably small) subset of artists having a vocally "fuck you, pay me for my skill" attitude.

  • nixpulvis 3 years ago

    You can absolutely have friends that you have unfruitful conversations with. The idea that every interaction needs to be positive to constitute friendship is extremely unhealthy and sterilizing.

    • luma 3 years ago

      I have fruitful conversations with friends, and exactly none of them have been arguments about our favorite programming languages.

      This dude just wanted a pretense for a blog post about Very Strongly Held Feelings Concerning PLangs.

      • shrimp_emoji 3 years ago

        I have fruitful arguments about programming with friends.

        You just have to find people that enjoy banter and aren't insecure, which isn't very easy.

    • lloydatkinson 3 years ago

      And also very American-ised. This forced positivity seems to be a cultural aspect of American life.

      • pjlegato 3 years ago

        Let's not overly stereotype here. America is a huge place with many radically distinct cultural regions.

        Certain regions have this "forced positivity culture," notably the west coast. Others, such as the northeast, are famous for the opposite.

        American regional cultural differences are obscured -- especially to foreigners -- by the use of a common language. California is as culturally different from Maine as Portugual is from Norway.

      • ChatGTP 3 years ago

        I agree with the forced positivity thing, I work for an American firm and if you're not positive, you're reprimanded. I had to be told several times to learn to feedback constructively.

        While I do appreciate this, and I understand it, I just feel like a robot now, not a human at work. So much tip toeing around issues it all just feels so fake and there is little room for emotion.

        Sometimes, I think it's ok to just be honest with people , but not in America for some reason.

        • NikolaNovak 3 years ago

          FWIW, my experience (being a 45yo who immigrated to North America at 15) is that "Culture of fake niceness" predates "Culture of Emotional intelligence and empathy"

          I find in last few years, many people/groups/companies are working toward increased emotional intelligence and empathy. I see that as a good thing. It just gets mixed up with the original "somewhat real but also somewhat fake classless friendly positive culture".

          It's... nice that I can call my client Bob and my VP Laurie, instead of Mr Neubauer and Mz Jameson. It's nice that we speak as equals. It's however false to then erroneously assume that we are equals or that we have equal relationship, so there are layers and nuances to lessons a newbie to north american corporate life needs to learn and internalize.

          Anyhoo, what I'm getting to: the "original corporate fake positiveness/niceness" indeed could suck the life out of me. The "new & improved show empathy and grow emotional intelligence" I quite enjoy; it's a good challenge for systems-oriented nerd actually. I always think "What leads us to Star Trek future" and I think empathy is a key factor. So showing empathy in code review is good. Showing sterile niceness and avoiding constructive criticism is bad. It can be easy to mix them up though.

          My 100 Croatian Lipa, FWIW :->

          • ChatGTP 3 years ago

            Interesting take on it, and I've seen things trend in that direction, which is a good thing, I agree.

        • SkyMarshal 3 years ago

          As an American, I think there are two sides to this coin. On the one hand we have various (annoying) forms of forced positivity. American cheerleader culture is one, the cult of PMA (Positive Mental Attitude) is another, and similar things. It’s like some of us think the natural state of humans is to be overtly happy all the time, and if you’re not you’re deviant.

          On the other hand though, toxicity is worth avoiding. It can ruin team dynamics, and turn a high-functioning org into a backstabbing dysfunctional one. For instance, one wise thing Joe Biden did at the start of his term was to require that everyone in his administration be nice to each other, treat their colleagues with respect and dignity [1]. He was preemptively killing toxicity before it could emerge. HN enforces this too as a matter of policy.

          You can of course have the latter without the former. And criticism can be constructive and honest without being overtly cheery. (The Japanese are good at this fwiw - “Fix the problem not the blame”). But some Americans, subcultures, and corporate cultures, don’t always understand the distinction and mix them up. And some business people believe that happy workers are more productive, and so encourage positivity for that reason, even though studies on the subject have long produced mixed results.

          [1]:https://www.foxnews.com/politics/biden-administration-be-nic...

        • mardifoufs 3 years ago

          I think this is just "colder" Europeans that can't understand that Americans are usually genuinely happy in those interactions. Like, they aren't being fake or lying to you when they are overly nice and positive. It's just how they actually feel.

          I'm neither American nor European but I honestly always felt that Americans are much warmer and genuine than Europeans whenever I visit. But I guess it is harder to see when you are used to be in a colder "rude by default" environment.

          • NoMoreNicksLeft 3 years ago

            It's not how they feel at all. Or, if they do actually feel that way... it's inadvertently the "fake it till you make it" where they have done this for so long and so intensely that they've tricked themselves into feeling it.

            It's likely the origin of some large fraction of mental illnesses.

          • watwut 3 years ago

            They are not genuine at all. It is just that the express themselves in an passive aggressive way and interpret people expressing doubt as rudeness.

    • justin66 3 years ago

      There's no need to conflate "unfruitful" and "negative." Plenty of people have fun arguing without persuading one another of anything, more or less the definition of an "unfruitful" conversation.

      It's negative when someone's not having fun. Or more to the point, when someone feels the need to post on the internet about how defective the "friend" they were arguing with is.

    • seydor 3 years ago

      you can have such conversations with anyone, they are not a friend. friendship implies a certain emotional investment, which implies a certain bias

      • daveslash 3 years ago

        I agree. I think in modern American vocabulary, "Friend" is thrown around quite loosely to mean "somebody who I know and I'm not adversarial with".

        Personally, I have very few friends - people with whom I have an emotional investment, who I'd trust to call if I had a bad breakup or needed money or some sort of personal help. But I have tons of casual relationships with folks that I'm on friendly terms with.

      • nixpulvis 3 years ago

        I don't understand your point.

  • wpietri 3 years ago

    I don't think I'd personally be offended by those bits. People have different focuses! Sometimes conversations aren't fruitful! I'm ok with that.

    But I do think there's a lack of empathy displayed in his strong value judgments. His "here are the different things people think about" breakdown is interesting. But there's a flavor of "and these specific people are bad and wrong" here that I don't like. I think he should have kept going to "and here's why they focus on those things" with the same amount of appreciation.

    • kayodelycaon 3 years ago

      Well said. The only issue I have is the lack of empathy.

      Friends don’t have to agree on everything. Calling your friend a jerk because their interests don’t align with yours is… odd?

      • yoyohello13 3 years ago

        OP didn't call his friend a jerk though. He said the conversation wasn't fruitful. There was a bit of an heir of "Oh, you don't know about GC?" but I think people are reading too much into that line.

        • wpietri 3 years ago

          I think the problem isn't that line, it's in the rest of the article. Which I think then colors the interaction with the friend.

  • srpablo 3 years ago

    Hi! Author here. This is fair; I can see how you feel this way from the article. That said, "I suspect he didn't know or think much about them" isn't a value judgement on him; just as I didn't care much about his point on `for` loops, we all have things we care about more and less about than others. Same with "fruitful conversation" — I meant that for both of us! I think both of us could have had a better time.

    I'll try to be more mindful in the future, but I think "the original characterization doesn't trash him" is defensible. If he sees the blog and thinks its unfair, he's perfectly able to reach out (we're not actually very close). I make it clear we value different things but I never explicitly say "this guy sucks" _because I don't believe that._ He's a fantastic dev who's built great systems, but I wish we had a better framework for chatting about Golang.

    Edit: I've updated the language with a few more details to better reflect how that whole interaction went down, which was a playful chat between two seasoned devs with ~12 companies between them. I didn't want to spend too much of the article on the anecdote, so I originally cut out some surrounding context (he was excited to "get into it," it's not like I just came at him when he said "I like Go").

    • blululu 3 years ago

      "He's a fantastic dev who's built great systems, but I suspect he is not interested in these aspects of software" would have changed the entire tenor of the article. This person doesn't need to be in the article at all and I had a lot of trouble getting past this section to the many reasonable points made after it.

      • srpablo 3 years ago

        Thanks for the feedback. I updated the language a bit to better reflect how that whole interaction went down, which was a playful chat between two seasoned devs with ~12 companies between them. I also removed the language that was being perceived as judgemental.

  • narag 3 years ago

    How is that supposed friend, who might very well be aware of this person's blog, going to feel after reading this?

    In Spanish there's a saying, la confianza da asco, that could be translated more or less as "familiarity sucks". You often treat your friends and family worse than you would to strangers. It also means that if a good friend doesn't talk truth to you, who will?

    • cookie_monsta 3 years ago

      I think that "familiarity breeds contempt" is probably a closer translation there, and a phrase that most English speakers would have heard before

      • narag 3 years ago

        Yes, your "I know you so I don't like you" is close to our "you know me so you need to suffer me" but subtly different.

  • AYBABTME 3 years ago

    I think it's perfectly okay if my friends think they had an unfruitful conversation with me and thought that I didn't know what I was talking about. I don't like rubber-stamp people who just say whatever I want to hear and have no depth of their own and aren't willing to disagree on anything.

    In fact, I really can't stand when I talk to someone and they seem to agree unconditionally with everything I say; it's not believable. Surely they disagree, why can't they express their feelings? Why is no one willing to go on a limb and be wrong or criticized? I find it particularly prevalent in the tech circles, when talking to parents of other kids in the SF Bay area. Everything is very picture perfect, and I can't believe it, so I feel I can't trust the people speaking. They're too nice, too polished.

    I like my friends who will disagree with me (most of the time respectfully) and allow me to say stupid things and forgive me for my imperfections, and equally for theirs.

  • d1str0 3 years ago

    Right? As he explains, there are many different hierarchies of critiquing a programming language. Yet, they heavily imply if you care about “surface” topics, your feelings aren’t as valid as if you were more interested in the garbage collector.

    • danenania 3 years ago

      It's a well-worn genre. "Here are the things you need to know to be a real X" where there just so happens to be perfect overlap with every subject the author knows well. Anything the author doesn't know much about is, of course, irrelevant, and not something a real X would waste their time on.

  • stereolambda 3 years ago

    It's an interesting notion that you can't disagree or find faults in your friends, especially if we adapt the Anglophone definition of a friend as a loose sorta sustained contact. Would people rush to criticizing in this manner if someone truthfully wrote that their friend has problems hauling 20 kg weights up four floors of stairs?

    The description is undiplomatic, could be written in a more roundabout way, but this could be read as even more haughty and rude. I'd say that as human collectives we need to maintain a grip on reality, and it is wasteful and dangerous to live in a web of polite lies.

    • pjlegato 3 years ago

      This is an inaccurate and highly reductive stereotype of what the supposed "Anglophone" cultural world believes about friendship.

      In reality, there are vast cultural differences between different English speaking regions, which foreigners often overlook due to the shared language. California, New York, Miami, Johannesburg, New Zealand, and rural Yorkshire are all technically "Anglophone" in some broad reductive sense, yet are as culturally distinct (or even moreso) as, say, Sweden and Greece.

  • fatfingerd 3 years ago

    I'm maybe not as offended as you because I think his friend is more mature and should be proud they avoided being baited.

    The GC being preemptive might be part of a group choice at selection time, whether the language is painful to read and/or write is a permanent factor in your quality of life at work until you eventually move to another project.

    Of course whether they are not emphatic enough is more a matter of whether the author sees it as a criticism of their friend.

  • kayodelycaon 3 years ago

    I think a lot of people have these kind of discussions behind people’s backs. I’ve certainly done it.

    Who hasn’t occasionally mentioned to one friend how another friend annoyed you?

    On the other hand, it’s not something you do in public. I’d be just a tad upset this person didn’t tell me how they felt and instead told everyone but me.

    • shrimp_emoji 3 years ago

      Yeah. A friend telling me I'm being annoying or stupid is fine. The narcissism of turning your life into content creation where I happened to cameo isn't something I could ever get used to though. :p

      That feels like such a new and toxic dynamic enabled by the fact that anyone can (and is incentivized to) blog online.

  • bsenftner 3 years ago

    Decades ago, my group of close friends made a pact: if anyone of us is talking shit, talking nonsense, or simply expressing attitude that smells of self deception, do not let it lie and declare it is time for a reality debate. Friends should never let friends descend into self deception, because that slippery slope can kill, as well as sour everything one experiences. Others seeing us in the midst of a reality debate would often form little crowds. If you ever witnessed the "pseudo intellectual club" debates at the Boston Pour House during the late 80's, that was us. That group of close friends is long dispersed into the winds, several still keep in touch, and it is that 'reality debate' activity we continually return, and debate the state of the world.

  • iinnPP 3 years ago

    I wish my friends were this honest and blunt. I acknowledge that the friends I keep would almost certainly disagree though.

    The normal (at least in Canada) seems to be as you suggest. I'm perfectly ok with being the weird one though.

  • clnq 3 years ago

    The tech world might not be as empathetic as some other human endeavors, but it has a unique approach.

    We need to consider whether we should foster more empathy or simply adapt to the existing landscape. Being practical and discerning, sometimes to the point of discrimination, has proven effective in areas like space exploration, business, and even the natural process of evolution. And tech, too. Over the past 30 years, the tech industry has achieved remarkable feats, feats that would seem magical to people living a century ago. This success stems from swiftly testing new ideas and people, and discriminating between those who can deliver results and those who cannot.

    However, such judgment or discrimination can pose problems. While it might be beneficial in natural systems, facilitating improvement, it isn't perceived positively in our society. We aim for fairness and equality for everyone. The term "discriminate", even though integral to nature and many productive systems, often carries a negative connotation in sociology. And indeed when we look at examples of unfairness and inequality in history, they are generally seen as immoral. But I wonder if that is because the inequality was often means to an end for someone else's decadence.

    Here's a difficult question: should tech become more empathetic or continue to discriminate based on ability? If we become less judgmental of skills, we might not achieve as much. If we continue to be unempathetic, that will cause social friction. While I don't have a definitive answer, it's certainly worth considering.

    In my tentative opinion (since I don't feel particularly adamant about it), we should continue assessing individuals based on their technical understanding in the tech realm, but within reason. We need to maintain humility, recognizing our limited knowledge and potential to misjudge others. Our critiques should be measured, and we should avoid letting our assessments of others' technical skills cloud our perception of their worth in other areas. After all, one can possess excellent personal attributes yet lack technical skills or be unfit for a specific tech project. In that sense, I lean more heavily towards the fundamentally non-empathetic approach. But that's just N=1. The important part of my message here is that we need to acknowledge the equity/empathy-effectiveness trade-off and be conscious of it.

  • FollowingTheDao 3 years ago

    > How is that supposed friend, who might very well be aware of this person's blog, going to feel after reading this?

    Friends are people you can talk like this about and they are still your friend afterwards.

    • blululu 3 years ago

      Talking directly and honestly with your friends is a very good thing, but don't talk trash about them behind their backs - it is passive-aggressive, deceitful and reflects very poorly upon your character.

  • sublinear 3 years ago

    > How is that supposed friend, who might very well be aware of this person's blog, going to feel after reading this?

    Don't worry. The friend is probably imaginary just for the story.

  • mrkeen 3 years ago

    That fits exactly with non-fruitfulness. A discussion about programming languages became a discussion about someone's empathy.

    • eropple 3 years ago

      "How to be a decent human in the world" is always a fruitful discussion. It is, perhaps, the most important one.

      • than3 3 years ago

        That kind of conversation often lacks for how to deal with deceitful, ruthless, and generally harmful people.

        Not everyone is decent, and turning the other cheek doesn't work or communicate what it once did in this age of platform megaphones.

        The corruption of indeceny is everywhere, and most people don't even realize it when they do it because of menticide, indoctrination, or whatever you want to call it.

        • mrkeen 3 years ago

          We are all each other's arseholes. I didn't find what the author posted rude. I find accusing him of having a lack of empathy rude. Ignore the noise, engage with the content.

          • than3 3 years ago

            You might want to make that a bit more clear then.

            It seemed more like hyperbole, and I certainly didn't get that from what you said.

  • andai 3 years ago

    The entire point of Go is that it's designed for less talented programmers, i.e. people who can't understand or don't want to put in the effort to understand those things.

    That's the whole appeal of many programming languages, they massively simplify the mental model (for a price).

    I've been a lot happier and more productive since I switched to a slow language (which younger me would have been sad to hear).

    • sdenton4 3 years ago

      Thanks to the magic of Turing completeness, lots of the complications don't actually buy you anything...

      The explicit choice in the design of Go is to prefer fast reading over fast writing, which helps maintainability and debugging.

      Complex language features are terrible for maintainability: the reader may not know the feature, it may interact in unexpected ways with other language features, or have other non-obvious pitfalls. Debugging these things are ultimately a waste of time, and time is the highest price of all. And for what?

    • andai 3 years ago

      (Since it's too late to edit)

      I believed this to be literally the case, that Go was designed for the "lowest common denominator", i.e. to make that area of programming at Google more accessible than it was previously. Have I been misinformed?

    • chaxor 3 years ago

      You misspelled JavaScript

      • fakedang 3 years ago

        Honestly, is it just me or do I find Javascript unnaturally difficult? I've learnt Python, C++, MATLAB, heck, even picked up some Rust and LabVIEW on the way. But I found Javascript (and Typescript) hard to pick up.

        • andai 3 years ago

          I've spent most of the last 20 years working with JavaScript, and as ridiculous as it sounds, I never quite got the hang of it. Meanwhile other languages clicked within a few days.

          I had a similar experience with e.g. Flash vs GIMP. Even after a decade of not using it, I found that the Flash shortcuts were intuitive to me, but GIMP (which I use every day, several times per day) never quite "clicks".

          I'm not exactly sure why this is the case. Another example is that I rarely use Python, and yet find myself vastly more productive in it.

      • sublinear 3 years ago

        Crying isn't going to open up the browser to your favorite language, and no the DOM API will never be exposed to WASM. JavaScript is here to stay.

    • quest88 3 years ago

      Yea, competent programmers only write in assembly.

    • hu3 3 years ago

      Sure if you consider programmers at Uber, Google, Docker/Kubernetes "less talented".

      • mardifoufs 3 years ago

        I think they are referring to the famous Robert pike quote (though I disagree that it implies a lack of talent from its users, it just means that the language was designed to be practical):

        "The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt."

        It's usually used in a tongue in cheek manner to mock Go which is usually pretty funny but it's disingenuous to argue that it seriously implies that go programmers are not talented.

        • hu3 3 years ago

          Yeah I knew it was referencing that. Thanks. It's just tiresome and lazy to use that misquote and I see that often.

          I don't even code in Go these days but I hold HN to a higher standards.

          • mardifoufs 3 years ago

            Completely agree. Especially since most languages are designed to be simple and even "stupid simple". That's a good thing! There's nothing inherently smart or talented in having to wrestle with a complicated language just to get stuff done.

      • bombolo 3 years ago

        google hires thousands of out of college kids… i'm sure not all of them are as good as a seasoned hacker.

  • Eumenes 3 years ago

    that's your take away from this? so tired of hearing about the e word, and all this therapy talk in business/tech world. "psychological safety" and "vulnerability" (not related to security unfortunately) are two others that make constant rounds among the management caste. i instantly cringe when someone starts talking about this crap at work. please, just focus on your job.

  • austin-cheney 3 years ago

    It could be an aspect of undiagnosed or unmedicated ADHD. ADHA applies more broadly than just states of focus and includes social conditions that when the ADHD is advanced can mimic behaviors commonly thought of autistic. One of those impaired social behaviors can include empathy development. Please note this does not apply to most cases of ADHD and seems to apply in cases that are more pronounced.

    One key indicator of whether impaired empathy is the result of ADHD is that everything tends to be communicated as either starting from or directly referring to the person forming the communication almost as if narcissistic, but not necessarily with a selfishness intent.

    • jvanderbot 3 years ago

      [Engineer/HN stereotype implies un-diagnosed ADHD] has become an engineer/HN stereotype.

      I personally think people can make empathy mistakes without having a permanent neurological disorder.

    • sph 3 years ago

      > ADHD is advanced can mimic behaviors commonly thought of autistic

      Please stop and go educate yourself.

      ADHD is at times co-morbid with autism, but they are not the same thing, have different neurological causes, symptoms and treatments.

      Sincerely, a diagnosed ADHD, non-autistic person that self-identifies as an empath (i.e. the opposite of a psychopath. I can read body language and empathise with people better than most. It's not always as fun as one might think.)

      A common misconception is that empathy means love and compassion for everybody. No. It just means being able to easily put yourself in other people's shoes and feel their mental states. Empathy alone doesn't turn you into Mother Theresa.

      • austin-cheney 3 years ago

        I never claimed they were the same. I have been recently educated on this matter through numerous visits to psychologists/diagnostics in support of a family member. I promise it’s a better authoritative source than YouTube or amateur bloggers.

        • sph 3 years ago

          Are you claiming to know more than someone with the actual disorder because of secondhand discussions, and that also gives you the power to diagnose strangers over the Internet?

          Bloody hell the gall of some people.

tinco 3 years ago

Just to set the context: I like Golang as a language, but I think writing a program that's more than ~10k lines of code in Golang is a mistake (honestly, the limit is probably a lot lower), and I also don't think they should've added generics, just leave the language as useful as it is.

Anyway, I think the author missed the point a bit with his friends argument about "Go developers knew that all you need is a for loop". It's not just an "atmosphere " argument. The programming language literally restricts you to using for loops. That's a surface property of Golang (or maybe it used to be, haven't used it in a couple years).

Golang has been designed to have a minimal and thus very smooth surface. Those issues the author mentioned about Python, that's rough surface.

The article then digresses into the main point which is that engineering leaders are afraid of spending innovation tokens without giving evidence that this is more so the case than it was before.

Not sure if it's relevant, but Twitter starting on Ruby was them spending an innovation token. They then realised there was a big large scale low latency high throughput situation that Ruby didn't have a suitable ecosystem for, so they hired a team that had experience scaling these sorts of systems specifically with Scala. Picking Scala was in that sense the safe choice, the risky one would have been to try and get the existing Ruby codebase to apply the concepts from Scala (which is now more than a decade later a reasonable thing to do in Ruby).

  • davedx 3 years ago

    Having worked with Scala I disagree it’s a safe choice. Scala is a huge, complicated, difficult language built on the huge (but very powerful) JVM. It’s also hard to hire Scala devs AND hard to train non Scala devs to write Scala, because it’s not a language you can learn in a weekend. (Speaking from experience)

    • dboreham 3 years ago

      Also speaking from experience: Scala takes much less time to learn if you have someone familiar with regular programming concepts (not FP religion) to decode it for you. But ultimately agree, it's a bad choice for pretty much any purpose.

      • davedx 3 years ago

        Mmm... depends, I guess. We had a team of JavaScript programmers and we (me included) needed to maintain the Scala back-end our client consumed, that was built by contractors a year or two previously and not really been worked on since then. It used Spray for routing, which IMO was the worst part of it, but there were a lot of other quite "cerebral" Scala-specific concepts in there too like implicits and other stuff that I forget now. A lot of it I'd never really come across before in any other programming language.

        Maybe if you're familiar with something like Haskell Scala is more straightforward to decode?

        • ParetoOptimal 3 years ago

          > Maybe if you're familiar with something like Haskell Scala is more straightforward to decode?

          Only if it's a particular flavor of Scala I think. Even then there's so much "excess" added by Haskell-esque Scala you'll have to develop the skill of mapping from one to another.

          A simple but realtively easy example is sum types in Haskell are case classes in Scala.

  • w0m 3 years ago

    > I think writing a program that's more than ~10k lines of code in Golang is a mistake

    isn't Kubernetes mostly Go? Just sounds like an arbitrary limit. I say that when I try to limit shell scripts to a single-scroll in editor.

    • pjmlp 3 years ago

      Yes, because a couple of Go folks joined the team doing the prototype in Java, and drove the rewrite into Go.

      There is a FOSDEM talk about it.

      • hnarn 3 years ago

        Just imagining a timeline where Kubernetes was written in Java gives me chills.

        • tinco 3 years ago

          If Mesos has managed to be slightly more useful, it would have been a Kubernetes written in C++ situation. Of course in my opinion it being written in C++ was the whole reason it had limited usability so it probably would never be.

          • pjmlp 3 years ago

            Borg is written in C++ as well, and there are no plans to rewrite it into Go, which is mostly used outside Google anyway.

            And how things are going in CNCF projects, if Rust had been more mature in 2014, most likely it would have been Rust instead.

        • pjmlp 3 years ago

          Mesosphere DC/OS was partially written in Java.

duncan-donuts 3 years ago

Maybe I’ve just fallen out of love with the nitty gritty of programming but this blogger sounds insufferable. If I’m wearing a duck duck go shirt and someone comes up and wants to talk about how DDG uses/used bing I’m not going to engage in this conversation. Who the fuck wants to talk about the Golang GC just because you have a Golang shirt on? Also, how condescending to assume the person doesn’t think about it at all. This sort of monologue is gross and the writer is an asshole.

  • brickteacup 3 years ago

    > Who the fuck wants to talk about the Golang GC just because you have a Golang shirt on?

    ummmm me

    (I mean I hate Go but in a hypothetical world where I liked Go, me)

  • drewcoo 3 years ago

    > wants to talk about the Golang GC just because you have a Golang shirt on?

    If I see someone wearing a political t-shirt, they're clearly virtue signaling. If I ask them about it, I might expect political slogans, but often they won't even be able to manage those slogans, much less explanation of a party platform.

    If I see someone wearing a branded beer shirt, they're likely to be able to represent for their shirt-beer. Most of the time I'd only expect advertising slogans, but once in a while maybe they'll have something interesting to say. They're going to be generally more informed than the political shirt crew.

    A programming language t-shirt is much more niche and advertises that the wearer has an interest in that language and wants the world to know about it. This goes far beyond the virtue signaling of the political shirt crowd. If all they can do is repeat slogans (like most of the beer-shirt-wearers), I'd be disappointed, too.

    • mahogany 3 years ago

      Sometimes people are given a shirt as a gift, or they just think it looks cool. I never knew others took shirt-wearing to be such a serious activity.

      • throwaway675309 3 years ago

        I don't know if it's that serious, but personally I'd be rather embarrassed wearing an emblem or a logo and not being able to speak at least to some degree about that thing.

        Reminds me of all the clueless people wearing Che Guevara shirts...

  • janalsncm 3 years ago

    I think that’s a little harsh. I honestly think the anecdote at the beginning was shoehorned in as some kind of clumsy attempt to add personality. But the dirt/surface/air framework seems useful to me.

    • blululu 3 years ago

      The starting anecdote might have been tacked on at the end. It might even be a fabrication. It is certainly unnecessary to the framework they are advancing which is itself reasonable. The fact that the author chose to frame their thinking in terms of them being a snide jerk to a colleague really made me unsympathetic to them as a person.

wpietri 3 years ago

This is the specific spot my suspension of disbelief broke:

> innovation tokens are completely made up, it's like talking about the finite number of "love tokens" you can give your spouse in a given year.

You can't complain that "'atmosphere' questions are extremely based in feelings" and then just get high on feelings like this.

The amount of "love tokens" you can give your spouse in a year is absolutely finite, because they take time and attention. You can see easily this in the complaints that come in advice columns and relationship subs. And innovation tokens are no more made up than anything else. Time and attention are finite at work just as much as at home.

Hackers didn't go anywhere. The solution to the puzzle is that hacking is an ethos not generally suited to creating profitable businesses. However, we've seen a massive expansion in business use of computers, and most of those businesses are trying to be profitable. Yes, a bunch of those early companies were populated by hackers because that's who knew how to use computers then. But the industry has changed as more and more people have seen it as a professional career, not a way to feed a hacking habit.

Hacking is still alive and well if you know where to look for it. People are still doing lots of weird and wonderful things. But they are, thank goodness, not doing them as much at their day jobs. And as a person who has had to clean up other people's "play", I say: hooray! Play at home. Play in disposable playpens. Production is for shit that works.

hodder 3 years ago

It is hard to fathom such a pretentious blog post. What response the author was hoping for when he created it? Good grief.

  • tourist2d 3 years ago

    Someone having an opinion on how it feels to write in a language rather than objective facts about how it works? Blasphemy!

    This blog post was very painful to read without suffering second hand embarrassment.

KaiserPro 3 years ago

So the article seems to imply that "hackers" are the sort of people that look at a partially working system and say: "hmm let's re-write that in a new and untested language" or worse still "lets write this in language x because I've always wanted to try it"

if thats the case, then I formally suggest that such people can get in the sea.

I might be somewhat unfair, but that was my reading.

> innovation tokens are completely made up

So are programming languages.

Innovation tokens are there to make sure that a business can complete a project vaguely on time and vaguely on budget.

Look the reason why people were able to get away with pissing away millions of dollars in pointless re-writes of things is because the speed of business based on those systems was slower. Now, if your site is down, then customers flee.

I mean sure, writing your own database for your SaaS company might be a thing, but its almost certainly expensive and pointless. You're on the hook for scaling it, recovering it when it fails, and finding and fixing all the bugs.

In short, this article, I feel, encourages a damaging, selfish side of CS that I think should be phased out.

ivxvm 3 years ago

Another reason is that being a fan of less popular tech is heavily punishing to career and job hunting. Hell, it's quite a challenge to find a job even in React/JavaScript (took me a good month or even a bit more last time, and I'm a senior dev), and it would be a nightmare for languages/ecosystems like Haskell or Rust. I wouldn't even want to find another JS job because I don't want to go through a month of such struggle again, and if I were a Haskell dev I would be afraid to lose that job like I will die if I do. Nowadays, I don't even want to touch stuff like that simply because it would be unhealthy for me to become interested in tech that makes my life so much harder and stressful. I would probably think about it only if companies started sending me positions with better-than-senior-React rates themselves proposing to pay me for learning their required stack on the go.

  • Lyngbakr 3 years ago

    But presumably there is also more competition for jobs using popular technologies?

    Perhaps the more important metric is supply of devs relative to demand. The top paying languages, according to the Stack Overflow's 2022 survey, are generally less popular: Clojure, Erlang, F#, LISP are the top 4. While certainly not an ideal metric (e.g., perhaps salaries are skewed due to more senior devs using these languages), this hints that the demand is certainly there relative to supply as companies are willing to pony up some decent cash for these devs.

    • ivxvm 3 years ago

      > But presumably there is also more competition for jobs using popular technologies?

      Maybe, but personally I don't feel it has such a significant contribution as number of positions you can apply to. In these languages you basically can find a dozen of positions worldwide open at any given moment of time and apply to them, in JS you can find hundreds upon hundreds of positions every day and just filter and keep applying, and it still can take weeks or months to get an offer, a lot of your applications aren't even processed at that moment, which could be the case with less popular tech positions as well.

munificent 3 years ago

> Today, we're afraid to do anything that's not JavaScript, Java, Python, or Ruby. I have a feeling 10 years from now it'll just be JS. We all read that excellent McKinley article about "innovation tokens" and we decided to be floor-avoiders instead of ceiling-breakers. Engineering leaders lead from a place of fear and risk-aversion instead of optimism and believing in their team. Where have all the c̶o̶w̶b̶o̶y̶s̶ hackers gone?

I think this reflects a larger cultural trend of fear, pessimism, and scarcity.

When we have spare capacity and a belief that we'll have spare capacity in the future, it's psychologically much easier to take risks, be whimsical, try things, explore, and give the benefit of the doubt.

When times are lean, the natural human response is to hunker down, hoard what we have, hustle, and do our best to survive.

It's just not a great time in the world right now.

tptacek 3 years ago

This is like every possible language war trope stitched together into a narrative.

  • srpablo 3 years ago

    Hey, author here, and generally a fan of your contributions here. I'd love your feedback if you're up for sharing it.

    • wglb 3 years ago

      I feel like we have all lost sight of what Dijkstra noted: it is all about the computation (paraphrasing).

      Also what is missing from much of today's programming training is a problem solving attitude. The focus seems to be overwhelmingly on tools and arguments about tools, not about how to solve problems.

  • carapace 3 years ago

    To me it seems like pretty good breakdown from a seasoned professional. I'm a bit taken aback by your take. For one thing, one of the points he's making seemed to me to be "be language agnostic".

jameshart 3 years ago

I like the spirit of the soil/surface/atmosphere split but I think it’s a bit misleading to frame it as a way to talk about ‘languages’.

It feels like those things can be better framed as ‘runtime/tooling’, ‘language/libraries’ and ‘ecosystem’.

And under that taxonomy it isn’t wrong for people who say they like a ‘language’ to not be talking about the runtime or the tooling.

Like, take JavaScript (the good parts at least): I like that language! And I separate that out mentally from the fact that I hate the browser runtime, and I don’t have much love for the node ecosystem. I have complicated feelings about working in javascript as a result. But I still consider myself an admirer of the core good ideas at the heart of the JavaScript language.

The surface matters a lot. You have to live there.

klodolph 3 years ago

To be honest, it feels like engaging in a cultural war. I don’t want to liken this to any kind of mainstream cultural war, but instead liken it to the old tech cultural wars, like Emacs versus Vim or some shit like that.

I feel like saying positive things about Go is a bit of a fucking minefield, because somebody (especially here on HN) is going to talk about how Go is Awful and Bad and made for stupid people or some shit like that. I’m tired of it. I’m gonna go hang out with the Java developers and the people doing work in Ruby on Rails or PHP.

> Infusion of traditional Business and Capital culture, which traditionally serves smoother-brains, the boring, and the unimaginative.

There’s an entire culture of people in tech who refuse, on some kind of principle, to understand or work with people in business / capital / management unless the people in business / capital / management somehow prove their street cred on the technical side. Like, the people who say that they can’t work for a manager unless the manager could do their job!

This is just a shitty echo of the “wow, startups are hard” cartoon panel. If you see somebody doing management or business poorly, and you think “wow, managers are stupid” then you’re falling into the same trap. If you think, “this is why you need a manager with deep technical expertise” then you’re falling into the same trap, but with extra steps.

If you want to work with people who have deep technical expertise, and you specifically DON’T value people with management or leadership skills (unless they also have technical expertise to justify their existence), then you have fallen into the trap and your attitudes are going to make the team more dysfunctional. You’re going to bring the team into conflict with other teams and with the goals of the business.

Anyway. This article doesn’t just promise flamebait, it seems to relish the flamebait, enjoy the flamebait. It seems to be steeped in the idea that pissing people off is a sign that you’re speaking the truth. I think some people have observed that people who speak the truth often piss people off, and then optimized for it. Goodhart’s Law and all that.

  • Mc91 3 years ago

    > Like, the people who say that they can’t work for a manager unless the manager could do their job!

    I've worked in IT for over 25 years. Other than a CTO or senior tech executive reporting to CEO, I have seen problems with technical people reporting to non-technical people that I never see with technical people reporting to, if not technical people, at least formerly technical people. A technical manager can have problems of their own, but why enter a new class of problems that don't exist otherwise.

    Why would I work somewhere where my boss is effectively a PM?

    • klodolph 3 years ago

      I’ve equally seen problems with technical people who have been promoted into management, buck lack management skills. However, I’m not going to draw some kind of conclusion from this—“technical people shouldn’t be in management” is as wrong a conclusion as “technical competence is a primary consideration for choosing managers”.

      People are also really bad at understanding if management is doing a good or bad job. Most people try to figure out if they like their manager on some kind of personal level.

ilrwbwrkhv 3 years ago

Making things easy is the problem. It's been long known in secret societies, that guarding entry through a solvable but hard entry barrier makes it more rewarding for those who do make it through and the ones already inside. In programming, we have tried to make everything easy: JavaScript everywhere. Electron everywhere. Slow code everywhere. No need to think about memory of cpu cycles at all. The result is piles of crap like Microsoft products and Slack and hackers are the minority.

  • klibertp 3 years ago

    Which secret society has seen 4 decades of "it it breathes and codes, it's hired" business climate with hundreds of billions of dollars behind? It's not like anyone wanted for the September to last for eternity, it just had to happen given the situation.

  • mrits 3 years ago

    In some ways things are a lot harder. In the early 90s I was able to borrow Turbo C from my brother. He gave me a pointer to video memory and I could use math to draw stuff. I was making stuff in a few minutes.

    • ilrwbwrkhv 3 years ago

      yes but they enjoy that. there is a reason why notion and things have gotten so popular. people love to pretend they are doing hard shit, when all they are doing is faffing around. react is the textbook definition of faffing around. useHooks. Jesus Christ. What a waste of time.

welder 3 years ago

> Languages with proper concurrency like JVM, BEAM, or Go don't require Sidekiq or Celery queues

This author needs to understand with web/api programming, even using JVM, Go, etc still require Celery/Sidekiq/WakaQ for siloing. You don't want some developer using Go to hog 100% of all webserver CPU doing something concurrently but which should have been done on a background server.

  • quaunaut 3 years ago

    No, you don't require those things. If you're using the proper primitives, they literally can't hog 100% of the server CPU. In fact, the default concurrency primitives in the BEAM/Go do not hog 100% of the CPU, meaning you literally have to go out of your way to fuck it up.

    This makes a difference, and means you do not require queues for properly silo'd background tasks.

    • mperham 3 years ago

      As the author of Sidekiq, I'd very strongly disagree. The key thing you are missing in those systems is long-term error handling. What happens if the remote side goes down for a few hours? This is the purpose of *persistent* background jobs: resiliency in the face of a wild west Internet.

TechBro8615 3 years ago

They're busy building stuff without blogging about it. It's tough to assess a change in culture when your heuristics are limited by selection bias favoring loud contributors over productive builders. That's not to say there aren't great hackers who blog; but there are certainly bloggers who are bad hackers, and by definition they're more immediately visible than great hackers who don't blog.

I'm sure there is a term for this phenomenon, but usually you see it within corporate bureaucracies - the skills that take you to the top are not necessarily the skills that make you good at your job. You get promoted by getting noticed. And creating value is one way of getting noticed. But you don't need to get noticed to create value. Same goes for any builder culture.

So take the opinions of the bloggers with a grain of salt. Eschew the RSS feed for the GitHub commit log. Read the source code, not the blogs. There you'll see that hacker culture is alive and well. Indeed, it's thriving.

  • monksy 3 years ago

    I completely disagree with your claims here. Communicating about your work, your discoveries, your work is one of the aspects of being an engineer. Developing and maintaining a blog takes work. Grinding out code alone is not productive, nor is it a long term successful way of achieving anything in this industry.

    My take of this situation is that people are overworked, and community has become overly regulated, unrewarded, and suppressed. (Language/tone policing, spam, aggressive individuals encouraged in groups, bad group membership policies [CoCs used as bullying devices more than simple rules to follow], dev advocates stepping on everything)

eternalban 3 years ago

> Where have all the hackers gone?

To a newspeak school to unlearn precise terminology.

So to translate OP, "soil, surface, and atmosphere" apparently refer to semantics, syntax, and runtime.

("Pedantic" is a favored word these days. In my days, objections to those who actually knew something about CS was that they are "academic", and "theoretical".)

  • nixpulvis 3 years ago

    I don't know. Syntax and Semantic are pretty much both Surface in this metaphor. The "Soil" seems more like the Environment/OS, while the "Atmosphere" is also the OS? Maybe I'm just throwing wrenches

    But yea, maybe we can't have a PL conversation without also having a conversation about our own language? Ugh

  • xigoi 3 years ago

    It's more like: soil = runtime, surface = language, runtime = community.

zamnos 3 years ago

Right now on the front page is a post about where to see Hokusai's Great Wave today (https://news.ycombinator.com/item?id=35985221) or Why is my dryer radioactive (https://news.ycombinator.com/item?id=35990858#35992719).

They may not hold up to morepablo's bizarre demands of hacker purity (like the off-kilter conversation reported in the linked article. If I talked like that to someone who approached me, I'd be so embarrassed. Definitely wouldn't plaster it all over the Internet on my blog where I "look for ways to... empower [people]"), but it sure looks like the hacker spirit to me.

agentultra 3 years ago

Foundations are often missing: semantics. This is the dividing line, I find, between practitioners and researchers. Like most dichotomies there is some bleed over between the two groups: I consider myself a practitioner but I tend to think in terms of semantics and try to keep up with the research. I know of many researchers who dabble in practice and build things with the fruits of their labours.

The difference between soil and foundation is almost as vast as the difference between soil and atmosphere. For people who think about programming in foundations they're more interested in how solving recurrence relations can lead to better optimizations; more generally speaking, how formal calculation of programs is influenced by or limited by language.

barumrho 3 years ago

Hackers hack on all levels of abstraction. Defining "hacker" around the level of programming languages seems silly. Hardware hackers could have said the same thing about the author.

gonzo41 3 years ago

It's interesting reading stuff like this. I think the author is missing a perspective that all the programming languages that he's listed are old and have stacks of features that were introduced because of feelpinions, fashion and sometimes function.

Complaining about python being slow, or java being verbose and golang being tricky etc. who cares. The stuff people have done in them in highly networked global environments is where a large focus of innovation is. This is the author missing the forest for the trees.

photochemsyn 3 years ago

Maybe they went to Shenzhen, after the US electronics manufacturing industry left the country in search of cheap labor and higher profits? Of course this is mostly hardware hacking:

https://www.thatsmags.com/shenzhen/post/8620/touring-the-har...

However, software hacking also requires access to the low-level components and as abstractions get more and more complex, unpacking them becomes too much work and people become architects, not hackers, expecting all their tools to work only as documented and building with only the pre-approved, security-tested Legos (note that many of the software hackers seem to have gone to work for the NSA and other state-sponsored hacking groups, and their exploits have escaped into the wild, leading to the heavy focus on security consciousness, which also discourages the use of hacks to solve problems).

Note here 'hacking' means using features of systems that aren't described in the manuals and documentation to achieve some goal, rather like custom modifications of automobiles - and with modern cars, that just gets harder and harder to do.

A better title might have been, where have all the experimental risk-takers gone? (A: most of them were eaten by the Borg).

shadowgovt 3 years ago

I like the author's division of the issues into soil, surface, and atmosphere. I've definitely made project choices on all three.

Ruby is not great, not terrible. I enjoyed learning the language. I didn't find much in its runtime or its constructs to recommend it over Python. But I haven't used it in years because the first medium-scale project I wrote in it I put down for two years, came back and found that Ruby on Rails had changed so much that my project wouldn't build; every dependency had gone through a major revision and Rails' preferred package manager had changed. The prospect of doing a lot of work to re-tool a build environment that had worked perfectly fine soured me on further activity in the space. This was nothing wrong with the language and everything to do with the ecosystem being so young that "the adults were not (yet) in charge."

Contrast C++. One of the most supported languages on the planet; adequate performance for my needs. I can't stand the constructs in the language itself. The templating system couples badly with other language features and they "fixed" it by cutting firebreaks in the parse process via newly-required keywords and template parse rules (all taxonomies are broken, and there's a touch of atmosphere here too; I got to ignore all those changes for a decade because MSVC basically told the standards committee to pound sand until 2017). It's a Turing-complete language, you can do everything with it any other language can do... But doing it by having a template resolution hinge on the implicit typecasting of an integer constant `0` makes my skin absolutely crawl.

WesolyKubeczek 3 years ago

Pretentiousness and fluff of the post aside, there are some interesting points, like: businesses just want to be riskless rent collectors, so they do Whatever Other Businesses are Doing, which is a major contributor to the decline of this "hacker culture"; there's also this "neutering" aspect of today's conversations in your typical corporate environment, where you are only allowed to be "polite", "positive", and "constructive", even if the subject is barely worth talking about at all.

Oh, and the thing about Authoritative Calm Professional Voice is spot-on.

The opening, I'll concede, is fluff that could have been edited out, but there it is.

There is also, for some reason, this subculture inhabiting HN which, if some project is not aiming to become the next multibillion unicorn, scale out hugely, dares not be a product, or someone open-sources his work without a particular desire to bring in a "team" or a "community", starts deriding and piling on the author, because in its opinion, such things (and maybe such people) simply should not exist. This subculture is a huge deterrent for anything tinkering-related that is not aiming at, you know, Changing the World or whatever it is these days.

hardware2win 3 years ago

Language discussions are unpleasent and waste of time

Ive seen like hundreds of discussions like that

Java vs c# vs rust vs go vs kotlin

It is always heavy of emotions, unverified claims (performance especially)

and dependent on what stuff do you value.

This kind of discussion requires wide knowledge, hands on experience, curiosity and open mindness.

All of those 4 are really desirable itself, so together even more and are really rare!

>I prefer to work with an excellent software engineer, who doesn't tie their identity to a specific language or technology (e.g. would prefer a great hacker than someone who identifies as a "Ruby developer" or "JS developer.")

Why it matters to you how somebody calls himself?

Is this "single lang programmer" insult variation?

Especially when you are aware that concepts are above languages

>For all my advocacy in this post, it may surprise you to hear that I believe it takes years to be excellent at a language. It's not just syntax, it's soil and atmosphere: common bug flows and how to spot them, footguns, tooling,

Agree!

Many people do not get it, they are always like "you can learn langs after your first within a month" or so

>Functional programmers insisted without evidence that their programs were More Correct.

Hah

  • klibertp 3 years ago

    > Many people do not get it, they are always like "you can learn langs after your first within a month" or so

    In my experience: half a year minimum, and only after your 10th. The amount of uninteresting trivia that you need to wade through on your way to concepts you already know is vast, much greater than you'd remember from 10 years back when you learned your previous language. More then 10 languages I already know do help, in that I can easily pick up any language in a matter of days, but... that's only if we're talking about the language[1]. Developing a skill in using that language, including absorbing the specific culture (books read, talks given, whose blogs to read, which Discord/Slack/#freenode to visit, and so on) and learning the details of the ecosystem (from stdlib to common libraries to frameworks, to the details of implementation, the FFI, and so on) and it's a lot of things to learn.

    Well, at least I know that my next language will be a lot easier to learn, thanks to a revolution in the rubber duck industry, which gave us a duck that can - sometimes convincingly - pretend to understand what we're saying. And sometimes even gives you a hint that turns out to be real! Oh, the progress...

    [1] As long as there's no genuinely innovative features in that language. Which, sadly, seems to be the case 95% of the time.

  • bsenftner 3 years ago

    Throw in the fact that most programmers are terrible communicators, and we get complete nonsense non-debates that are little more than emotional cry fests.

dimgl 3 years ago

This is an annoying, pretentious article. You don’t need to know all of the intricate internals of a language and its runtime to appreciate its features. Similarly, you don’t need to learn all of the frameworks in the TypeScript ecosystem to be productive in TypeScript. So clearly there’s a disconnect between what the author wishes programming would be and the reality of programming.

  • WesolyKubeczek 3 years ago

    > you don’t need to learn all of the frameworks in the TypeScript ecosystem to be productive in TypeScript

    but you should hold in the back of your head a realization that your understanding of said ecosystem and the compiler is limited. Likely always will be, as there are multiple not stupid people working on it, and there's one of you.

    It happened to me that I knew how to do X (and then did it) which had been boldly declared as impossible to do by the resident senior expert. I knew it not because I liked those minutiae, just was willing to dig to the bottom when solving some problem earlier. I dunno, but it's likely that both geeks who just absorb niche and arcane knowledge to feel superior and bone-minded resident experts are equally bad (and sometimes, rarely, but still, they are the same guy).

    • dimgl 3 years ago

      Understanding enough about how a system works is super important. But I'm also not naive: I'm never going to fully understand all of the internals of V8 and the TypeScript compiler. And I think that's okay.

      I think there's far worse examples, like the 500+ accounts on /r/experienceddevs who continue to yell at everyone how much more productive they are with ChatGPT and how they're getting two weeks of work done in two days. I assure you, they know little to nothing about the black box they're feeding prompts to.

belter 3 years ago

Not the purpose of the article but as I am a bit negative on Ruby, and I am neutral to positive on Java...

"Ruby is so much better than Java! Look at how you open a file in Java (shows you 30 lines) vs. Ruby! (2 lines)"

Ruby Example.

================

  begin
    File.open("/path/to/your/file.txt", "r") do |file|
      file.each_line do |line|
        puts line
      end
    end
  rescue Errno::ENOENT
    puts "File not found"
  rescue Exception => e
    puts "An error occurred: #{e.message}"
  end
Java Example, one line less than Ruby ( no imports shown but could also be required for external Gems )

================

  public class Main {
      public static void main(String[] args) {
          String filePath = "/path/to/your/file.txt";
          try (Stream<String> lines = Files.lines(Paths.get(filePath))) {
              lines.forEach(System.out::println);
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  }
  • nightpool 3 years ago

    If you're writing a quick script, there's absolutely no point to caching those exceptions in Ruby—it's just going to cause your program to continue when it otherwise should have quit out due to an error condition outside of its control. Java's checked exceptions breeds overly defensive programming like this.

    Anyway, here's a slightly better ruby version:

        File.readlines('file.txt').each do |line|
            puts(line)
        end
    
    Notice how I don't have to worry at all about constructing or manipulating a Path object, which I find to always be a very tedious part of file IO in Java. It's fully correct, sure, but for a web server that's only ever going to be deployed on Linux containers or a 50 line CLI script that's trying to wring a useful task out of some Java-only library, it's just insane overkill. The only thing worse then using Paths objects is trying to figure out which file calls do and don't work with path objects and which need to be converted to some other class that does the exact same thing.

    Notice also how this is much more equivalent to the Java example provided, except it also consumes the file so you don't have to worry about introducing a new syntax construct to understand how the file gets closed. (Same, incidentally, with the File.open case, which just reuses a standard ruby block instead of introducing a new magic try statement that autocloses the file). You lose laziness, but you can get it back by using File.foreach instead, at the cost of a little bit of readability

  • wmoxam 3 years ago

    The two aren't equivalent (you're using a catchall exception handler in Ruby but not in Java, and are printing a stack trace in java but not in Ruby). Here's the equivalent Ruby:

        begin
          File.readlines('/path/to/your/file.txt').each {|line| puts line}
        rescue Errno::ENOENT => e
          puts e.backtrace
        end
  • xigoi 3 years ago

    Your Ruby example is unnecessarily complicated. Why not just use File.read? Why are you distinguishing two different kinds of exceptions, but not in the case of Java? And what if you don't need error handling?

  • srpablo 3 years ago

    haha yeah, my comment was mostly a throwback to the genre of articles we saw in the late aughts where people were discovering dynamic programming environments, and would say the line about Ruby/Java but not mention all the cases the Java case was handling that their Ruby `File.read` example didn't. I put it in quotes not to make that exact point, but more to reference how I've seen the conversation go.

    Generally I'm extremely positive on Java :-p

fndex 3 years ago

> Elm and Clojure both have something like "if Evan/Rich didn't think you should have that thing you wanted, have you considered that maybe you're wrong? "

Might be true for Elm, but how is that the case for Clojure? Clojure, like any other Lisp, has a very powerful macro system. If Rich didn't think you should have that thing you wanted, build it yourself.

EliasLittle 3 years ago

While I think his terms “Soil” “surface” and “atmosphere” are kinda cute, I don’t understand the need. Each of these already has a very clear established term.

“Soil” = Implementation “Surface” = Language/Syntax “Atmosphere” = Community

Often when people talk about a programming language they mean a combination of these, but it takes very little to clarify which specific part you like or not.

headcanon 3 years ago

It seems the author is lamenting that most people are no longer interested in their preferred level of abstraction, and have instead focused on higher abstraction levels that are less interesting to them. Which is fine, it just means they haven't found "their people" yet.

The few meetups I go to, I've also noticed that 90% of conversations stay at surface level, the folks who prefer to go deeper were always rare, its likely that in the past, meetups tended to attract that small percentage in the first place, so there's some selection bias.

In terms of language-level specifics, I will say that in 12 years of experience I have rarely ran into a problem where "soil"-level properties of a language actually made a difference. I'm not building systems-level stuff or libraries, I'm building apps and services for businesses, where IMO the surface or atmosphere-level issues are more important. It doesn't matter that Python is 1000x "slower" than some other language, up to a certain scale. It matters more that I have access to Python's ecosystem, or there are specifics in how a python app is structured that I just happen to prefer because I'm comfortable with it. This is just an example.

The other issue is that most applications we write are going to fall into a handful of categories. The needs of a locally-run stateful application are going to be different from the needs of a stateless web application. For web apps, your bottleneck is rarely in the language runtime, and more in your application design, database, infrastructure, etc.

Language-level enthusiasts (which is how I would describe the author) are incredibly valuable members of the community, but its not the only game in town. There are so many other dimensions to measure technology, and so many other fields to be a "hacker" in. So why do "innovation tokens" need to be spent on the language runtime?

nologic01 3 years ago

This is not a period of invention. Its a period of cookie-cutter, step-by-step colonization by imitation of more and more domains (both consumer and enterprise) using well-established (even if mostly questionable) patterns.

It is (or at least was) the period of being the Uber-but-for-X, the Twitter-but-for-Y. A period of page-long lists of uninspiring logos and machine generated startup names. A period where VC ecosystems became cookie-cutter themselves. Silicon Prairie, Silicon Swamp, etc.

The disappearance of hackers is also congruent with the locked and supervised platformization of "big tech". You can't really hack devices. The motto is: "Here is the browser, here is the API, now go play, consume your cloud budget and give us some ideas how to make money". In this context its all about optimizing the execution of more or less the same ideas. And boy did it optimize. Within a few months every silly chatGPTification concept has been paraded here on HN.

Of course today we have more latent hackers than ever. The interesting question is what would be the preconditions for them to start creating wonderful and weird things. Here is a tentative list:

* the massive expansion of self-hosting and shift to having serious compute and intelligence "at home". This is the broader fediverse or small tech movement

* the liberation of mobile devices and next-gen apps that might finally redeem the "supercomputer in our pockets". A related domain is non-smartphone mobile devices.

* the re-incarnation of the workstation concept in business context. Monstrous linux desktops that finally put the moribund "Productivity Suite" to rest and offer various completely new businesses launchpads to the next phase of the digital economy

Hackers currently have been either co-opted or starved to death by the lack of opportunity. Yet the cycle never finishes.

sublinear 3 years ago

> Engineering leaders lead from a place of fear and risk-aversion instead of optimism and believing in their team.

Yeah exactly. You're barking up the wrong tree. If you want to see optimism, go to a startup. The hackers aren't going to work for you at one of the big tech companies no matter how great you think that place still is.

teunispeters 3 years ago

I'd qualify as one (not one of the "break into places types") but I hack around software and hardware. I'd engage with the world more if I knew where my next meal was coming from - and if having that meal would still allow some freedom to "hack". I think one of the reasons a lot of the "hackers" existed mostly in the past is these people never had to worry about where their next meal was coming from, even if they had other fears and worries (cough cold war cough).

Power and privilege would be important keywords here.

gregors 3 years ago

His comment regarding preemptive vs cooperative scheduling, so which is it? Does Go have preemptive scheduling or not? I was under the impression that it did get that somewhat recently? Could anyone point me in the right direction?

  • hu3 3 years ago

    It's preemptive, I just tested. Spawning an infinite loop inside a green-thread while limiting the program to 1 core does not freeze the program. This will output "hello" and exit normally as expected:

        package main
    
        import (
            "fmt"
            "runtime"
        )
    
        func infiniteLoop() {
            for {}
            fmt.Println("world")
        }
    
        func main() {
            runtime.GOMAXPROCS(1)
            go infiniteLoop()
            fmt.Println("hello")
        }
    
    For more information, see Go's source code which is exceptionally well commented: https://go.dev/src/runtime/preempt.go
  • foldr 3 years ago

    Yes, this is a mistake in the article. Go has had preemptive scheduling since Go 1.14, released at the beginning of 2020.

  • srpablo 3 years ago

    Hi! Thanks for posting this, it and the replies pointed out an error. I've since corrected the article.

janalsncm 3 years ago

> Today, we're afraid to do anything that's not JavaScript, Java, Python, or Ruby…Where have all the c̶o̶w̶b̶o̶y̶s̶ hackers gone?

Kids these days want to build games and discord bots. They don’t want to build little text-based adventure games. And if you want to do those things you’re going to use a language that’s mature and has libraries built for that purpose.

I do like the breakdown the author gave. But the “atmosphere” component should not be underestimated: I haven’t given up on any languages but I’ve given up on dependencies because I’ve run into errors that I couldn’t find a solution to online.

  • xigoi 3 years ago

    > Kids these days want to build games

    Raylib supports over 50 languages.

Dowwie 3 years ago

Pablo, turning the question towards you, what would you have liked to know about Elixir up-front before using it to build an authorization server at Ramp? Let's get an honest take.

  • srpablo 3 years ago

    Hi! Have we met?

    Elixir has been great for our Authorization server. I really believe in the BEAM for high-uptime cases, and love a lot about Ecto's design as an ORM. That said, I only felt comfortable bringing Elixir to Ramp because I'd already built ~3 Pheonix projects before joining, and had a decade on other Erlang projects. I make a light reference to it in a few places in the article, but I think introducing Weird Tech is very, very easy to mess up and most people would be better off not doing it.

    I lead with that in my other article that made it to HN, on strategies for learning exotic tech https://morepablo.com/2022/09/so-you-re-using-a-weird-langua...

    More on BEAM at Ramp and why I like it https://engineering.ramp.com/elixir-at-ramp

    Me comparing/opining Ecto and SQLAlchemy, the two ORMs at Ramp https://www.youtube.com/watch?v=5Ep9CDXUHNU

    It's been running Authorizations for 4 years and had remarkable good mileage.

phendrenad2 3 years ago

Better title for this would be "Where have all the language nerds gone from my personal circle of friends?"

There are lots of hackers out there, but we're not all obsessed with creating new languages needlessly. I mean sure, I have my own pet language I hack on, but the author would probably call me a "non-hacker" because I prioritized readability over fancy language features like a novel garbage collectors. Gosh.

knorker 3 years ago

> he didn't want to talk about any of that. To be honest, I suspect he didn't know or think much about them

Or, alternatively, you went all "This guy likes Go. I must explain to him why he's wrong, so that he stops thinking wrong".

This whole article just makes me think "yeah, I wouldn't want to talk to you about that, either". And it's not because I don't know what he means, or necessarily even disagree with his conclusion on Go.

idlewords 3 years ago

Suggested edit: "The song for this post is YAKETY SAX"

mparnisari 3 years ago

> Most developers have major gaps in their understandings of the tools they use. This is fine. [...] Many people across the 7 companies I've worked for are best described as "adequate."

Okay so, according to the author, then it's not fine...

How do we fix this? Is it every employee's fault that they don't know the nuts and bolts of the things they work with, or is it the company's fault for not providing the right training?

  • klibertp 3 years ago

    The universities in many to most cases do a hilariously bad job at training developers, with results all over the place and very hard to predict. How, exactly, are companies supposed to offer anything resembling the "right" training when we still practically don't know how that would look like?

yobbo 3 years ago

The tools that people learn on (mac books, IDE and so on) are far more polished today than they used to be, and they don't require or invite learners to "look beneath". Frameworks are even marketed to developers a bit like fashion items with web sites that look like magazine covers.

There isn't much to get people started on the hacker-path - it's presented to them as atmosphere.

mathgladiator 3 years ago

The risk aversion is a fact of life (and sad).

> Is it hard to learn a language?…

Amazingly, no. My language ( https://www.adama-platform.com/ ) recently had a 19 year old build a game with it. Does my language have expert documentation? Not really, but it has just enough.

Hackers still exist, but finding them at bigger companies is rarer.

theusus 3 years ago

A lot of my colleagues are software engineers just because it pays. They are barely enthusiastic and have surface level knowledge.

AbrahamParangi 3 years ago

The pioneers and the people who start doing something later, when it’s safe, are not the same people.

revskill 3 years ago

A developer with a hacker mindset is different from a hacker.

Hacker means to use tricks to "hack", to "break", or to "reverse engineer" a system. It's very specific, very concrete job to do.

A hacker mindset means creative, innvative for the goal of automation instead.

rgbgraph 3 years ago

Lovely article -- very original.

I'll add some anecdata, to give more context on why "atmosphere at all costs" might be en vogue.

- Most software engineering is CRUD

- Almost all 3rd generation, higher level languages can achieve CRUD (e.g. Javascript, C#, Java, Python, Ruby, PHP, Python, Perl -- even Bash)

- Most engineers will not have to dig around in the internals of a language to be able to do their jobs (e.g. that you can fine-tune and pick your own garbage collector (or even disable it completely), depending on the domain in Java (such as low-latency environments); whereas in .NET, you cannot really tune, swap out, or turn off the GC completely)

- Without needing to know the internals of a language, all the aforementioned languages are largely interchangeable (again, for CRUD -- and based on taste)

This is why you may commonly see people recommending that even if you don't know a language, you should be able to pick up whatever language a potential engagement requires (see: "a senior should be able to pick up frameworks and languages within a week or two"). I've always disliked this way of seeing the world. It rubs me in a certain grating way: that most work is CRUD, so you should optimize your career for being an interchangeable COG.

In my experience, if you take the time to learn a single language or ecosystem thoroughly, your chances of finding work for that specific ecosystem greatly increase -- versus the "generalist." Likewise, you'll be able to tell when it's the tool that's messing up, or yourself. Further, you'll be able to find more interesting, "deeper" work to handle -- rather than just building another CRUD web app. And lastly, life is too short to work with stuff you don't like.

For example, I love the .NET ecosystem. If I want to build something that isn't in the HPC space, I'll reach for it first. I know Java, but I don't like Java -- and I do not ever want to work with it. My ability to land .NET work is much easier, because I know the ecosystem -- not just how to program in an OOP language.

Or how about databases? I love Postgres. If I want a great OLTP DB, without any fuss, I'll reach for it first. I know MySQL/Mongo/SQL Server (to be fair, this one is also really good)/etc., but I don't like most of them. My ability to land work that utilizes Postgres is much easier, because I've taken the time to thoroughly understand it.

Or in other words, most people in the game are optimizing for commerce: how much money they make.

The hackers? They're in lower-level, systems programming languages; they're in compiler and language design; they're in low-latency or kernel programming; they're in stuff that isn't directly related to making money. Part of the reason I'm learning C++ is because the work there is more interesting (database engineering is very fun, but you need C++ or C in some cases) -- and the people more passionate. But also, because the gravy train is starting to dry up in CRUD -- anyone who can program can do it.

  • hardware2win 3 years ago

    Haha, Im on the similar boat

    I love .NET ecosystem but it sucks that it lacks of fancy jobs that you mentioned. If you want to do compilers with C# then it feels like you have to work for C# Compiler / Roslyn Team(s)

    For cool jobs there is shitton of CPP which I do think is huge mess and I hope that Rust will steal CPPs market share because my experiences with it were way way more pleasant

    • rgbgraph 3 years ago

      Yeah, a lot of the .NET stuff is low-paid, low-challenge big business work (and the only high-visibility "cool" .NET work is at MS).

      There's a few positions that intermittently pop-up doing "cool" work in .NET: usually startups, or small teams; the chances are much rarer, and you have to be in the right place at the right time -- but your chances are much greater than someone who's coming in from any other ecosystem (e.g. Javascript back-end).

      Or in other words, sniper vs shotgun approach. You're going to get less targets overall if you specialize; but it'll be much easier to have a strong chance of being "the best" in the crop of applicants (or even for marketing purposes, a la personal consultancy).

ly3xqhl8g9 3 years ago

Two answers:

(i) late stage capitalism: who cares about going through a 400 pages spec sheet to try and reverse engineer the ludicrous Chinglish [1] in which all non-mainstream manuals are written today (wanted to declare war on China by myself when parsing through a Xinje PLC manual recently) when you could be fired at any time, a health emergency can bankrupt you, you generally feel more and more powerless, from your daily life to the once-in-a-lifetime-but-happening-every-week events such as economic crises, pandemics, wars, automated labor, x-flation, climate change, and so on and so forth.

(ii) product refinement: we no longer are interested in a few lines of assembly which barely show two lines and a dot moving on the screen [2], we want that feeling, silky smooth user experience which some companies spend billions to provide, but very few individuals can offer by themselves, examples would be something in the tier of Bartosz Ciechanowski [3], scottbez1 [4], or Chris from Clickspring [5], for a more hardware bent.

[1] https://en.wikipedia.org/wiki/Chinglish

[2] https://en.wikipedia.org/wiki/Pong

[3] https://ciechanow.ski/

[4] https://www.youtube.com/watch?v=ip641WmY4pA

[5] https://www.youtube.com/watch?v=3PwAQZNLy0I

lutarezj 3 years ago

I blame the software methodologies for this. And the dogmatic LoC per reported hour. Imagine a hacker saying: i need 5 story points to figure out for the REST API how the bootloader works.

  • WesolyKubeczek 3 years ago

    I've been in Agile shops since 2008, and it's the first time I'm hearing about a LoC/hour metric. Must be some sick sweatshop with micromanagers mimicking being "Agile".

fatneckbeard 3 years ago

maybe its because the article yesterday, 80% of jobs are gotten through networking, and if the rest are from leetcode interviews.. you kind of have decided to select against diversity.

1letterunixname 3 years ago

Where startups and tech intersect, there should be a tech risk budget:

Where the business is boring, try new things.

Where things are untested and critical, use reliable components.

charlie0 3 years ago

I would argue that the hackers haven't gone away as much as they've completely been outnumbered by the non hackers.

AbsoluteCabbage 3 years ago

C is making a big comeback. More and more people are waking up to what utter garbage the modern frameworks and languages are.

ativzzz 3 years ago

All the hackers I know right now are dabbling heavily with AI since that's the new hot thing

z3t4 3 years ago

What upset me is that tooling seem to be more important then solving the problem.

stiltzkin 3 years ago

Not here for sure. here is more like technews than hackernews.

smm11 3 years ago

You're just laying bricks, how you lay bricks was decided long ago.

newsclues 3 years ago

Technology became easier to be a consumer, so creation skills were lost.

Suzuran 3 years ago

Of those I have been in contact with lately most have gone away from public spaces in general because we are sick of being distracted from hacking by screaming holy warriors, bad-faith assholes shitting on everyone to make themselves feel better, and the gradually worsening infiltration of commercially-sponsored misinformation.

floor_ 3 years ago

People who were inspired by the movie are all in their 40s now.

pkphilip 3 years ago

I am here! -waves-hand-

slicktux 3 years ago

Patent trolls?

rektide 3 years ago

The challenge of becoming a well-traveled technically-adept Renaissance man is much harder than it used to be. People say this is an incursion of more people just looking for a solid job, that we have less-engaged less-hackerly people, but ideally that wider funnel would also grant a much wider amount of people access to this incredibly compelling interesting field; I'd hope we'd still see a flourishing of hackerness. Alas.

The workforce tends to be employed at much larger organizations. This creates very narrowly focused teams, isolated to very different areas of product & platform: people are pdigeonholed in very specific tasks. Cranking out React widgets as the decades go by is all too probable (there are interesting challenges & arch questions here aplenty).

The irony is a ton of the money funding the large-scale industrialized computing came from the first internet booms. Where hackers did get rich, making small companies, & selling them to their more profitable peers & established businesses. Now the scale & industrialization inhibits the conditions of creativity that begat such a rise.

The industrial workforce isnt even the worst part of this sad saga, this march away from intelligible sharp systems knowledge. The system itself has ossified greatly.

The cost of technical diversity is being felt. We had such an explosion of open source means & ways, became so powerful. And that has diluted the intelligibility of systems, has a huge isolating effect. Rather than most folks using C/C++, there errupted php and perl and Java, which each had their own burgeoning ecosystems. The frontier kept expanding, with countless niches developing. While you might be great in your domain, might be totally on top of Django & just a genius productive whiz, your skills might not port. The fundamentals became diluted, and people specialized higher. Technical ecosystem diversification was a wonder & has let us explore & find so many great ways of doing things, but: Babel fell. A fairly unified culture became many. Tru polylingualism & polysystemism, being an Ur programmer, is much wiser a journey today, and that isolation has hurt & encumbered the view of most developers, has kept them from seeing a wider scene. Chained to the wall, being very industrially productive at marionette play.

And then the worst hit. The great ossification & stalen-ing of computing as a thing in the world. The dematerialization of computing the massification. Most computing floated up to a place where no one can see or learn or experience what is happening, has left the box, effervesced into the cloud. No one can touch computing today, there's no mortal computing, no personal computing left. Intelligent sharp computing offerings like Yahoo Pipes and IFTTT disappear & shrink. The output of the industry has gotten more and more uninteresting, less and less expert, less and less exposing of computing; endless appification, consumerizatio. How is anyone going to fall in love with & properly obsess-like they ought-over a world of black boxes?

Eventually we'll reawaken to cool human computing. Stop using computing only as a means to an end & start caring about the medium itself. And beget new cultures of truly epic hackers. It won't even look too too different from today I'd guess, it'll be built on the Titanous skeleton of open source. But it'll also have access & packages in to the beast, not merely be riding atop it's shoulders.

notorandit 3 years ago

Russia?

xyproto 3 years ago

I feel like many developers completely misses the point(s) of Go. It is not perfect, but it has a few nice properties:

* Simple use of concurrency is simple to use, easy to get right and very useful. Like WaitGroups.

* Go was written partly to solve the issues that Google had with C++. Dependency trees that grew too large too quickly was one of these issues. It may be annoying tha Go disallows unused imports, but it helps to keep the dependencies under control.

* Go is a simple language with fewer keywords than C. It is easy to parse and the build times are excellent, even for larger projects. Short build times is not only nice to have, but it changes how developers iterate and work with code, in a good way.

* Arena allocators can be used, and the (unusually efficient and fast) garbage collector can be paused. Unwanted garbage collection can be avoided.

* The tooling is excellent: cross compilation, profiling, tracing, testing, code formatti g, benchmarking, dependency managment and even fuzzing are all built in and available by default.

* The Go, GCCGO and TinyGo compilers are available. GCCGO can produce smaller executables and TinyGo targets embedded systems.

* You can (mostly) read source code just by looking at a single source file at a time. Errors are handled at the spot or returned, not catched elsewhere. Interfaces are used sparingly. There are structs instead of classes and they are not inherited.

* The main question in Java is "what IS it really?" while in Go it is "what does it really DO?". This is often a worse question for simulators, but a better question for getting things done.

* Rust is correct and nice, but may provide friction while programming, because it is strict. Go provides more friction than Python, but less than Rust, because it is less strict. For better and for worse. For anyone that think Rust is too strict compared to the benefits that Rust gives, Go may be a better choice.

* Go is a goos fit for servers. Look at the most starred Go projects on GitHub.

* Go has minimalistic origins.

I really like Go. I just wish it had an "in" keyword like Python does, and the ability to mark regions of code to have Rust-like strictness.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection