Remix.run Logo
anupshinde 3 hours ago

Glad to see this. I was tired of seeing posts that are on the extremes - "death of software by AI" vs "AI can't do this and that".

I took a break from software, and over the last few years, it just felt repetitive, like I was solving or attempting to solve the same kinds of problems in different ways every 6 months. The feeling of "not a for loop again", "not a tree search again", "not a singleton again". There's an exciting new framework or a language that solves a problem - you learn it - and then there are new problems with the language - and there is a new language to solve that language's problem. And it is necessary, and the engineer in me does understand the why of it, but over time, it just starts to feel insane and like an endless loop. Then you come to an agreement: "Just build something with what I know," but you know so much that you sometimes get stuck in analysis paralysis, and then a shiny new thing catches your engineer or programmer brain. And before you get maintainable traction, I would have spent a lot of time, sometimes quitting even before starting, because it was logistically too much.

Claude Code does make it feel like I am in my early twenties. (I am middle-aged, not in 60s)

I see a lot of comments wondering what is being built -

Think about it like this, and you can try it in a day.

Take an idea of yours, and better if it is yours - not somebody else's - and definitely not AI's. And scope it and ground it first. It should not be like "If I sway my wand, an apple should appear". If you have been in software for long, you would have heard those things. Don't be that vague. You have to have some clarity - "wand sway detection with computer vision", "auto order with X if you want a real apple", etc.. AI is a catalyst and an amplifier, not a cheat code. You can't tell it, "build me code where I have tariffs replacing taxes, and it generates prosperity". You can brainstorm, maybe find solutions, but you can't break math with AI without a rigorous theory. And if you force AI without your own reasoning, it will start throwing BS at you.

There is this idea in your mind, discuss it with ChatGPT, Gemini, or Claude. See the flaws in the idea - discover better ideas. Discuss suggestions for frameworks, accept or argue with AI. In a few minutes, you ask it to provide a Markdown spec. Give it to Claude Code. Start building - not perfect, just start. Focus on the output. Does it look good enough for now? Does it look usable? Does it make sense? Is the output (not code) something you wanted? That is the MVP to yourself. There's a saying - customers don't care about your code, but that doesn't mean you shouldn't. In this case, make yourself the customer first - care about the code later (which in an AI era is like maybe a 30min to an hour later)

And at this point, bring in your engineer brain. Typically, at this point, the initial friction is gone, you have code and something that is working for you in real - not just on a paper or whiteboard. Take a pause. Review, ask it to refactor - make it better or make it align with your way, ask why it made the decisions it made. I always ask AI to write unit tests extensively - most of which I do not even review. The unit tests are there just to keep it predictable when I get involved, or if I ask AI to fix something. Even if you want to remove a file from the project, don't do it yourself - acclimatize to prompting and being vague sometimes. And use git so that you can revert when AI breaks things. From idea to a working thing, within an hour, and maybe 3-4 more hours once you start reviews, refactors, and engineering stuff.

I also use it for iterative trading research. It is just an experiment for now, but it's quite interesting what it can do. I give it a custom backtesting engine to use, and then give it constraints and libraries like technical indicators and custom data indicators it can use (or you could call it skills) - I ask it to program a strategy (not just parameter optimize) - run, test, log, define the next iteration itself, repeat. And I also give it an exact time for when it should stop researching, so it does not eat up all my tokens. It just frees up so much time, where you can just watch the traffic from the window or think about a direction where you want AI to go.

I wanted to incorporate astrological features into some machine learning models. An old idea that I had, but I always got crapped out because of the mythological parts and sometimes mystical parts that didn't make sense. With AI, I could ask it to strip out those unwanted parts, explain them in a physics-first or logic-first way, and get deeper into the "why did they do this calculation", "why they reached this constant", and then AI obviously helps with the code and helps explain how it matches and how it works - helps me pin point the code and the theories. Just a few weeks ago, I implemented/ported an astronomy library in Go (github.com/anupshinde/goeph) to speed up my research - and what do I really know about astronomy! But the outputs are well verified and tested.

But, in my own examples, will I ever let AI unilaterally change the custom backtesting engine code? Never. A single mistake, a single oversight, can cost a lot of real money and wasted time in weeks or months. So the engine code is protected like a fortress. You should be very careful with AI modifying critical parts of your production systems - the bug double-counting in the ledger is not the same as a "notification not shown". I think managers who are blanket-forcing AI on their employees are soon going to realize the importance of the engineering aspect in software

Just like you don't trust just any car manufacturer or just any investment fund, you should not blindly trust the AI-generated code - otherwise, you are setting yourself up to get scammed.