I have been shadowing this thread for a while. My past engagement on hackernews have largely towards GenAI, programming & what this industry looks like.
First, it's good to know I am not alone in feeling that a certain world, no longer exists. This is the world where when given a problem, you would spend maybe 3-4 hours scoping it out, doing some research, maybe drawing up some diagrams and then jumping into the code. Coding itself was a necessary part of this process, where it was meditative. You were in this zone between deep and shallow work. It's odd to "reminisce" about coding as if it was such a beautiful thing, in reality it was hard. Required a lot of elbow grease, but it was fulfilling (I wrote 10k LoC over 2 weeks, it isn't about LoC as a metric of good code, it was more about the effort put in felt really tangible)
The world today, is fundamentally different. Today coding is really cheap, even disregarding the best SOTA models, OSS models are catching up in how consistent of an output they produce. Note the word "consistent", I won't say the code wirten by Opus or Sol is "good", but it's consistent enough to where with the right infrastructure around it (aka harnesses) you can get it to work really well.
2 years back, saying "LLMs don't produce good code" was objectively true. They were good for maybe a function, heck I remember AI straight up producing incorrect logic. Today with the right context, the "code quality" (interestignly, quality is a human metric, maintainability would be more apt, and the cost of building a change) is upto par or even better than what I would write on the first iteration.
Given that the cost of coding is now 0, my job becomes to solve problems, in the best way possible, WHILE directing the HLD/LLD of the system to understand the limitations of what I have built. The latter, I only do because it's much faster knwoing a limitation in a codebase than having an agent "recongize" it through a bunch of tests, and loops (it's cheaper too) -- THAT is where my experience really shines, knowing which patterns to apply to what problem and expect what results. Heck, we live in a time, where I can trivially have an LLM run experiments to quantify 3 other approaches at the same time.
Fundamentally what I do, is managing context, scoping problems & requirements, understanding limitations and directing the codebase (again, also drawing from experience, since an LLM may arbitiarily do something which leads to increasing entropy in the codebase)
Think of it like this; If software engineer, was like maintaing a garden, then 5 years back the process was -- think about how you want your garden to look, with this in mind begin planting the right seeds, pruning the bushes, weeding the overgrowth. Today, I have robot to do all that stuff for me, that leaves me a WHOLE lot of time to plan out my garden, thus, today, I can maintain an entire ecosystem instead of a garden. Not the best analogy, but it models my fear of the LLM not "pruning it right" when in the grand scheme of things, it may not matter at all.
Whew, that was long. I just wanted to get my thoughts out haha
Spotted a gap at my current company wherein a relatively simple access request (to say, Lovable, Claude or WorkOS) would end up being a dependency on the leadership for 1-2 days, Large corps solve this by deploying a full on HRMS solution, or something like ServiceNow, Azure AD -- but this requires navigating enterprise contracts not only with the HRMS but also every service you use.
I am building an agentic access management platform, where you can simply say "Hey, could you give James access to WorkOS until today?" from any LLM surface (Claude Code, ChatGPT), the platform goes ahead and checks what kind of access SHOULD James have given his department, and role (Product, PM? Viewer; Engineering, SDE-1? Developer; Engineering, SDE-3? Admin) and provides it within an hour. I could speak a lot more about custom policies, roles etc but that's the direction I am taking my product. Working towards a simple phase 1 to deploy at my company.
Did you take a look at one of the chat-based queuing platforms, something like https://dibsonstuff.com people seem to use it for taking turns with servers, but it sounds a bit like it might work for your use-case too.
Hi! Congrats on the launch, I gained LOTS of great insights from your comments, particualrly the bits about diffrentiation in a crowded market.
I am building something in agentic automation space, currently it's still under development, but would love to know your journey of ideating -> building -> getting the first customer -> iterating -> and presumably getting into YC.
Am still relatively new to this (19 lol) so I got a long way, but would really appreciate any insights :)
i've yapped quite a bit in this thread already about my journey, but happy to provide any (hopefully useful) insights, you can DM me on X, mention this comment please: https://x.com/mynameisyahia
This is less of a prediction, more of how I see this industry progressing.
I really feel "web dev" is going to get highly commoditized by GenAI, by web dev I mean 99% of building CRUD-adjacent apps, we are already seeing it now with tools like Claude Code etc, this pipeline is just going to get more refined, with tigther testing feedback loops, PR-workflows and a CI/CD deployment pipeline which the GenAI will control. This might be amplified by the fact the sheer amount of tested, high quality there is in the JavaScript-ecosystem for the AI to train on and learn from.
Software engineering in general will tend more systems and embedded software, fields where GenAI can't perform well or can't be trusted to produce good code (I am thinking writing device drivers, or maintainence of legacy C applications) as well as deep research fields. The average software engineering job might be either that of a "technical product manager", or "researcher" or "low-level systems expert"
That's just what I feel. Honestly, I am probably much younger an others on this forum, so I haven't really seen this industry "evolve" this is just how it looks to me now. I believe there was a time in the early 2010s where there was a boom of this "generalist developer" where if you knew your JavaScript-ecosystem (or App Dev ecosystem for that matter) pretty well, you could land a pretty decent job right out of college, or without a college degree at all.
To me, at this stage the world in general needs software engineers who understand the "world" if that makes sense (in terms of physics, mathematics), or who have a really good mental model of computation. Better put, software engineering will become a tool in the larger context of research & development of tech that advance humanity.
Yeah, I think that's a fair point. I mean, we have SRE, which is a whole set of skillsets in itself and it does involve around maintaining "CRUD-apps"; Heck there is the cybersec industry as well, ensuring CRUD-apps aren't exploited. My para was certainly a bit more 2D, I was speaking more from what I might benefit learning now, to get a job, say end of 2026. I have observed many roles like SRE etc, require certain experience which is hard to get by working on your own projects without much traction; similiar case for cybersec but to a lesser extent.
It's this paradox where in order to become a senior engineer, you must get hired as a junior engineer, to learn and observe how production software works, but that is pretty hard these days.
> It's this paradox where in order to become a senior engineer, you must get hired as a junior engineer, to learn and observe how production software works, but that is pretty hard these days.
Yes that's true but I would argue this isn't because of AI itself. Sure it might have accelerated it but I have heard that in the 2020's a lot of people got a lot of jobs in the industry and then its that the market did feel saturated and in a sense, a lot of jobs feel this way in the economy where if someone has it, they continue having it but its becoming harder for new people to enter, there are financials reasons for this too mostly if i remember, interests rates are one of the core reasons
That being said, Even though I have used LLM's a lot, I do not agree with your opinion and I am even younger than you most likely (17)
A lot of people my age/people just going into college would use AI a lot to cheat but I will genuinely try to take it slow to learn things. I will try to use it as a learning tool and not as a crutch. Currently I am still in high school and I get ideas which I wish to implement but dont have the time because of exams so I test them out with LLM's but even I find the whole process frustrating at times and its just, maybe its me but there is a good ceiling that I can process. Some basic crud processes can definitely be in that but if your project is novel, even basic things can be hard
I will give you an example, I recently tried creating an api for proton docs which worked by having browser instances. I had two basic scripts that worked on one platform and converted them to puppeteer using LLM and after it worked, I then asked it to simply create a very basic crud api on top of it
Nope, I tried it 5-6 times on the best models on the market but they couldn't actively take two files which had read/write and have it work, either there was an issue in read or an issue in write
I am fine with the project as it is right now and I am fine with the templates it has given me and I am going to build it now on top of it
I had many ideas which could be considered basic crud apps like having a kanban app/github issues like ui on top of bitwarden after I saw a post here by simon saying how he uses github issues and that went semi-viral on hackernews
Another issue is that I think just as how sure writers and similar can generate AI generated, I feel like there would be more trust on the non AI generated code.
Personally I will try my best to create prototypes with AI and if I like them, I will see what it does and then rewrite them myself as an learning experience and also because people say spec driven development etc. but I just want to code things by hand at this point or convert the LLM generated prototypes of idea to something that I later code and understand by hand tbh (most likely when I get into college)
Why can't GenAI produce good code for embedded systems? There is nothing fundamentally different between the 2. Seems like some form of nimbyism - "AI can't do what I can because I am special" sort of thing.
The TURD acronym (Truncate, Update, Read, Delete) will become popular for taking anything human made, removing all the actual human part, consuming, and then dumping.
Advent of code is such a fantastic event. I am honestly glad it's 12 days this year, primarily because I would only ever get to day 13 or 14 before it would take me an entire day to finish the puzzles! This would be my fourth year doing AoC. Looking forward to it :)
I plan on doing this year in C++ because I have never worked with it and AoC is always a good excuse to learn a new language. My college exams just got over, so I have a ton of free time.
About 2 years back I began working on a very simple markdown compiler, it was “immediate” in that it would consume markdown and immediately spit html. That project turned into a whole static site generator called Kevlar — https://github.com/aadv1k/kevlar
Entirely built from scratch in C without any dependencies. Now I wrote this code when I was 16, so many memory leaks and generally issues that I wanted to rectify and begin using third project for my own blog (currently old version is used — https://aadvikpandey.com)
The Kevlar v3 (https://github.com/aadv1k/kevlar/tree/kevlar-v3) here is all that it includes; more spec compliant markdown AST-based parsing; A better .ini config parser (right now it’s literally strtok on ‘=‘ and generally very hacky) as well as name spacing; more powerful templating tags like IF, FOR with lisp-like configuration
Of course staying true to the spirit of “from scratch” :)
Honestly I did scope creeped a little since I mainly wanted to fix a memory leaks issue in the markdown compiler lol; anyway I will share it once it gets completed on hacker news :)
> Entirely built from scratch in C without any dependencies. Now I wrote this code when I was 16
Very few young folk are learning C; I think it is commendable that you are.
You code doesn't seem very strongly structured (to be expected, TBH) but much better than any learner would see.
What resources did you use to start learning C? I ask because it looks to me that those resources covered "how to program in C" but not so much design and structure.
Here's two links (my own blog) to get you started on one or two common C patterns designed to minimise bugs:
Hey, thanks for your comment :) I had a look at your blog, it's looks really useful and high quality! I will go through it with vim open on the side and a nice coffee
Yeah and I'd agree with your point. One BIG critique I have for my own 2-year-past code was that I did not know how to do dynamic heap allocation very well, hence you may have seen everything is stack allocated lol
(I had read "clean code" by uncle bob at the time, so I was trying to emulate clean code I saw in the book. Needless to say, pretty good example of the nuance needed when writing clean code haha)
So with the V3 release, I am re-writing the markdown compiler for instance, and being a bit more mindful of the structure
I think once I am done I will create a separate "Show HN" post to get valuable feedback (like this one!) from smarter folks than me. Once again, thanks for the fantastic blog :) will be sure to go through it
Hey, this is great :) I attempted to do something similar a while back https://github.com/aadv1k/deimos basically trying to build many of OpenCV's functions from scratch in C from first principles, though I was using stb for handling the images. I ended up putting the project on hold, primarily because I lost interest in computer vision at the time.
For a while I went deep into OCR, and built a rather rudimentary stroke width transform (https://github.com/aadv1k/swt.h) but again, the results were very hit or miss, likely because I never took the time to understand the logic behind why these functions would work.
1) Optimise many of the functions (a lot of room to use GPU, multi-threading and what not!).
2) Add new functions and improve the existing edge detection ones
I would love to know of a good resource for computer vision, the various algorithms, optimisation techniques etc.
Thanks for sharing this project! Cheers
I've been thinking about AI-assisted development for a while; I've tried out Claude's pro plan, Gemini Pro and many "top models" and I must say, this is going to create a chasm for junior/intermediate developers like myself, senior engineers reached to the point they are through deliberate practice-- interrogating code, making and breaking assertions, reading through the documentation or actually comprehending the code through the debugger or mental models. I don't "need" to do any of this. I can have an AI just spoon-feed me a large codebase in "ELI5" language, I can ask an AI about the best practices, I can have an AI look something up for me, synthesize it and wrap it up nicely for my mind to consume (equivalent to how hyper-processed junk food isn't good for our bodies either)
It's intellectual slop. It will get the job done (atleast for a while) but without the actual growth that comes along with it. When I use an AI to one-shot a "small one-off script" I don't learn anything from it (when as a relatively new developer I SHOULD be learning something from it) And this is unlike stack overflow or googling becuase you can turn off your mind, just become one of those drones from Wall-E.
I make a point to avoid using any AI for coding (even for looking things up) when working on personal projects, at the cost of "productivty" and "efficiency" , but I get to retain my humanity and soul in programming.
Sorry if this sounds cheesy, it's just I care deeply about code craftsmanship from my end, to see that skill be diminished to an random number generator? Yeah No.
First, it's good to know I am not alone in feeling that a certain world, no longer exists. This is the world where when given a problem, you would spend maybe 3-4 hours scoping it out, doing some research, maybe drawing up some diagrams and then jumping into the code. Coding itself was a necessary part of this process, where it was meditative. You were in this zone between deep and shallow work. It's odd to "reminisce" about coding as if it was such a beautiful thing, in reality it was hard. Required a lot of elbow grease, but it was fulfilling (I wrote 10k LoC over 2 weeks, it isn't about LoC as a metric of good code, it was more about the effort put in felt really tangible)
The world today, is fundamentally different. Today coding is really cheap, even disregarding the best SOTA models, OSS models are catching up in how consistent of an output they produce. Note the word "consistent", I won't say the code wirten by Opus or Sol is "good", but it's consistent enough to where with the right infrastructure around it (aka harnesses) you can get it to work really well.
2 years back, saying "LLMs don't produce good code" was objectively true. They were good for maybe a function, heck I remember AI straight up producing incorrect logic. Today with the right context, the "code quality" (interestignly, quality is a human metric, maintainability would be more apt, and the cost of building a change) is upto par or even better than what I would write on the first iteration.
Given that the cost of coding is now 0, my job becomes to solve problems, in the best way possible, WHILE directing the HLD/LLD of the system to understand the limitations of what I have built. The latter, I only do because it's much faster knwoing a limitation in a codebase than having an agent "recongize" it through a bunch of tests, and loops (it's cheaper too) -- THAT is where my experience really shines, knowing which patterns to apply to what problem and expect what results. Heck, we live in a time, where I can trivially have an LLM run experiments to quantify 3 other approaches at the same time.
Fundamentally what I do, is managing context, scoping problems & requirements, understanding limitations and directing the codebase (again, also drawing from experience, since an LLM may arbitiarily do something which leads to increasing entropy in the codebase)
Think of it like this; If software engineer, was like maintaing a garden, then 5 years back the process was -- think about how you want your garden to look, with this in mind begin planting the right seeds, pruning the bushes, weeding the overgrowth. Today, I have robot to do all that stuff for me, that leaves me a WHOLE lot of time to plan out my garden, thus, today, I can maintain an entire ecosystem instead of a garden. Not the best analogy, but it models my fear of the LLM not "pruning it right" when in the grand scheme of things, it may not matter at all.
Whew, that was long. I just wanted to get my thoughts out haha