Remix.run Logo
cdfalcon 13 hours ago

There's something so off-putting about academics giving industry advice when they haven't spent a day working as an engineer at a company.

> Care deeply about your craft. Refactor code until it is clear and elegant. Write good documentation for other humans to read. Have the courage to go slowly, especially when everyone else is telling you that you need to go fast and cut corners.

Outside of the bit on avoiding cutting corners, this advice seems like a straight path towards unemployment in a few years. The implication is that "your craft" is writing and polishing code, a skill which seems to be increasingly antiquated in favor of higher level system design. Who is going to read your carefully crafted documentation lol? The agents who replace you?

If a tree falls in the forest...

saadn92 13 hours ago | parent | next [-]

What gets me is the craft point. I've shipped more useful software in the last year than probably the previous five combined, and most of that is because I stopped treating code as the artifact and started treating the product as the artifact. The craft moved up a layer.

> until it is clear and elegant

New grads who spend weeks refactoring code are going to get lapped by new grads who ship something and iterate. There's just a faster feedback loop now.

2ndorderthought 12 hours ago | parent | next [-]

This person is an educator. You should absolutely learn how to code by deep practice. You can easily learn how to use the slop machine in I don't know a week or something if the job demands it.

sixtyj 3 hours ago | parent | next [-]

Absolutely, wise man (not an entrepreneur) writes a message to his students.

We seem to forget what it was to be a freshman.

At that age, you look up to anyone who’s more experienced.

Yes, you have to deliver, iterate and make mistakes very often to learn from them.

But as the text clearly states: relationships, people and justice matter more.

Where can I sign it?

smolgumball 10 hours ago | parent | prev | next [-]

Absolutely wild to see this take downvoted. While it's abundantly clear that Hacker News has long since become a mouthpiece for the AI investment machine, I really hadn't felt the loss of strong engineering ethos until recently.

mwigdahl 2 hours ago | parent [-]

I didn’t downvote, but if I were to it would be due to the dismissive phrase “slop machine” rather than the message, which I agree with.

hhjinks 8 hours ago | parent | prev | next [-]

The slop machine is stupidly easy to use. Recently switched jobs and got to use Claude Code for the first time. Literally just talk to it. There's nothing to learn.

minihoster 10 hours ago | parent | prev [-]

So now we're downvoting the idea that people should have a strong understanding of how to code? We're cooked. A week does seem about right for getting to 90% of optimal AI agent use if you earnestly explore its boundaries.

jauntywundrkind 12 hours ago | parent | prev | next [-]

There's a lot of ways to ship things & iterate without having any idea what you are building or doing technically, without building any tastes for how things work.

Those people are going to be the absolute most dangerous possible thing you can do to a company.

Maybe some day we can just totally give up the technicals to the machine, but I strongly doubt it. Every single model is both brilliant, but also a fool, no matter how frontier it is.

Yes, the feedback loops are faster. But you need to assess what's actually technically happening. Someone does. Maybe you offload the actual thinking up the chain, delegate taste understanding and judgement to only people up the chain, and make them all go mad dealing with endless slopcoding they are being hit with. But just as bad, that junior engineer is robbing themself too. Maybe they get away with not looking, but they sure aren't going to learn a lot.

I'm missing the link but there was a great submission maybe a month ago about two hypothetical grad students, I think in astronomy, where one failed and flailed and did things largely the old fashioned way, and the other used AI to get it done. The advisor couldn't really tell who was doing what. But at the end, one student had learned & gained wisdom, and the other had served as a glorified relay between the AI and the advisor and learned little. Same work output, but different human outcomes.

Junior engineers are really not that cheap. Relative to your capabilities you are not a bargain. You take a ton of valuable time from other people. If a company is hiring you, they either are truly fools lacking basic understanding, or they are in on the bargain that they want you to be getting better, are testing to see if you can become more useful. Sure it's great to show up and have impressive output, but you need to actually be learning and growing. You need to be participating in the feedback loop actively. Or you will be lapped by people who care & think like engineers.

beej71 11 hours ago | parent [-]

> Those people are going to be the absolute most dangerous possible thing you can do to a company.

I hear you, but here's the thing: the companies don't give a shit about software quality any farther than it takes to keep you coming back as a customer. And it's actually been like this for a long time. They're going to hire people who can ship who-cares-how-buggy software as fast as possible. It's better for the bottom line.

And that pains my soul and pains me as a consumer (because we already had to put up with too much crap software before genAI started producing it in reams), but there's very limited money in the kind of quality you're talking about.

I hear stories from people interviewing now--the interviewers react negatively if you tell them you're working on keeping your programming skills fresh. They just want to know how many agents you can run at a time and how many lines of code you can generate per day.

Personally, I think someone skilled in software development working with genAI is going to be more productive than someone not skilled working with genAI, but I don't think that's even being selected for now.

Grim days.

The one thing that gives me hope is that every time we ask our graduates who are now in the field (and all work with AI) if we should drop classic CS education and only do AI, they all emphatically reply in the negative. Yes, we need some AI education in there, but they want the foundation, too.

flowerbreeze 7 hours ago | parent [-]

It is rather backwards. I've not seen things quite as bad as interviewers wanting to know how many agents you can run, but the attitude of "launch & fix later" is always present and kind of depressing.

Then I think of the companies (not necessarily software) that have had long term success and their products have been quite high quality at least at some point in time. The count of genAI instances someone can keep in flight is certainly a weird metric that I think will hurt the companies who choose to ignore quality.

Unfortunately it's a long process as it's possible to get very far with great marketing and sales with a poor quality product too. Then cash out before customers figure out that there's something else that is better. I have no idea if this pattern will ever self-correct.

Off topic: I followed your guides for network programming years ago getting my tiny C server/client setup working. Thank you so much for writing them!

archagon 11 hours ago | parent | prev | next [-]

AI is not an abstraction layer. If this is not obvious to a so-called engineer, they should probably not be throwing stones.

10 hours ago | parent [-]
[deleted]
lo_zamoyski 12 hours ago | parent | prev [-]

We have to ask ourselves what the purpose of refactoring is. People use that word like some magic incantation, as if the value of some particular instance of "refactoring" were self-evident. "What are you doing?" "Oh, I'm refactoring X." "-hushed tones- Ohhhh, yes, carry on, then..."

Refactoring improves code organization. It makes the code more maintainable, arguably and more reusable. And, from an academic POV, makes code more satisfying conceptually by aligning it with the model of a domain more clearly and conspicuously. Good stuff.

Great. Now, in industry, what matters is the result. Nobody cares if the result was produced by a witch casting magic spells or a grunt hitting a rock with another rock. Industry is practical. It cares about "craft" as far as it enables commercial success (and yes, short-term thinking can be bad, but guess what: you need to eat in the short-term!). Maintainability is a nice thing to have, because it does allow us to more quickly develop code. But how maintainable something needs to be, especially in relation to other competing concerns, has no fixed answer. It really depends on the situation.

Practical wisdom, known as prudence in the classical literature, is the foundation of all moral behavior. The right decision, the right concern, really does depend on the circumstances. You cannot derive from principles, from the armchair, what the right course of action is for everything. The general principles may be immutable and absolute and fixed, but the way in which they are applied in particular circumstances will vary.

Academia can insulate people from certain kinds of practical concerns, which is supposed to aid theoretical work, but this demands that the academic recognize his limits. He is not in a position to pass judgement on prudential matters, which is to say matters that are not strictly matters of principle, if he is not prepared to engage competently with the concrete reality of the situation.

danny_codes 13 hours ago | parent | prev | next [-]

Perhaps your vantage point from industry is in fact myopic. We all have our own biases.

cdfalcon 13 hours ago | parent | next [-]

Completely fair - but at least my PoV comes from having actually worked as a SWE, you know? I feel like the best understanding this fellow can have is purely secondhand from watching the success / failures of his students.

I also think I get doubly upset from advice like this because it’s given and marketed to impressionable young students. Even agreeing with all the moral points he’s made, I truly think this advice would set up a new grad for failure and have them focusing on the wrong skills for this market.

The bit about ignoring trends feels too head in the sand for my liking :/

danny_codes 13 hours ago | parent | next [-]

Fads come and go in industry. This version of LLMs will come and go as well, as will the coding languages and paradigms we used before (and, presuming you want your code to actually run, still do with some decent frequency).

Will LLMs in their current ergonomics have staying power? Perhaps. Nobody can predict the future. But I don’t think it’s a given in the least

ActivePattern 13 hours ago | parent [-]

Automatic coding systems have way too much economic value to be considered a "fad". I don't think you need to be Nostradamus to predict that we're never going back to manual coding. Sure, the systems will evolve and improve, but they're certainly not going anywhere.

slabity 13 hours ago | parent | next [-]

> Automatic coding systems have way too much economic value to be considered a "fad".

Which is why they very carefully worded it more as 'LLMs in their current form', twice.

CamperBob2 8 hours ago | parent [-]

Yes, if you stake out an argument carefully enough, you can make its perimeter infinite and its area zero.

11 hours ago | parent | prev [-]
[deleted]
DJBunnies 13 hours ago | parent | prev | next [-]

How do you know they didn't? My college professor was formerly at NASA, where this stuff is important.

I recognize not everyone's work is [as] important, but we should still strive for excellence (and safety.)

cdfalcon 12 hours ago | parent [-]

One check of their LinkedIn.

microtherion 12 hours ago | parent | prev | next [-]

When I started studying CS, the "industry" thought students should be taught COBOL, and maybe some PL/I and Fortran, because obviously that was what the market wanted.

archagon 11 hours ago | parent | prev | next [-]

I worked at a FAANG in a senior role for around 6 years and I completely agree with the article. (I left before LLM/agent use became widespread, but I would have flamed out anyway if it was forced upon me.)

xantronix 9 hours ago | parent [-]

It's scary just how quickly the past has been buried: Decades of accumulated insight on best practices, all discarded in service of the new electric Christ.

xtracto 8 hours ago | parent | next [-]

This hit very close home. I'm a 44 year old developer, with Software Engineering Bachellors and CompSci MPhil and PhD. All my life I spearheaded "best practices" and code quality (from Fred Brooks, Joel Sposky, Martin Fowler, etc...).

But since LLMs arrived... things have become crazy. The layer of "obscurity" that permeates code writing seems to make a lot of those "standards" moot or just not really pragmatically possible to follow.

CamperBob2 8 hours ago | parent | prev [-]

The blacksmith's lament.

gipp 13 hours ago | parent | prev [-]

Buddy... The whole point of the post is that he wants his students to question whether "succeeding in this market" is really the right choice.

2ndorderthought 12 hours ago | parent | next [-]

It's really not though.

The point is to decide what success is for yourself. Learn everything you can about the thing you might decide to automate. But think before you automate and how you do so because it could cause more harm then good.

dijksterhuis 12 hours ago | parent | prev | next [-]

i was writing a bit of a lengthy reply, but yeah this is the whole point really.

making that money, getting that job title, being at that company, working on that project -- are these success?

or is success simply doing the best job possible when writing code?

beej71 11 hours ago | parent [-]

The irony is that writing the best code possible is now a recipe for unemployment.

lukan 12 hours ago | parent | prev [-]

The right choice is rather to strive for perfect - and be unemployed?

To me it was actually not clear what his point was.

"Above all, be motivated by love instead of fear."

Sounds great. But not that practical.

fooqux 10 hours ago | parent [-]

Why isn't it practical? In my life, I've encountered many SWEs that have changed careers. I've met them in national parks working as rangers. In real estate, grocery store butchers, and yak ranchers. Yet I've never once encountered a SWE that was once doing something non-technical and decided to switch.

Purely anecdotal, I know. But still, I prefer to think that all those people discovered this practical advice and are far happier for it. I've never met one that regretted their decision.

lukan 5 hours ago | parent [-]

Oh, I would consider becoming a park ranger as well, but as a european, I also did not had to go deep in dept, to become a SWE.

And a professor should take that into account and give practical advice. In the real world, solving haskell challenes (of which the prof is fan of) is unfortunately not that useful. People have real needs for working software to solve their real pain points. Not to worship code quality.

Some projects need obviously better code quality (airplanes, medical equipment..) - but not all of them. And if you want to have sacred code when coding a crude throw away app .. you won't get enough money for that. And positions for academics are limited.

lo_zamoyski 12 hours ago | parent | prev [-]

That's a flippant reply.

Programming is a practical skill, and its most common expression is industrial or commercial, not academic proofs of concept. The post addresses students who will enter industry; that's the focus of the professor's own post.

And I sympathize with many points being made here. However, the point of refactoring code is somewhat odd and detached from the real life constraints of programming in the wild.

Like, sure, in the ivory tower, you can confine yourself to nicely bounded problems and tidy little toy POCs. You can survive doing those things, because the selective pressures allow for it. I love those things, personally. They help me understand the nature of the thing. And in an academic settings, you can refine and refactor the hell out of those things to your heart's content (not that there is necessarily an objective end point to refactoring; code organization is subject to goals and constraints which can shift around).

But the reality of software in a commercial setting is not the tidy one you can expect in an academic setting. It's messy, subject to commercial pressures, to a hierarchy of values that doesn't place "refactoring" at the top of the list. And why would it? Whether you should refactor something is not just a question of whether it suits your conceptual tastes or even whether it is more maintainable. Unlike algorithms and principles and even techniques, software is not eternal. It is ephemeral. It's shelf-life is bounded. It is a piece of a larger business process. You're not refining some theory or some grasp of a Platonic ideal. You're mostly just putting into place plumbing to get something done. Whether you should refactor something, when you should refactor something, is a matter of prudential judgement, which is to say, of practical reason.

So, in light of that, there are actually quite absurd things to say given the difference between the privilege of academia and the gritty reality of industrial and commercial software development. If we were to force our professor into the world of industry, he would quickly lose his job or he would quickly learn that some of his strange idealism is silly and detached from the reality that his students will face.

godelski 12 hours ago | parent [-]

  > It's messy, subject to commercial pressures, to a hierarchy of values that doesn't place "refactoring" at the top of the list. And why would it?
Probably because it's a good way to be more profitable.

Code that's easier to understand is easier to: maintain, generate new features for, fix bugs, onboard new engineers, etc

Code that's well written: executes faster (saving computational costs), scales better, has higher uptimes/more robust, reduces bandwidth, and so on.

The thing is the business people will never understand this. Why would they? They're not programmers. They're not in the weeds. But that's what your job is as an engineer. To find all these invisible costs.

I'm pretty confident the industry is spending billions unnecessary. Hell, I'm sure Google alone is wasting over $100m/yr due to this.

Don't be penny wise and pound foolish. You're smarter than that. I know everyone here is smarter than that. So don't fall for the trap

lo_zamoyski 12 hours ago | parent [-]

Save us the patronizing tone.

I am well aware of stupidity in industry. However, I am also wise enough to recognize the opposite error. (I myself have academic tendencies and a background aligned with that. I have chosen jobs that payed less, because the subject matter was more interesting for me. I'm not some vulgar, money-chasing techbro here.) The via media demands that we recognize the distinction between general truths and practical realities. As I wrote elsewhere in this thread, yes, properly refactored code is easier to maintain, easier to read, easier to change, and theoretically, commercially preferable. It also makes programming more satisfying, helping retention. But that describes a feature of such code. It doesn't tell us what the right course of action is in a particular situation. The notion that refactoring is unconditionally the right course of action when code is not in some ideal state is simply wrong. It really does depend on the situation. Sometimes, refactoring is the wrong thing to do.

I'm not making some outrageous claim here. This follows from basic truths about the nature of what it means to be practical, and if industry is anything, it is practical.

foltik 9 hours ago | parent | next [-]

The professor is obviously not advising naive absolutism. He’s saying care deeply about your craft, and good judgement will follow from that.

Actually caring is what gives someone the itch to go back and improve things, versus happily calling it a day once minimum acceptable value has been delivered. The rampant enshittification of basically everything should make it clear which disposition is in short supply.

> Have the courage to go slowly, especially when everyone else is telling you that you need to go fast and cut corners.

The advice is aimed at students who haven’t yet decided which type they want to be. In fact it’s directly telling them to think for themselves and not blindly listen to you or anyone else here making the same case.

godelski 9 hours ago | parent | prev [-]

  > Save us the patronizing tone.
If you come out swinging you can't get mad when others swing back. You're not a victim, you're an instigator. You called danny_codes flippant for suggesting there are different biases. You called it absurd. You escalated it. And then you escalated it again.

  > It doesn't tell us what the right course of action is in a particular situation.
That's because there is never an objectively correct course of action. There is no optimal solution. In fact, there can't be when the situation evolves. The objective isn't even defined, let alone well defined. I don't understand your point because no one was suggesting it was always the right answer. Don't strawman here. Of course it depends on the situation, that's true about almost everything. It doesn't need to be said explicitly because it's so well understood. Don't inject absolute qualifiers into statements that don't have them.

  > I'm not making some outrageous claim here.
Your current claim? No. To be frank, you didn't claim much. But your prior claim? Yes. Yes you were. You were creating strawman then just as you did now.

  >> Unlike algorithms and principles and even techniques, software is not eternal. 
Not even algorithms are eternal. But I'm going to assume you're meaning the types of algoritms you see in textbooks because interpreting "algorithms" by its actual definition makes your comment weird. Since all programs are algorithms.

  >> [Software] is ephemeral. It's shelf-life is bounded.
And this is going to be something nearly everyone is already going to assume. It doesn't need to be stated. It doesn't need to be differentiated because it is already the working assumption.

  >> You're not refining some theory or some grasp of a Platonic ideal
And this is the real strawman. You're made a wild assumption about what others are claiming. There is such a wide range of viewpoints between "the way things are done now" and "chasing perfection." Anyone that thinks perfection exists in code is incredibly naive. You and I both know this, and so does anyone working in industry or academia (save maybe some juniors). There's a huge difference between saying "this isn't good enough" and "it's not good until its perfect." If someone talks about climbing a mountain you can't respond by saying it is impossible to climb to the moon.

  >> Whether you should refactor something, when you should refactor something, is a matter of prudential judgement, which is to say, of practical reason.
Whether you should do anything is a matter of prudential judgement. It's wild to say this while accusing people of chasing perfection. You think people are just yoloing their way to perfection?! Seriously? The article and thread context is literally asking that people use more prudential judgement. To not be myopic. And you have the audacity to say "think about it". What do you think we're doing here?
sosodev 13 hours ago | parent | prev | next [-]

I sense that the frustration you feel is that professors are able to make choices based on their values, but the average person is not. That is broadly speaking, of course.

I think it is a great shame that we live in a modern world where we do we must to survive regardless of how it makes us feel. I suspect it is the root of much suffering.

ryandrake 12 hours ago | parent [-]

Seriously. This thread is so depressing. It's like the entire software industry has given up and just accepted "increase speed forever at any cost" as some kind of iron law of software employment. Is nobody even pushing back anymore? Even offering token resistance? The 'bros have truly won. Our only imperative now is "Can we crush it in the market?"

foltik 8 hours ago | parent | next [-]

Wild how many people take “care about your craft” as a condescending personal insult. Maybe it’s hard to hear once the job’s beaten it out of you. And it’s about to get a lot worse.

g-b-r 11 hours ago | parent | prev | next [-]

The parent comment (cdfalcon) has 41 votes right now, it's disgusting

11 hours ago | parent | prev [-]
[deleted]
thundergolfer 13 hours ago | parent | prev | next [-]

Completely agree that it's off-putting. The author indeed has only ever worked in academia per his LinkedIn.

But disagree that this is a path to unemployment. At work we go very fast and yet I think fast is compatible with each of those points, just not in all situations.

Marc Brooker, distinguished eng at AWS, gives much more useful advice for industry, as you'd expect given his almost 30 years in industry.

https://brooker.co.za/blog/2026/03/25/ic-junior.html

rowanG077 12 hours ago | parent [-]

From that guys LinkedIn he was in academia and then at AWS. I guess it's better than the professor but hardly someone who knows the ins and outs of the industry. For that you need someone who has had a multitude of jobs at various different types of organizations.

loveparade 13 hours ago | parent | prev | next [-]

Doesn't matter who reads it. The point is that you will probably never learn to do "high level system design" well if you do not have enough experience writing and refactoring code yourself. It's like you wanting to become the chef of a kitchen and giving instructions without having ever prepped food.

There is indeed something useful about trying to write elegant code. Not because others read it. But because that's how you learn about the engineering tradeoffs and abstraction that exist everywhere.

Apylon777 2 hours ago | parent | prev | next [-]

https://en.wikipedia.org/wiki/Ad_hominem#Circumstantial

torrance 12 hours ago | parent | prev | next [-]

I think you are making exactly his point. Practicing code as a craft, caring about how you do it, how well you do it, and what it’s ultimately used for is, as you correctly point out, not going to bring you profit or employment.

So maybe there’s something wrong with how we organise work?

remywang 12 hours ago | parent | prev | next [-]

He is not giving advice to the industry, he is giving advice to aspiring programmers and computer scientists. He has no experience in industry, but has produced lots of high quality software and research.

linguae 12 hours ago | parent | prev | next [-]

I do sympathize with the viewpoint that many academics are not in a position to give good advice about industry since many of them either never worked in industry or had limited exposure via internships. Additionally, the values of academia are sometimes different from industry. Academia, at least in its purest form, is about advancing and disseminating knowledge, while industry is about serving customers through providing products and services.

With that said, I discovered that I’m an academic at heart after nine years in industry, though I left right before agentic coding took off. I got tired of “moving fast and breaking things,” of prioritizing shipping things and “the bottom line” over everything else.

With that said, agentic coding, in my opinion, only amplifies long-standing trends, that shipping matters more than craftsmanship. Even without LLMs, software engineering has long had a “git ‘er done!” attitude. To be fair, market effects matter greatly in software businesses. Quality matters insofar as avoiding completely unusable software, but many software companies succeed without building carefully-crafted software. Even Apple, which has a reputation for being perfectionistic, doesn’t make perfect software.

Academia has its own problems (publish-or-perish, low pay compared to other occupations that require heavy investments in education, politics, etc.), but it seems to allow more breathing room for computer scientists to focus on the craft of programming without as much pressure to ship (publish-or-perish aside).

kube-system 12 hours ago | parent | prev | next [-]

I agree, some of this is awful advice for a entry level engineer:

> * Cultivate your ability to think deeply. Do whatever it takes to carve out distraction-free bubbles for yourself in both space and time. This might mean saying no to technologies or patterns of working that others say are critical or inevitable.

An entry level engineer is going to be inundated with a lot of technology they've never heard of and a lot of power structures and group dynamics that are new to them. They're not even in a position to be making these judgements until they actually learn about how professional software development actually works.

> * Be intentional about deciding your own moral and ethical boundaries up front. Don't settle for the lie of compromising your principles "just for now" until you can find something better.

That's great, but also, there are not many entry level roles where someone is going to be in a position to be making these kinds of decisions, other than avoiding a company altogether.

> * Care deeply about your craft. Refactor code until it is clear and elegant. Write good documentation for other humans to read. Have the courage to go slowly, especially when everyone else is telling you that you need to go fast and cut corners.

Yikes. A software engineering job is not a PhD program. If you are refactoring your code and someone is telling you to hurry up, you should probably wrap it up. You need to ship your code or you won't have a job.

JKCalhoun 12 hours ago | parent [-]

Sounds to me like someone who enjoys programming as an intellectual pursuit, as a craft, as an art. I suspect there are more than a few students in the CS program that also feel that way. Clearly they're the intended recipient.

If programming is all about making the most money then by all means disregard everything he says.

kube-system 12 hours ago | parent | next [-]

I think it is fine advice for someone doing computer science in academics. It is just bad advice for students going into industry.

uhhhd 12 hours ago | parent | prev [-]

It can be both. People ride horses for leisure; no one commutes on them.

nikcub 12 hours ago | parent | prev | next [-]

> If a tree falls in the forest...

I hope this is a pun on the content management system used to publish OP. It's forester[0], written in OCaml and parses TeX-like .tree files into semantic XML which uses browser XSLT to render the HTML.

View source on the page to get an idea.

Reminder of what the idealised web promise from decades ago was. Long gone. Very apt.

[0] https://www.forester-notes.org/index/index.xml

jszymborski 12 hours ago | parent | prev | next [-]

Why do you think this is industry advice? I can't find anything here that indicates that it's the case? Maybe they just feel this is the right thing to do.

kube-system 12 hours ago | parent [-]

The stated audience is his students who are "imminently going out into the world (e.g. "The software industry" he is referring to) or continuing your studies."

newobj 13 hours ago | parent | prev | next [-]

The engineer who only does high level system design and never codes has existed for decades and is often the most useless and derided engineer in the org.

cramsession 12 hours ago | parent | prev | next [-]

Hilariously his site doesn't even have HTTPS. Seems like corner cutting to me!

rawgabbit 12 hours ago | parent | prev | next [-]

The author stated your concerns at the beginning of his post. He prefaced his post saying what the industry wants is the antithesis of what he believes in.

I generally agree with what he stated. We should clearly define our moral and technical redlines. Lines we will never cross because they will be tested every day.

kqp 8 hours ago | parent | prev | next [-]

It’s not industry advice, it’s life advice. Believe it or not, there exists a world outside what’s trending in the tech industry, and the outside world is also much bigger, much more important, and considered by many more to be the point of both education and life.

You were gifted a breath of fresh air, and thought only “well this does a terrible job of smelling like my room”.

csmantle 13 hours ago | parent | prev | next [-]

The industry's goal is to ship fast and profitably. A learner's goal isn't.

cdfalcon 13 hours ago | parent [-]

Oh that’s such a high horse position lol - I try and learn as much as possible every day by shipping fast and profitably. Learning to be successful in industry is a completely valid (and common) goal.

throwaway81348 13 hours ago | parent | prev | next [-]

>I do not and will not use LLMs, in any form, for any purpose.

flockonus 13 hours ago | parent | next [-]

How this will age:

>I do not and will not use the internet, in any form, for any purpose.

andyfilms1 12 hours ago | parent | next [-]

Oh no! Anyway

sambapa 11 hours ago | parent | prev | next [-]

I mean... Right now it sounds pretty good?

1attice 13 hours ago | parent | prev [-]

[dead]

2ndorderthought 12 hours ago | parent | prev [-]

As an educator there is nothing wrong with that.

CamperBob2 9 hours ago | parent | next [-]

Just don't try to fool anyone into thinking you're preparing your students for the workforce they'll be entering.

lo_zamoyski 12 hours ago | parent | prev [-]

Education is distinct from industry. The point of education is understanding and knowledge. The point of industry is practical effect and production. The aims are not the same.

And you can understand the principles governing something without knowing all the concrete particulars of an instantiation. In fact, you rarely do.

2ndorderthought 12 hours ago | parent [-]

I know what you are saying. But, almost every major issue I've run into with various teams writing software in production required knowledge of all those particulars to fix.

I also believe learning the basics is essential before reviewing someone else's work. Whether that work is done by a human or machine.

nopinsight 13 hours ago | parent | prev | next [-]

From the author’s earlier essay:

“A good way to describe myself is as a generative AI vegetarian. You can find a fuller explanation—and many, many links—at the above essay by Sean Boots, which I agree with almost 100%.”

—-

Given the capabilities of upcoming LLMs, I suspect that by mid-2027, most competent companies, outside specific niches, will not hire and might fire any non-senior “generative AI vegetarian” software developer.

lukan 12 hours ago | parent [-]

I have actually no idea what you want to say with “generative AI vegetarian.” You mean people who refuse using LLM's?

edit, I see, a new slang:

https://news.ycombinator.com/item?id=47928885

2ndorderthought 12 hours ago | parent [-]

Probably another viral marketing campaign to further pressure those meta employees to have their in office flatulence levels monitored with probes as they are pressured to vibe code more features faster.

avaer 12 hours ago | parent | prev | next [-]

Whenever I hear this kind of argument, I basically let the person know their argument is fine as long as

  1) they are going to pay me competitive money to "go slowly", "polish my code", or whatever, or
  2) they are actively working on getting me UBI
Otherwise I just shake my head.
uhhhd 13 hours ago | parent | prev | next [-]

This. Exactly this. You'll be unemployed. He'll still have tenure.

godelski 12 hours ago | parent | prev | next [-]

  > Who is going to read your carefully crafted documentation lol?
Everyone that uses or works in your codebase.

Look at how people use LLMs these days. People frequently use it on new codebases to get up to speed on the code. Frankly because it's a lot faster than grepping, profiling, and all the digging we'd normally do (though those still have benefits and you're still going to do them. Hell, the LLMs even do them). But how much of that could have been avoided had people just taken a few seconds to document their code? No one is saying sit down and document the whole thing but "add a few comments when you add new functions" or "update comments in places you touch". If it costs you more than a minute of your time you're probably doing it wrong.

I'm tired of these arguments. People are turning molehills into mountains. It's so incredibly myopic. We waste so much fucking time on things because we're trying to move fast. But no one seems to understand the difference between speed and velocity. It never mattered how fast you go, it has always been about velocity. Going fast in the wrong direction is harming you, not helping. If you don't have the time to know if you're headed in the right direction or not then you're probably not.

  > Outside of the bit on avoiding cutting corners
But what your gripe is with is cutting corners. Not documenting? That's cutting corners. Not refactoring? That's cutting corners. Not spending time understanding the code at multiple scopes? That's cutting corners.

Those are all corners cut that end up wasting tons of man hours. Sure, they save you a few precious seconds or minutes now, but at the cost of hours or days in the future.

Here's the thing, if you don't take those shortcuts, then none of those tasks are hard. Even refactoring. But as soon as you start taking those shortcuts they start compounding. Then a year down the line your company is writing a blog post about how your code is 500x faster now that it's written in rust (or whatever the cool kids use). If it's 500x faster that's not because a language change, it's because tech debt. And like all debt it accumulates little by little and it's the compounding interest that really kills you.

Sorry, I'm tired of cleaning up everybody's messes. Go ahead, move fast and break things. It's a great way to learn (I do it too!), but don't make others clean up your mess.

Stop buying into this bullshit of needing to move so fast. It's the same anti-pattern scammers use to get you to make poor decisions. Stop scamming yourselves

dijksterhuis 12 hours ago | parent [-]

this resonated for me, quite hard actually. there's the famous quote which has always stuck with me on this stuff slow is smooth, smooth is fast.

thinking about it a little more, i would personally prefer to use the term momentum rather than velocity or just plain speed -- we accrue more mass by adding code, features, etc. and shifting direction/increasing speed are both harder with greater mass.

godelski 9 hours ago | parent [-]

I think mass and momentum are appropriate. I use them when talking about this too.

Given your username and the topic, I think you'll enjoy this read: https://www.cs.utexas.edu/~EWD/transcriptions/EWD02xx/EWD288...

stackghost 12 hours ago | parent | prev | next [-]

This has been my experience with academia also. I have an MBA (gasp!) and the best profs were the ones who had real world experience.

Despite the common rhetoric you see in HN comments about how MBA programs only teach graduates how to cut costs by enshittifying, I actually found it a great education that made me a better engineer.

Anyway,

The best profs were the ones who'd worked in industry. One guy who taught finance worked on Wall Street and was fond of distinguishing between how the textbook taught a particular technique or fact, and how practitioners actually do it in real life. Got taught startup valuation by a guy who'd been a VC, competitive strategy by a guy who was a strategy consultant for companies you'd actually heard of, etc.

The worst profs were the ones like the guy who taught operations. He'd never worked a real job. Went straight from being a student to being a TA to a postdoc to a "research prof", whatever that means. All his examples and case studies were useless or overly simplistic to the point of being useless.

The fact that TFAuthor is concerned with polishing one's craft shows they're completely divorced from what actually happens outside the ivory tower. Typing code into a buffer has never been the hard part.

jmspring 12 hours ago | parent | prev [-]

[flagged]

g-b-r 11 hours ago | parent [-]

And it's actually his only comment ever