7 ms·
I work as a DevOps/SRE and have been doing it FinTech (bank, hedge funds, startups) and Crypto (L1 chain) for almost 20 years. My thoughts on vibe coding vs pr
by alexpotato 7mo ago
I work as a DevOps/SRE and have been doing it FinTech (bank, hedge funds, startups) and Crypto (L1 chain) for almost 20 years.
My thoughts on vibe coding vs production code:
- vibe coding can 100% get you to a PoC/MVP probably 10x faster than pre LLMs
- This is partly b/c it is good at things I'm not good at (e.g. front end design)
- But then I need to go in and double check performance, correctness, information flow, security etc
- The LLM makes this easier but the improvement drops to about 2-3x b/c there is a lot of back and forth + me reading the code to confirm etc (yes, another LLM could do some of this but then that needs to get setup correctly etc)
- The back and forth part can be faster if e.g. you have scripts/programs that deterministically check outputs
- Testing workloads that take hours to run still take hours to run with either a human or LLM testing them out (aka that is still the bottleneck)
So overall, this is why I think we're getting wildly different reports on how effective vibe coding is. If you've never built a data pipeline and a LLM can spin one up in a few minutes, you think it's magic. But if you've spent years debugging complicated trading or compliance data pipelines you realize that the LLM is saving you some time but not 10x time.
- matt_heimer 7mo agoI'm building a Java HFT engine and the amount of things AI gets wrong is eye opening. If I didn't benchmark everything I'd end up with much less optimized solution. Examples: AI really wants to use Project Panama (FFM) and while that can be significantly faster than traditional OO approaches it is almost never the best. And I'm not taking about using deprecated Unsafe calls, I'm talking about using primative arrays being better for Vector/SIMD operations on large sets of data. NIO being better than FFM + mmap for file reading. You can use AI to build something that is sometimes better than what someone without domain specific knowledge would develop but the gap between that and the industry expected solution is much more than 100 hours.
- mtrovo 7mo agoI think the main issue is treating LLM as a unrestrained black box, there's a reason nobody outside tech trust so blindly on LLMs. The only way to make LLMs useful for now is to restrain their hallucinations as much as possible with evals, and these evals need to be very clear about what are the goal you're optimizing for. See karpathy's work on the autoresearch agent and how it carry experiments, it might be useful for what you're doing.
- riffraff 7mo ago> there's a reason nobody outside tech trust so blindly on LLMs. Man, I wish this was true. I know a bunch of non tech people who just trusts random shit that chatgpt made up. I had an architect tell me "ask chatgpt" when I asked her the difference between two industrial standard measures :) We had politicians share LLM crap, researchers doing papers with hallucinated citations.. It's not just tech people.
- deleted 7mo ago[deleted]
- withinboredom 7mo agoWe were working on translations for Arabic and in the spec it said to use "Arabic numerals" for numbers. Our PM said that "according to ChatGPT that means we need to use Arabic script numbers, not Arabic numerals". It took a lot of back-and-forths with her to convince her that the numbers she uses every day are "Arabic numerals". Even the author of the spec could barely convince her -- it took a meeting with the Arabic translators (several different ones) to finally do it. Think about that for a minute. People won't believe subject matter experts over an LLM. We're cooked.
- dvfjsdhgfv 7mo agoMan this is maddening.
- tstenner 7mo agoThe architect should have required Hindu numbers. Same result, but even more confusion.
- ThrowawayR2 7mo agoKind of a tangent but that did make me curious about how numbers are written in Arabic: https://en.wikipedia.org/wiki/Eastern_Arabic_numerals https://en.wikipedia.org/wiki/Eastern_Arabic_numerals
- FpUser 7mo agoI am curious about what causes some to choose Java for HFT. From what I remember the amount of virgin sacrifices and dances with the wolves one must do to approach native speed in this particular area is just way too much of development time overhead.
- nly 7mo ago"HFT" means different things to different people. I've worked at places where ~5us was considered the fast path and tails were acceptable. In my current role it's less than a microsecond packet in, packet out (excluding time to cross the bus to the NIC). But arguably it's not true HFT today unless you're using FPGA or ASIC somewhere in your stack.
- atomicnumber3 7mo agoThe one person who understands HFT yeah. "True" HFT is FPGA now and also those trades are basically dead because nobody has such stupid order execution anymore, either via getting better themselves or by using former HFTs (Virtu) new order execution services. So yeah there's really no HFT anymore, it's just order execution, and some algo trades want more or less latency which merits varying levels of technical squeezing latency out of systems.
- matt_heimer 7mo agoSoftware HFT? I see people call Python code HFT sometimes so I understand what you mean. It's more in-line with low latency trading than today's true HFT. I don't work for a firm so don't get to play with FPGAs. I'm also not co-located in an exchange and using microwave towers for networking. I might never even have access to kernel networking bypass hardware (still hopeful about this one). Hardware optimization in my case will likely top out at CPU isolation for the hot path thread and a hosting provider in close proximity to the exchanges. The real goal is a combination of eliminating as much slippage as possible, making some lower timeframe strategies possible and also having best class back testing performance for parameter grid searching and strategy discovery. I expect to sit between industry leading firms and typical retail systematic traders.
- deleted 7mo ago
- grim_io 7mo agoWouldn't Java always lose in terms of latency against a similarly optimized native code in, let's say, C(++)?
- tyingq 7mo agoDepends. Many reasons, but one is that Java has a much richer set of 3rd party libraries to do things versus rolling your own. And often (not always) third party libraries that have been extensively optimized, real world proven, etc. Then things like the jit, by default, doing run time profiling and adaptation.
- andriy_koval 7mo agoJava has huge ecosystem in enterprise dev, but very unlikely it has ecosystem edge in high performance/real time compute.
- deleted 7mo ago[deleted]
- jacquesm 7mo agoNot necessarily. Java can be insanely performant, far more than I ever gave it credit for in the first decade of its existence. There has been a ton of optimization and you can now saturate your links even if you do fairly heavy processing. I'm still not a fan of the language but performance issues seem to be 'mostly solved'.
- nly 7mo ago"Saturating your links" is rarely the goal in HFT. You want low deterministic latency with sharp tails. If all you care about is throughput then deep pipelines + lots of threads will get you there at the cost of latency.
- jodleif 7mo agoAs long as you tune the JVM right it can be faster. But its a big if with the tune, and you need to write performant code
- jacquesm 7mo agoAI is extremely good at the things that it has many examples for. If what you are doing is novel then it is much less of a help, and it is far more likely to start hallucinating because 'I don't know' is not in the vocabulary of any AI.
- Filligree 7mo ago> because 'I don't know' is not in the vocabulary of any AI. That is clearly false. I’m only familiar with Opus, but it quite regularly tells me that, and/or decides it needs to do research before answering. If I instruct it to answer regardless, it generally turns out that it indeed didn’t know.
- jacquesm 7mo agoI haven't had that at all, not even a single time. What I have had is endless round trips with me saying 'no, that can't work' and the bot then turning around and explaining to me why it is obvious that it can't work... that's quite annoying.
- dwaltrip 7mo agoTry something like: > Please carefully review (whatever it is) and list out the parts that have the most risk and uncertainty. Also, for each major claim or assumption can you list a few questions that come to mind? Rank those questions and ambiguities as: minor, moderate, or critical. > Afterwards, review the (plan / design / document / implementation) again thoroughly under this new light and present your analysis as well as your confidence about each aspect. There's a million variations on patterns like this. It can work surprisingly well. You can also inject 1-2 key insights to guide the process. E.g. "I don't think X is completely correct because of A and B. We need to look into that and also see how it affects the rest of (whatever you are working on)."
- jacquesm 7mo agoOk! I will try that, thank you very much.
- LtWorf 7mo agoI've seen SQL injection and leaked API tokens to all visitors of a website :)
- smokel 7mo ago> AI really wants to use Project Panama It would help if you briefly specified the AI you are using here. There are wildly different results between using, say, an 8B open-weights LLM and Claude Opus 4.6.
- matt_heimer 7mo agoI've been using several. LM Studio and any of the open weight models that can fit my GPU's RAM (24GB) are not great in this area. The Claude models are slightly better but not worth they extra cost most of the time since I typically have to spend almost the same amount of time reworking and re-prompting, plus it's very easy to exhaust credits/tokens. I mostly bounce back and forth between the codex and Gemini models right now and this includes using pro models with high reasoning.
- colechristensen 7mo agoThen you list all of the things you want it not to do and construct a prompt to audit the codebase for the presence of those things. LLMs are much better at reviewing code than writing it so getting what you want requires focusing more on feedback than creation instructions.
- mewpmewp2 7mo agoI would say that if AI has to make decisions about picking between framework or constructs irrelevant to the domain at hand, it feels to me like you are not using the AI correctly.
- tracker1 7mo agoMaybe a silly question, but why Java? As a C# guy, my experience with AI is it hasn't been great with it, and I'd suspect similar for Java. I'd probably go with Rust, which my own efforts with AI has done really well with, even if I'm far from a Rust expert.
- Aperocky 7mo agoThe magic is testing. Having locally available testing and high throughput testing with high amount of test cases now unlocks more speed. The test cases themselves becomes the foci - the LLM usually can't get them right.
- neonbrain 7mo agoThe word "Testing" is a very loaded term. Few non-professionals, or even many professionals, fully understand what is meant by it. Consider the the following: Unit, Integration, System, UAT, Smoke, Sanity, Regression, API Testing, Performance, Load, Stress, Soak, Scalability, Reliability, Recovery, Volume Testing, White Box Testing, Mutation Testing, SAST, Code Coverage, Control Flow, Penetration Testing, Vulnerability Scanning, DAST, Compliance (GDPR/HIPAA), Usability, Accessibility (a11y), Localization (L10n), Internationalization (i18n), A/B Testing, Chaos Engineering, Fault Injection, Disaster Recovery, Negative Testing, Fuzzing, Monkey Testing, Ad-hoc, Guerilla Testing, Error Guessing, Snapshot Testing, Pixel-Perfect Testing, Compatibility Testing, Canary Testing, Installation Testing, Alpha/Beta Testing... ...and I'm certain I've missed dozens of other test approaches.
- megous 7mo agoYou forgot a hope-driven development and release process and other optimism based ("i'm sure it's fine" method), or faith based approaches to testing (ship and pray, ...). Customer driven invluntary beta testing also comes to mind and "let's see what happens" 0-day testing before deployment. We also do user-driven error discovery, frequently.
- worik 7mo agoThere is no science to testing, no provable best way, despite many people's vehement opinions
- neonbrain 7mo agoWhy did you assume I'm talking about a "provable best way"? I meant that it doesn't make sense to talk simply about "testing" without clarifying what one means by it. If you assume that the absence of a "provable best way" implies a lack of utility, let me remind you that there is no "provable best way" for training LLMs either. Does that matter in practice?
- bauerd 7mo ago>Testing workloads that take hours to run still take hours to run with either a human or LLM testing them out (aka that is still the bottleneck) Absolutely. Tight feedback loops are essential to coding agents and you can’t run pipelines locally.
- efromvt 7mo agoThis is where I think we need better tooling around tiered validation - there's probably quite a bit you can run locally if we had the right separation; splitting the cheap validation from the expensive has compounding benefits for LLMs.
- yojo 7mo ago> - This is partly b/c it is good at things I'm not good at (e.g. front end design) Everyone thinks LLMs are good at the things they are bad at. In many cases they are still just giving “plausible” code that you don’t have the experience to accurately judge. I have a lot of frontend app dev experience. Even modern tools (Claude w/Opus 4.6 and a decent Claude.md) will slip in unmaintainable slop in frontend changes. I catch cases multiple times a day in code review. Not contradicting your broader point. Indeed, I think if you’ve spent years working on any topic, you quickly realize Claude needs human guidance for production quality code in that domain.
- onionisafruit 7mo agoIt’s the Gell-Mann amnesia effect applied to LLM instead of media
- steveBK123 7mo agoYes I’ve seen this at work where people are promoting the usage of LLMs for.. stuff other people do. There’s also a big disconnect in terms of SDLC/workflow in some places. If we take at face value that writing code is now 10x faster, what about the other parts of the SDLC? Is your testing/PR process ready for 10x the velocity or is it going to fall apart? What % of your SDLC was actually writing code? Maybe time to market is now ~18% faster because coding was previously 20% of the duration.
- Aurornis 7mo agoThere’s a big gap between reality and the influencer posts about LLMs. I agree with you that LLMs do provide some significant acceleration, but the influencers have tried to exaggerate this into unbelievable numbers. Even non-influencers are trying to exaggerate their LLM skills as a way to get hired or raise their status on LinkedIn. I rarely read the LinkedIn social feed but when I check mine it’s now filled with claims from people about going from idea to shipped product in N days (with a note at the bottom that they’re looking for a new job or available to consult with your company). Many of these posts come from people who were all in on crypto companies a few years ago. The world really is changing but there’s a wave of influencers and trend followers trying to stake out their claims as leaders on this new frontier. They should be ignored if you want any realistic information. I also think these exaggerated posts are causing a lot of people to miss out on the real progress that is happening. They see these obviously false exaggerations and think the opposite must be true, that LLMs don’t provide any benefit at all. This is creating a counter-wave of LLM deniers who think it’s just a fad that will be going away shortly. They’re diminishing in numbers but every LLM thread on HN attracts a few people who want to believe it’s all just temporary and we’re going back to the old ways in a couple years.
- ge96 7mo agoDay 7 of using Claude Code here are my takes...
- sebastiennight 7mo ago“Day 7" would be amazing - all that I see YouTube recommending is "I tried it for 24 hours" I was listening to an "expert" on a podcast earlier today up until the point where the interviewer asked how long his amazing new vibe-coded tooling has been in production, and the self-proclaimed expert replied "actually we have an all-hands meeting later today so I can brief the team and we will then start using the output..."
- ryandrake 7mo ago> I rarely read the LinkedIn social feed but when I check mine it’s now filled with claims from people about going from idea to shipped product in N days (with a note at the bottom that they’re looking for a new job or available to consult with your company). This always seems to be the pattern. "I vibe coded my product and shipped it in 96 hours!" OK, what's the product? Why haven't I heard of it? Why can't it replace the current software I'm using? So, you're looking for work? Why is nobody buying it? Where is the Quicken replacement that was vibecoded and shipping today? Where are the vibecoded AAA games that are going to kill Fortnite? Where is the vibecoded Photoshop alternative? Heck, where is the vibecoded replacement for exim3 that I can deploy on my self hosted E-mail server? Where are all of the actual shipping vibecoded products that millions of users are using?
- baxtr 7mo agoIsn’t that the reason why people advocate for spec-driven development instead of vibe coding?
- bojangleslover 7mo agoWhat I do now is I make an MVP with the AI, get it working. And then tear it all down and start over again, but go a little slower. Maybe tear down again and then go even more slowly. Until I get to the point where I'm looking at everything the AI does and every line of code goes through me.
- quater321 7mo agoAt this point, every programmer who claims that vibecoding doesn't make you at least 10 times more productive is simply lying or worst, doesn't know how to vibe code. -So, you want to tell me that you don't review the code you write? Or that others don't review it? - You bring up ONE example with a bottleneck that has nothing to do with programming. Again, if you claim it doesn't make you 10x more productive, you don't know how to use AI, it is that simple. - I pin up 10 agents, while 5 are working on apps, 5 do reviews and testing, I am at the end of that workflow and review the code WHILE the 10 agents keep working. For me it is far more than 10x, but I consider noobs by saying 10x instead of 20x or more.
- geetee 7mo agoI can't tell if this is real or a joke.
- hsuduebc2 7mo agoWhat exactly are you producing? LinkedIn posts?
- sieste 7mo agoJust goes to show that most programmers have no idea what most programmers are mostly programming. Great that it works for you, but don't assume that this applies to everyone else.
- atomicnumber3 7mo agoCan you link to one launched product with users for us?
- amelius 7mo agoAlso, now you're reading someone else's code and not everybody likes that. In fact, most self-proclaimed 10x coders I know hate it. So instead of the 10x coder doing it, the 1x coder does it, but then that factor of 3x becomes 0.3x.
- steveBK123 7mo agoAbsolutely. In my experience there are more “good coders” than people who are good at code review/PR/iterative feedback with another dev. A lot of people are OCD pedants about stuff that can be solved with a linter (but can’t be bothered to implement one) or just “LGTM” everything. Neither provide value or feedback to help develop other devs.
- alexpotato 7mo ago> A lot of people are OCD pedants about stuff that can be solved with a linter (but can’t be bothered to implement one) or just “LGTM” everything. Neither provide value or feedback to help develop other devs. This many be one of the best quotes on HN in a while.
- steveBK123 7mo agoThank you, I felt old & cranky today
- netbioserror 7mo agoMore generally: LLM effectiveness is inversely proportional to domain specificity. They are very good at producing the average, but completely stumble at the tails. Highly particular brownfield optimization falls into the tails.
- bittermandel 7mo agoThis is exactly my experience at Lovable. For some parts of the organization, LLMs are incredibly powerful and a productivity multiplier. For the team I am in, Infra, it's many times distraction and a negative multiplier. I can't say how many times the LLM-proposed solution to a jittery behavior is adding retries. At this point we have to be even more careful with controlling the implementation of things in the hot path. I have to say though, giving Amp/Claude Code the Grafana MCP + read-only kubectl has saved me days worth of debugging. So there's definitely trade-offs!
- bee326 7mo agoMy colleague recently shipped a "bug fix" that addresses a race condition by adding a 200ms delay somewhere, almost completely coded by LLM. LLM even suggests that "if this is not good enough, increase it to 300ms". That says something about how much some people care about this.
- nomorewords 7mo agoEven doubly so because that's how most people have solved a similar problem, so that the LLM suggests that
- the__alchemist 7mo agoI concur on the DevSecOps aspect for a more specific reason: If you're failing a pipeline because ThirdPartyTOol69 doesn't like your code style or W/E, you can have the LLM fix it. Or get you to 100% test coverage etc. Or have it update your Cypress/Jest/SonarQube configs until the pipeline passes without losing brain cells doing it by hand. Or finds you a set of dependency versions that passes.
- cvhc 7mo ago> Testing workloads that take hours to run still take hours to run with either a human or LLM testing them out (aka that is still the bottleneck) Actually I had some terrible experiences when asking the agent to do something simple in our codebase (like, rename these files and fix build scripts and dependencies) but it spent much longer time than a human, because it kept running the full CI pipelines to check the problems after every attempted change. A human would, for example, rely on the linter to detect basic issues, run a partial build on affected targets, etc. to save the time. But the agent probably doesn't have a sense of time elapsed.
- alexpotato 7mo agoWent through something similar recently with database calls. Co-pilot said something about having too many rows returned and had some complex answer on how to reduce row count. I just added a "LIMIT 100" which was more than adequate.
- djeastm 7mo agoCan't this be solved with something like "Don't run any CI commands" in the AGENTS.md?
- aeonfox 7mo agoExcept for the times you do want it to run the CI. LLM issues can often be solved by being more and more specific, but at some point being specific enough is just as time consuming as jumping in and doing it yourself.
- teleforce 7mo ago> The LLM makes this easier but the improvement drops to about 2-3x b/c there is a lot of back and forth + me reading the code to confirm etc (yes, another LLM could do some of this but then that needs to get setup correctly etc) > The back and forth part can be faster if e.g. you have scripts/programs that deterministically check outputs This is where configuration language like CUE can be useful in complementing LLM [1]. It's the deterministic NLP cousin of the stochastic LLM based on mathematically sound latticed-value logic [2]. [1] Guardrailing Intuition: Towards Reliable AI: https://cue.dev/blog/guardrailing-intuition-towards-reliable-ai/ https://cue.dev/blog/guardrailing-intuition-towards-reliable... [2] The Logic of CUE: https://cuelang.org/docs/concept/the-logic-of-cue/ https://cuelang.org/docs/concept/the-logic-of-cue/
- capplexham 7mo ago> The LLM makes this easier but the improvement drops to about 2-3x b/c there is a lot of back and forth + me reading the code to confirm etc This makes sense when you stop viewing the LLM as a "vending machine" for apps and start seeing it as a repository of software deltas. LLMs aren't just trained on final code; they are trained on the entire history of pull requests, review comments, and issue discussions that move a project from one version to the next. When I use an LLM now, my workflow has shifted entirely. I’ve stopped trying to be the "coder" and have instead stepped into the role of PR Reviewer and Power User. My job is to point out edge cases, define the spec, and catch regressions—effectively managing a "virtual team" that handles the boilerplate and feature implementation. Expecting a one-shot 1.0 release is unrealistic because it bypasses the thousand micro-decisions that happen in a real dev cycle. By embracing the "review and refine" loop, I’m becoming a better maintainer, even if that 100-hour gap to a polished product still exists.
- jmt710 7mo agoDo you ever think that maybe your biased? I ask because I get the feeling from a lot of professional programmers that they feel like they are better and smarter than everyone and everything else. No matter how good an LLM or AI in general gets at programming task, people who make a living programming will always have a problem with it. There is going to come a time when you're going to be obsolete. I hate to say it, but it's coming and the hostility twords the tech isn't going to save your job.