Most active commenters

    ←back to thread

    Using LLMs at Oxide

    (rfd.shared.oxide.computer)
    694 points steveklabnik | 12 comments | | HN request time: 0.001s | source | bottom
    Show context
    thundergolfer ◴[] No.46178458[source]
    A measured, comprehensive, and sensible take. Not surprising from Bryan. This was a nice line:

    > it’s just embarrassing — it’s as if the writer is walking around with their intellectual fly open.

    I think Oxide didn't include this in the RFD because they exclusively hire senior engineers, but in an organization that contains junior engineers I'd add something specific to help junior engineers understand how they should approach LLM use.

    Bryan has 30+ years of challenging software (and now hardware) engineering experience. He memorably said that he's worked on and completed a "hard program" (an OS), which he defines as a program you doubt you can actually get working.

    The way Bryan approaches an LLM is super different to how a 2025 junior engineer does so. That junior engineer possibly hasn't programmed without the tantalizing, even desperately tempting option to be assisted by an LLM.

    replies(9): >>46178592 #>>46178622 #>>46178776 #>>46179419 #>>46180863 #>>46180957 #>>46180987 #>>46181685 #>>46184735 #
    zackerydev ◴[] No.46178622[source]
    I remember in the very first class I ever took on Web Design the teacher spent an entire semester teaching "first principles" of HTML, CSS and JavaScript by writing it in Notepad.

    It was only then did she introduce us to the glory that was Adobe Dreamweaver, which (obviously) increased our productivity tenfold.

    replies(4): >>46178918 #>>46179179 #>>46179520 #>>46179979 #
    frankest ◴[] No.46179179[source]
    DreamWeaver absolutely destroyed the code with all kinds of tags and unnecessary stuff. Especially if you used the visual editor. It was fun for brainstorming but plain notepad with clean understandable code was far far better (and with the browser compatibility issues the only option if you were going to production).
    replies(4): >>46179345 #>>46179408 #>>46179671 #>>46180923 #
    1. christophilus ◴[] No.46179345[source]
    After 25 or so years doing this, I think there are two kinds of developers: craftsmen and practical “does it get the job done” types. I’m the former. The latter seem to be what makes the world go round.
    replies(5): >>46179401 #>>46179534 #>>46179988 #>>46180801 #>>46180948 #
    2. fragmede ◴[] No.46179401[source]
    It takes both.
    3. ghurtado ◴[] No.46179534[source]
    If you've been doing it for that long (about as long as I have), then surely you remember all the times you had to clean up after the "git 'er done" types.

    I'm not saying they don't have their place, but without us they would still be making the world go round. Only backwards.

    replies(3): >>46180728 #>>46181241 #>>46184511 #
    4. KronisLV ◴[] No.46179988[source]
    I think there's more dimensions that also matter a bunch:

      * a bad craftsman will get pedantic about the wrong things (e.g. SOLID/DRY as dogma) and will create architectures that will make development velocity plummet ("clever" code, deep inheritance chains, "magic" code with lots of reflection etc.)
      * a bad practician will not care about long term maintainability either, or even correctness enough not to introduce a bunch of bad bugs or slop, even worse when they're subtle enough to ship but mess up your schema or something
    
    So you can have both good and bad outcomes with either, just for slightly different reasons (caring about the wrong stuff vs not caring).

    I think the sweet spot is to strive for code that is easy to read and understand, easy to change, and easy to eventually replace or throw out. Obviously performant enough but yadda yadda premature optimization, depends on the domain and so on...

    5. thebruce87m ◴[] No.46180728[source]
    > all the times you had to clean up after the "git 'er done" types

    It’s lovely to have the time to do that. This time comes once the other type of engineer has shipped the product and turned the money flow on. Both types have their place.

    replies(1): >>46181238 #
    6. frankest ◴[] No.46180801[source]
    After becoming a founder and having to deal with my own code for a decade, I’ve learned a balance. Prototype fast with AI crap to get the insight than write slow with structure for stuff that goes to production. AI does not touch production code - ask when needed to fix a tiny bit, but keep the beast at arms distance.
    7. tarsinge ◴[] No.46180948[source]
    I am both, I own a small agency when I have to be practical, and have fun crafting code on the hobby side.

    I think what craftsmen miss is the different goals. Projects fall on a spectrum from long lived app that constantly evolve with a huge team working on it to not opened again after release. In the latter, like movie or music production (or most video games), only the end result matters, the how is not part of the final product. Working for years with designers and artists really gave me perspective on process vs end result and what matter.

    That doesn’t mean the end result is messy or doesn’t have craftsmanship. Like if you call a general contractor or carpenter for a specific stuff, you care that the end result is well made, but if they tell you that they built a whole factory for your little custom made project (the equivalent of a nice codebase), not only it doesn’t matter for you but it’ll be wildly overpriced and delayed. In my agency that means the website is good looking and bug free after being built, no matter how messy is the temporary construction site.

    In contrast if you work on a SaaS or a long lived project (e.g. an OS) the factory (the code) is the product.

    So to me when people say they are into code craftsmanship I think they mean in reality they are more interested in factory building than end product crafting.

    replies(2): >>46181457 #>>46181847 #
    8. ◴[] No.46181238{3}[source]
    9. bigfatkitten ◴[] No.46181241[source]
    I work in digital forensics and incident response. The “git ‘er done” software engineers have paid my mortgage and are putting my kids through private schooling.
    10. jfreds ◴[] No.46181457[source]
    I agree wholeheartedly. As for the why do craftsmen care so much about the factory instead of the product, I believe the answer is pride. It’s a bitter pill to swallow, but writing and shipping a hack is sometimes the high road
    11. arevno ◴[] No.46181847[source]
    I also do third party software development, and my approach is always: bill (highly, $300+/hr) for the features and requirements, but do the manual refactoring and architecture/performance/detail work on your own time. It benefits you, it benefits the client, it benefits the relationship, and it handles the misunderstanding of your normie clients with regard to what constitutes "working".

    Say it takes 2 hours to implement a feature, and another hour making it logically/architecturally correct. You bill $600 and eat $200 for goodwill and your own personal/organizational development. You're still making $200/hr and you never find yourself in meetings with normie clients about why refactoring, cohesiveness, or quality was necessary.

    12. ambicapter ◴[] No.46184511[source]
    Well, going round in a circle does project to going forwards then backwards in a line :)