Hacker News new | past | comments | ask | show | jobs | submit login

I think one thing that is very different about software engineering is that it's the only form of engineering I'm aware of where a very substantial fraction of the people employed to do it lack basic fundamentals like "being able to do it". Most software engineers can't write a program without google. They can't remember basic facts about the language they use every day. They don't have a sense of what makes sense and what is weird. They can't debug problems they run into without help.

I know whenever someone says anything negative like this people come out of the woodwork to say the opposite, and that's fine, but I can't name a single competent programmer who doesn't say things like this in private, and I know a lot of them.

Test it for yourself. The next time you need one of the mediocre people on your team to do something pay attention to how they do it. I will bet you it's something like this: Get the ticket. Spend a day or two trying anything they can think of, googling, pasting stuff into chatgpt, etc. Then they start messaging people. They tend to try to not always ask the same helper because it would get too annoying, so they rotate around the team asking for help. The helper starts by offering suggestions, but the mediocre dev can't get those suggestions working or apply them correctly. Pretty soon the helper just types a bunch of code into the chat window so they can go back to what they are trying to do. The m dev takes this code, and pastes it into their branch. It's not quite right though, it needs a little tweaking to work but they can't figure out what to do, so they message the next helper. (And sometimes it's hilarious what it is, a lot of times it's a typo and when you run the code it says exactly what line it's on, but they don't know how to run code besides pressing the button in their editor that someone else set up for them) To helper 2 it seems like they are making good progress, they are just stuck on some small thing. Happens to everyone. They tell them exactly what's wrong. And voila, this is how about 30% of the people you work with write code. People don't catch on because when you are helper #2 you assume they wrote that perfectly competent code.




I don't think, excluding some scenarios at well-disciplined firms that anything like "engineering" exists in programming.

The processes surrounding development often strike me as haphazard, cargo-cult like behavior, and entirely subjective.

Regarding people not remembering stuff--yeah that's probably true, but there's a lot a typical developer has to jump between--do people really get to "specialize" in JUST like writing Java CRUD or something anymore?

Feel like there's always also troubleshooting some Docker thing, some cloud provider, some build system, some pipeline etc etc.

When there's no stability and moving targets, maybe you're not incentivized to be a "specialist" on a language or whatever (this might also be painting oneself into a corner for their career) given how easy information retrieval is today?

RE: the scenario

Is this real?

I've never been employed at any sort of fancy role but I've never encountered this kind of thing (publicly) involving me, and I generally get on well with others, so I assume I'd have seen it by now

I'm sure plenty of programmers pasta from LLMs constantly now, but I've never had bizarre low-hanging "what do" inquiries.

Most people have some discipline and structure when asking questions:

- I'm attempting to integrate library x into the project - I've done the following and the build fails in CI with $ERROR - I've checked x, y, z - Have you encountered something similar?

This indicates some level of actual understanding of how things work, or prerequisite research prior to asking.

Also, where can I get a job where they hire people this minimally competent? I'm seriously burnt out and this seems like a nice change of pace.

I'm totally serious with that question.


I've worked mostly in Silicon Valley. At bigger tech companies I found that the minimum level of competence is a bit higher, maybe because of the aggressive stack ranking and PIP/firing pressure. At small companies either low bar is very high, or it's nonexistent, I've seen both.

The weird thing is, at a high performing organization it's relatively straight forward to get a job: be very good at what you do and practice for their hiring process.

At a dysfunctional organization there's not really a way to get hired (apart from an internal recommendation). This is almost by definition, as their hiring process doesn't measure anything reliably. Being physically attractive or charismatic helps a lot.

Actually this gives me an interesting idea, can you measure the quality of an engineering team purely by how ugly they are? My hypothesis is that a dysfunctional team has a low ability to measure aptitude, and so things like physical attractiveness will have a higher impact on hiring decisions.

I don't blame you for wanting a nice stint in one of these dysfunctional companies, I think I could have worked an hour a week and been praised as a top performer at the ones I unfortunately spent time at. I think if you do go this direction you should get 2 or 3 such jobs. It's only a tiny bit more work, and these companies tend to just stop existing some random Tuesday.


Genuinely appreciate this response.

I too have been nothing short of perpetually shocked at how dysfunctional a large part of the software industry is. This is why I'm never able to take the "engineering" moniker seriously when people talk about programming.

The hiring process is so maddening and I'm glad you said that.

I get that resume scanning and what not is fully automated and makes no allusion to being a useful nor functioning process, but I'm perpetually amazed as I submit resumes (where I meet or exceed every "requirement") to companies I know are not well-functioning organizations only to be rewarded with an automated rejection email minutes later.


I can confirm that some (30%?) mechanical and biomedical engineers follow the described problem "solving" strategy exactly. It's not just software engineers.


>Most software engineers can't write a program without google. They can't remember basic facts about the language they use every day.

How many years of experience do you have? and how many languages have you written code in? Include all languages where you tweaked or wrote even a single line of code.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: