Live data from Hacker News

The Programmer Identity Crisis

hojberg.xyz

41–50 of 317 posts

Re: The Programmer Identity Crisis

#41

> One could only wonder why they became a programmer in the first place, given their seeming disinterest in coding. To solve problems. Coding is the means to an end, not the end itself. > careful configuration of our editor, tinkering with dot files, and dev environments That may be fun for you, but it doesn’t add value. It’s accidental complexity that I am happy to delegate.

The point of most jobs in the world is to "solve problems". So why did you pick software over those?

The honest answer that applies to almost everyone here is that as a kid, they liked playing computer games and heard that the job pays well.

It's interesting, because to become a plumber, you pretty much need a plumber parent or a friend to get you interested in the trade show you the ropes. Meanwhile, software engineering is closer to the universal childhood dream of "I want to become an astronaut" or "I want to be a pop star", except more attainable. It's very commoditized by now, so if you're looking for that old-school hacker ethos, you're gonna be disappointed.

Re: The Programmer Identity Crisis

#42

> One could only wonder why they became a programmer in the first place, given their seeming disinterest in coding. To solve problems. Coding is the means to an end, not the end itself. > careful configuration of our editor, tinkering with dot files, and dev environments That may be fun for you, but it doesn’t add value. It’s accidental complexity that I am happy to delegate.

I got a few paragraphs into this piece before rolling my eyes and putting it down. I consider myself an engineer — a problem solver. Like you said, code is just the means to solve the problems put before me. I’m just as content if solving the problem turns out to be a process change or user education instead of a code commit. I have no fetish for my terminal window or IDE.

The issue is that a lot of “programmers” think bike-shedding is the essence of programming. Fifty years ago, they would have been the ones saying that not using punch cards takes away from the art of programming, and then proudly showing off multiple intricate hole punchers they designed for different scenarios.

Good problem solvers... solve problems. The technological environment will never devalue their skills. It’s only those who rest on their laurels who have this issue.

Re: The Programmer Identity Crisis

#43

> One could only wonder why they became a programmer in the first place, given their seeming disinterest in coding. To solve problems. Coding is the means to an end, not the end itself. > careful configuration of our editor, tinkering with dot files, and dev environments That may be fun for you, but it doesn’t add value. It’s accidental complexity that I am happy to delegate.

Careful with the “doesn’t add value” talk. If you follow it far enough to its logical end, you get to “Existence doesn’t add value”

Re: The Programmer Identity Crisis

#44
John Von Neumann famously questioned the value of compilers. Eventually we get the keyboard kids that have dominated computing since the early 70's in some form or another whether in a forward thinking way like Dan Ingalls or in an idealic way like the gcc/Free Software crowd. In parallel to this you have people like Laurel, Sutherland, Nelson who live in lateral thinking land.

The real issue is that we've been in-store for a big paradigm shift in how we interact with computers for decades at this point. SketchPad let us do competent, constraints based mathematics with images. Video games and the Logo language demonstrate the potential for programming using, "kinetics." In the future we won't code with symbols we'll dance our intent into and through the machine.

https://www.youtube.com/watch?v=6orsmFndx_o http://www.squeakland.org/tutorials/ https://vimeo.com/27344103

Re: The Programmer Identity Crisis

#45
Full disclosure: I am old.

When I started programming for Corporate™ back 1995, it was a wildly different career than what it has become. Say what you want about the lunatics running the asylum, but we liked it that way. Engineering knew their audience, knew the tech stack, knew what was going on in "the industry", ultimately called the shots.

Your code was your private sandbox. Want to rewrite it every other release? Go for it. Like to put your curly braces on a new line? Like TABs (good for you)? Go for it. It's your code, you own it. (You break it, you fix it.)

No unit tests (we called that parameter checking). No code reviews (well, nothing formal — often, time was spent in co-workers offices talking over approaches, white-boarding API… Often if a bug was discovered or known, you just fixed it. There may have been a formal process beginning, but to the lunatics, that was optional.

You can imagine how management felt — having to essentially just trust the devs to deliver.

In the end management won, of course.

When I am asked if I am sorry that I left Apple, I have to tell people, no. I miss working at Apple in the 90's, but that Apple was never coming back. And I hate to say it, but I suspect the industry itself will never return to those "cowboy coding" days. It was fun while it lasted.

Re: The Programmer Identity Crisis

#46
I believe this sentiment to be a mistake.

The IT world is waiting for a revolution. Only in order to blame that revolution for the mistakes of a few powerful people.

I would not be surprised if all this revolutionary sentiment is manufactured. That thing about "Luddites" (not a thing that will stick by the way), this nostalgic stuff, all of it.

We need to be much smarter than that and not fall for such obvious traps.

An identity is a target on your back. We don't need one. We don't need to unite to a cause, we're already amongst one of the most united kinds of workers there is, and we don't need a galvanizing identity to do it.

Re: The Programmer Identity Crisis

#47
Ignoring LLMs for a second, some code I write is done in sort of full-craft full-diligence mode, where I am only committing something where I am very proud of it's structure and of every line of code. I know it inside and out, I have reasons for every decision, major or minor, and I don't know of any ways to make it better. Not only is the code excellent, I've also produced a person (me) who is an expert in that code.

Most code is not like that. Most code I want to get something done, and so I achieve something quite a bit below that bar. But some things I get to write in that way, and it is very rewarding to do so. It's my favorite code to write by a mile.

Back to LLMs - I find it is both easier than ever and harder than ever to write code in that mode. Easier than ever because, if I can actually get and stay in that mode psychologically, I can get the result I want faster, and the bar is higher. Even though I am able to write MUCH better code than an LLM is, I can write even better code with LLM assistance.

But it is harder than ever to get into that mode and stay in that mode. It is so easy to just skim LLM-generated code, and it looks good and it works. But it's bad code, maybe just a little bit at first, but it gets worse and worse the more you let through. Heck, sometimes it just starts out as not-excellent code, but every time you accept it without enough diligence the next output is worse. And by the time you notice it's often too late, you've slopped yourself, while also failing to produce an expert in the code that's been written.

Re: The Programmer Identity Crisis

#48
post #26

Earlier quoted context omitted.

The problem I have with this argument is that it actually is English this time. COBOL and SQL aren't English, they're formal languages with keywords that look like English. LLMs work with informal language in a way that computers have never been able to before.

On the other hand, the problem is exactly that it’s not a formal language.

This is also a strength. Formal languages struggle to work with concepts that cannot be precisely defined, which are especially common in the physical world.

e.g. it is difficult to write a traditional program to wash dishes, because how do you formally define a dish? You can only show examples of dishes and not-dishes. This is where informal language and neural networks shine.

Re: The Programmer Identity Crisis

#49

> One could only wonder why they became a programmer in the first place, given their seeming disinterest in coding. To solve problems. Coding is the means to an end, not the end itself. > careful configuration of our editor, tinkering with dot files, and dev environments That may be fun for you, but it doesn’t add value. It’s accidental complexity that I am happy to delegate.

The point of most jobs in the world is to "solve problems". So why did you pick software over those?

Why would someone who likes solving problems choose a very lucrative career path solving problems… hmmm

You can also solve problems as a local handyman but that doesn’t pad the 401K quite as well as a career in software.

I feel like there’s a lot of tech-fetishist right now on the “if you don’t deeply love to write code then just leave!” train without somehow realizing that most of us have our jobs because we need to pay bills, not because it’s our burning passion.

Re: The Programmer Identity Crisis

#50
I absolutely loved this piece.

I also agree with comments on this thread stating that problem solving should be the focus and not the code.

However my view is that our ability to solve problems which require a specific type of deep thought will diminish over time as we allow for AI to do more of this type of thinking.

Purely asking for a feature is not “problem solving”.

Post reply on HN