Live data from Hacker News

Why senior developers fail to communicate their expertise

nair.sh

321–330 of 361 posts

Re: Why senior developers fail to communicate their expertise

#321
The “AI accelerates uncertainty reduction but increases system complexity” framing is probably one of the better ways I’ve seen this explained.

What’s missing from a lot of the “AI replaces developers” discussion is that generating code is only a tiny part of operating production software. The hard part starts after deployment: debugging, understanding cascading failures, maintaining consistency, and safely evolving systems over time.

Feels like the next wave of tooling won’t just be “AI that writes code faster”, but AI that helps absorb and reduce operational complexity after the code exists.

Re: Why senior developers fail to communicate their expertise

#322
post #234

Earlier quoted context omitted.

Fail, and try to understand why. Don't be quick with the answer. Sometimes it takes years. But it's crucial to want to improve, and recognize when the answer is in front of you. Read why programming languages have the structures what they have. Challenge them. They are full with mistakes. One infamous example is the "final" keyword in Java. Or for example, Python's list comprehension. There are better solutions to th…

I am curious about that nit on list comprehensions in Python: what do you mean, why are they a "mistake" of language design?

So when they designed it, it wasn’t that bad for simple cases. However, with more complex nested lists, there isn’t a clear data flow, it jumps from one place to another. Especially the first term is problematic. It’s not beneficial at all for the modern IDE based development. So at the end, this is a better list comprehension in this sense:

`[state_dict.values() for mat to mat2 for row for p to p/2]`

Or similar, where data flow is 1->2->f(2)->3->4->f(4). Where right now it is this lovely mess with one more repeating term:

`[p / 2 for mat in state_dict.values() for row in (mat 2) for p in row]`

Where the flow is f(4)->2->1->3->f(2)->4->3

This is not just a Python list comprehension problem obviously. The simple for… in… has a similar problem. It’s only better, because the first term `p/2` is at the end.

Re: Why senior developers fail to communicate their expertise

#323
post #308
post #182

Earlier quoted context omitted.

It's the XY problem. The customers tell sales they want Y, rather than stating their problem X which they think Y will solve. Sales runs breathlessly to the dev team and demands we implement Y. Now scale this up to 10 customers or 100 customers. They all have the same X but come up with independent Ys. You see the problem immediately. Sales/marketing didn't do their job sussing out what X is and wastes dev time with…

This is why the first thing you should do as a dev when somebody tells you that they want Y feature is to ask why. Non-developers have no clue WHAT they want, then know WHY they want it. The why is much more important to know, because the requestor has no clue how software works and imagines bad solutions.

In some cases it's just because they think that any "missing thing" might be the one that causes customers to reject the offering. So they "must" have everything. It's the lack of knowledge that's the problem and they don't feel that they're going to get more than one chance/feedback cycle to learn from.

The product managers proposing things have their reputation tied up in them so a major feature is a chance at fame for them.

It's as if everyone gets "a turn" at using the development department once in a while and they want to make the utmost of it, knowing that the instant their feature is "finished" the spotlight will be gone from them for months.

Re: Why senior developers fail to communicate their expertise

#324

Because the most important parts of the expertise are coming from their internal "world model" and are inseparable from it. An average unaware person believes that anything can be put in words and once the words are said, they mean to reader what the sayer meant, and the only difficulty could come from not knowing the words or mistaking ambiguities. The request to take a dev and "communicate" their expertise to anoth…

Well here's an engineering problem figure out how to mentor 10x the number of juniors

You don't. You accept that social bandwidth is a real-world constraint that you work with, not magic away. That's real engineering.

Re: Why senior developers fail to communicate their expertise

#325

Because the most important parts of the expertise are coming from their internal "world model" and are inseparable from it. An average unaware person believes that anything can be put in words and once the words are said, they mean to reader what the sayer meant, and the only difficulty could come from not knowing the words or mistaking ambiguities. The request to take a dev and "communicate" their expertise to anoth…

A non-trivial part of the big difference between the juniors that seem talented and "get it", and those that don't is precisely their ability to form accurate enough world models quickly. You can tell who is going at the "physics" of software and applying them, and who is just writing down recipes, and doesn't try to understand the nature of any of the steps. It's especially noticeable when teaching functional progra…

I vividly remember the moment this clicked for me. I had spent the better part of a decade being interested in programming and essentially learning recipes. It wasn't until I was a couple years into a CS degree and starting to work professionally as a web developer, that I finally had an epiphany of what software actually was, and the degrees of freedom that it actually has. It's very hard to put into words because it was an internal phenomenon, but I can describe at a more visceral understanding of what is meant by "the map is not the territory", and "all models are wrong but some are useful". It's like, you can build anything in software, it's up to you to decide how to do it and make it relevant for a real world use case.

Of course I was still super junior and had so much to learn, but from that point I could at least interrogate any pattern or best practice to understand why it existed and where it should or should not be applied.

Re: Why senior developers fail to communicate their expertise

#326

Earlier quoted context omitted.

I have the opposite experience. Goes to show the difference between people. I've always had trouble internalizing the "physics" of physics or chemistry, as if it were all super arbitrary and there was no order to it. Computation and maths on the other hand just click with me. Philosophy as well btw. I guess I deal better with handling completely abstract information and processes and when they clash with the real wor…

Chemistry in particular is just taught very poorly in USA middle/high school. If anything, it perfectly hinders building that internal understanding. "Chemical bonds fill the electron shells, which is why we have CO2. But don't worry about why carbon monoxide exists." "Here's a formula to figure out the angle between atoms in a molecule. But it doesn't apply to H2O, because handwavy reasons. Just memorize this number…

This was kind of infuriating about high school chemistry. We were taught so much simply is and that's that. Gold and Mercury differ by one proton, so why is one a dense, yellowish metal and the other one liquid at room temperature? Carbon and Nitrogen sit right next to each other on the periodic table, so why are their chemical properties so different? Why are there so few elements that are ferromagnetic? We dove relatively deep into chemical bonds and isotopes, but glossed over fundamental things like why compounds with similar structures had seemingly random, unrelated properties.

Re: Why senior developers fail to communicate their expertise

#327
post #253

Earlier quoted context omitted.

Sorry this is just the interior trapped nonsense that engineers find themselves in. Please touch grass Product designers have to intuit the entire world model of the customer. Product managers have to intuit the business model that bridges both. And on and on. Why do engineers constantly have these laughably mind blowing moments where they think they are the center of the universe.

We keep seeing things like cryptic error messages shown to end users simply because of the disconnect between the programmer and the end user. If the programmer gets to intimately understand the user's experience software would be easier to use. That's why I support the idea of engineers taking support calls on rotation to understand the user. Both can be true at the same time, a product manager who retains the big p…

>We keep seeing things like cryptic error messages shown to end users simply because of the disconnect between the programmer and the end user.

A lot of the error messages I'd write were for me, especially those errors I never expected to see.

The typical feedback I'd get from end users is "your software doesn't work". If they can send me a screenshot of the error I'm halfway to solving the problem.

Re: Why senior developers fail to communicate their expertise

#328
post #62

Earlier quoted context omitted.

Exactly my experience. You describe it more diplomatically than I do hah. To me, young people just don't seem to know, or want to know, that information and knowledge can be gained from a person. It's the arrogance of youth x100 They have a supercomputer in their pocket/on their desk, and an AI that knows 'everything'. I can't imagine what it's like being a teacher right now. How's your AI going to explain the office…

I don’t think it’s the arrogance of youth. It’s just that this generation and honestly a big cohort of millennials are not used to gleaning information from people. A stunning number of people have been raised/educated solely by the internet. That’s the source for knowledge, not other people.

Its simply true that the average person you talk to is going to be ...average. Or you could listen to John Carmack on a 5 hour podcast. This warps your perception of what the people around you can offer you.

I think younger people have maybe thrown the baby out with the bathwater, and you need some discernment on whose advice you can value and trust. But ive just been in many situations in my life where ive asked for advice and its just been total shit.

"Wisdom of the elders" is overrated when society changes so rapidly, and not all the adults you know are the insightful village shaman.

I recall asking my grandfather what is was like to live through the JFK assassination and just recieving something to the effect of "oh yeah that was crazy and bad, i remember seeing it on the news." follow up questions produced no further insight. So you come to the conclusion, why bother with that when you can just read a book about the topic.

Re: Why senior developers fail to communicate their expertise

#329

Because the most important parts of the expertise are coming from their internal "world model" and are inseparable from it. An average unaware person believes that anything can be put in words and once the words are said, they mean to reader what the sayer meant, and the only difficulty could come from not knowing the words or mistaking ambiguities. The request to take a dev and "communicate" their expertise to anoth…

The way I usually frame this is: if all expertise could be eventually distilled into verbal form, then years of experience will cease to matter as it all could be replaced with a series of textbooks. Which we obviously know is not possible.
Post reply on HN