logoalt Hacker News

the_real_chertoday at 3:05 PM8 repliesview on HN

Was it ever? It's always seemed weird to me that people even think 'software engineering' is a career.

It's a tool for knowledge work.

No carpenter is a specialist in drills.

It seems to me that the best way to navigate a long term career is to have another specialty and use software engineering as a tool within that specialty.


Replies

Aurornistoday at 3:15 PM

It most certainly was a lifelong career.

I’m kind of confused how you might think it wasn’t. Going through a career as a software dev until retirement was very common.

Software engineers didn’t just disappear after age 40.

show 1 reply
strkentoday at 3:15 PM

Software is wood, not drills, and if we somehow invented bacteria that gradually built an ugly but saleable house when fed on water and nutrients and nudged into shape, I bet carpenters (well, framers or whatever they're called in the US) would have an identity crisis too.

jdc0589today at 3:13 PM

I kind of disagree. You are describing a kind person who is extremely valuable, a person who is proficient in SWE but also has domain specific skills in some niche.

That's great, but its nowhere near the norm, and people have been doing generalist software engineering for decades. There has been a sufficient amount of work for a long time to be performed by generalists that it has been a very reasonable career.

IMO AI is the first thing that has ever actually challenged that.

azath92today at 3:19 PM

Id disagree with this analogy: "No carpenter is a specialist in drills." and i think its an interesting lens through which to look at the evolution of our tools.

I think there are trades where tool (or process if i may be allowed to extend the analogy) specialists exist and are highly valued. My dad is a plumber, so ill use that example but id trust similar is true for carpentry. there are specialists by task/output (new construction, repairs, boilers etc) but also tool specialist plumbers and companies for example drain clearing equipment or certain kinds of pipe for handling chemicals other than water are very specialised, and there are roles for them because the thing they enable, and the criticality of the task, and often the cost and complexity of using the tool are high enough to make specialisation valuable.

IMO software has, for the 10 years ive been working in it, been in an unusual position where the tools (languages, engineering practices, tech stacks) were super technical and involved, but also could be applied to a large number of problems. That is the perfect recipe for tool specialists: complex tool with high value and broad domain/problem space applicability.

Because of that tool specialisation, we've separated the application of the tool to a problem/domain from the tool use. reduction of complexity of applying these tools to many problems, means all domain specialists will use them, relying less on tool specialists.

imaging a mcguffin tool for attaching any two materials together, but which took a degree to figure out (loose hyperbole here), that sudenly you could use for 5 bucks and a quick glance at the first page of the manual. An industry that used to have lots of mcguffin engineers, would be mega disrupted, and you could argue that those tool specialists would have to identify more with what they were building than the mcguffin they were using.

show 1 reply
chasd00today at 3:40 PM

I tell my boys (both in HS now), the combination of a specialized skill/knowledge + competent computer programming is the sweet spot. For example, my oldest wants to go into Petroleum Engineering which is great but I told him to still learn software development and get comfortable solving problems with code. Having specialized Petroleum Engineering knowledge combined with being a competent software developer is a powerful combination.

show 1 reply
jake-coworkertoday at 3:16 PM

I think the logical next step is that "XYZ knowledge worker" will become a software engineer of sorts. Not literally writing code, but at minimum encoding processes/workflows into some language.

If you're a paralegal or an accountant who can't manage their workflows with AI, you're going to be way less productive than someone who can.

And if you're a paralegal or an accountant who can manage a lot of your workflows with AI, you don't need custom software (hence less dedicated software engineers).

delusionaltoday at 3:11 PM

> No carpenter is a specialist in drills.

There's no category difference between being an expert in carpentry vs masonry and being an expert in drills vs hammers. They are both just areas of expertise.

Going down the path of trying to define what is expert functions and what is "merely" a tool using anything but descriptive technique is nonsense.

Expert functions are just those areas where using a tool is sufficiently difficult to require expertise.

suddenlybananastoday at 3:11 PM

Software engineering isn't a tool, it's the task.