With LLM, my productivity suddenly went up x25 and was able to produce at a speed that I had never known. I'm not a developer any more, instead feels like project manager with dedicated resources always delivering results. It isn't perfect, but when you are used to manage teams it isn't all that different albeit the results are spectacularly better.
My x25 isn't just measured on development, for brainstorming, documentation, testing, deployment. It is transformative, in fact: I think software is dead. For the first time I've used neither a paper notebook nor even an IDE to build complex and feature-complete products. Software isn't what matters, what matters is the product and this is what the transformation part is all about. We all here can write products in languages we never had contact with and completely outperform any average team of developers doing the same product.
Replaces the experts and domain specific topics? Not yet. Just observe that the large majority of products are boringly simple cases of API, UI and some business logic inside. For that situation, it has "killed" software.
The code is written in Dart and never wrote a line of DART in my life, I'm a veteran expert around Java, C++. The reason for choosing DART is simply because it is way readier for multi-platform contexts than Java/C++. The same code base now runs on Linux, Android, iOS, OSX, Windows and Web (as static HTML). Plus the companion code in C++ for ESP32 microcontrollers. It also includes a CLI for running as linux server.
Don't ask me for a hard analysis and data proving x25 performance increase, what I know is that an off-grid product was previously taking me two years of research/effort to build in Android/Web and get a prototype running. Now in about a month went far above all previous expectations (cached maps with satellite imagery, bluetooth mesh, webRTC, whatever apps) and was able to release a product several times per day that works as envisioned. Iterating quickly and getting direct feedback from users.
The repository: https://github.com/geograms/geogram
Overview of the apps being written: https://github.com/geograms/geogram/tree/main/docs/apps
IMHO, Codex is far superior at the moment for complex tasks, Claude is cheaper and still good enough quality for most tasks. In addition to keep several terminals with tasks in parallel, this gives me time throughout the day for other tasks with family/friends and a lot of motivation like a coding-buddy to try different routes and quickly implement a prototype instead of always being alone doing this kind of work. For example, it added an offline GPT bot but wasn't what was needed so could quickly discard it too.
These tools get lost on API implementations and the documentation folder is mostly there to provide the right context when needed. I've learned to use simple markdown documents with things to keep in mind like "reusable.md" or "API.md" to make sure it won't reinvent them. Given my experience, there are parts that I'd implement with higher quality on my own, the trade-off is that I can't touch the code by myself now. One of the reasons is that it would make more difficult for these AI to work since my naming and file structure would make it difficult for the AI to work with, the other reason is because I don't want to waste a full day on a single problem like before. As the product grows more stable is when more attention is given to the finer details. On early stages, that type of quality is still more than good enough for me.
You can try the Android or Linux versions if you are so inclined. Never in my life would I ever be able to build so much in 5 weeks.
Quite ambitious.
Is this an LLM hallucinating? taking a break from coding? or leaking your personal desktop session?
Ha! In any case, I'm happy to see I'm not the only one compulsively "ls-ing" all over the place in every terminal I open :)
Had some fun and added some CLI dungeon and dragon games inside. Will put that file on the .ignore list. Basically the games are based on markdown text files: https://github.com/geograms/geogram/blob/main/games/azurath-...
I've answered in more detail on the other reply below on the conversation. Thank you for spotting that.
> Would you describe this product as a whole application suite
The rabbit hole goes even further. The reason why callsigns are used is because geogram can happily communicate using radio-waves on walkie-talkies without internet at all. On the previous iterations (before AI) it was sending free SMS using walkie-talkies and satellites (APRS), this current incarnation should soon be doing the same things too. A presentation from two months ago: https://www.youtube.com/watch?v=Nb_VUSaNw8k
This is a niche app, written for our community in Portugal to connect with each other.
I don't believe people will spend time looking at the code beyond the small blurbs they can read from the command line while talking with the AI, so I agree with you that it ends being treated as a blackbox.
Did an experiment for a server implementation in Java (my strong language), gave the usual instructions and built up the server. When I went to look into the code, it was a far smaller and more concise code base than what I would write myself. AI is treating programming language on the level of a compiler for javascript, it will make the instructions super efficient and uses techniques that on my 30 years experience I'm not able to pair-review because we tend to have our own patterns of programming while these tools use everything, no matter how exotic they will use it to their advantage.
After that experience I don't look at generated source code any longer. For me it is becoming the same as trying to look at compiled binary data.
You'll get a lot further and faster than you'd expect.
Things will probably plateau as you master the new tech, but it's possible you'll not write a ton of code manually along the way.
Oh, your general software development experience should help with debugging the weird corner cases.
I imagine it's really hard to do this with 0 software dev experience, for example. Yeah, you'll build some simple things but you'll need and entire tech education to put anything complex in prod.
Either way it’s been a fun ride.
I wrote this up a bit ago in my essay fragments collection. It's rough and was just a thought I wanted to get down, I'm unsure of it, but it's at least somewhat relevant to the discussion here:
LLM or LLM-adjacent technology will never take over the execution of work in a way that approaches human where humans continue to guide (like PMs or C-suite just "managing" LLMs).
The reason is that spoken language is a poor medium by which to describe technical processes, and a well-enumerated specification in natural language describing the process is at-least synonymous with doing the work in skilled applications.
For example, if someone says to an LLM: Build a social media app that is like Tinder but women can only initiate.
... this is truly easily replicatable and therefore with little real business value as a product. Anything that can be described tersely that is novel and therefore valuable unfortunately has very little value practically because the seed of the short descriptor is sort of a private key of an idea itself: it will seed the idea into reality by labor of LLMs, but all that is needed for that seed's maturation is the original phrase. These would be like trade secrets, but also by virtue of something existing out there, its replication becomes trivial since that product's patterns are visible and copyable.
In this way, the only real outcome here is that LLMs entirely replace human labor including decision making or are tools to real human operators but not replacements.
Consider "Uber, but for X"
This wasn't a thing you could deploy as a term pre-Uber.
I'm not sure what this means for your analogy, but it does seem important. Somehow branding an idea reifies a ... callable function in? ???
Maybe something like (just spitballing)
The specification-length needed for a given idea isn't fixed - it's relative to available conceptual vocabulary. And that vocabulary expands through the work of instantiation and naming things?
Which maybe complicates the value story... terseness isn't intrinsic to the idea, it's earned by prior reification work?
Hmm
Basically it seems that "Like Tinder but" is doing a lot of lifting there... and as new patterns get named, the recombination space just keeps expanding?
Yeah, this feels right. It's like a process of condensing: new ideas brought to life condense metaphors into more compact forms and so make language more dense and expressive. This idea reminds me of Julian Jaynes's description of metaphor condensation in Origin of Consciousness.
A lot of hard work goes into novel products, but once that work has been proven, it is substantially more trivial for human or machine to copy. Groping around in the darkness of new, at the edge of what-could-be is difficult work that looks simple in hindsight to others who consider that edge a given now.
> The specification-length needed for a given idea isn't fixed - it's relative to available conceptual vocabulary. And that vocabulary expands through the work of instantiation and naming things?
Yeah, I think that naming and grouping things, then condensing them (through portmanteau construction or other means) is an underrated way to learn. I call this "personal taxonomy," and it's an idea I've been working on for a little bit. There is just tremendous value in naming patterns you personally notice, not taking another person's or group's name for things, and most importantly: allow those names to move, condense, fall away, and the like.
I left out a piece of my fragment above wherein I posit that a more constrained form of natural language to LLMs would likely lead to better results. Constraining interaction with LLM to a series of domain-specific metaphors, potentially even project specific givens, might allow for better outcomes. A lot of language is unspecific, and the technical documents that would truly detail a novel approach to an LLM require a particularly constrained kind of language to be successful where ambiguity is minimized and expressiveness maximalized (legal documents attempt at minimal ambiguity). I won't go into details there, I'm likely poorly reiterating a lot of the arguments that Dijkstra made here:
https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667...
Personally I don't think they're a great fit for the software industry where the nature of the job and the details are continuously changing as technology evolves.
The fundamental point of the union is to be able to negotiate as a group. That is valuable regardless of the industry.
- paternity leave
- overtime
- not having to answer a call or email outside of work hours
- workman’s comp / short/long-term disability for issues with my back or wrists or eyes or…
- about 100 more things
It's not just the labor regulations holding Europe back, it's the lack of funding due to not having a unified European digital market.
Netflix Europe needs to have 20+ licensing deals. Selling across Europe at a large scale requires interactions with 20+ legal teams. Language and cultural barriers kill a lot of things.
How do US giants thrive in Europe, then?
Because they come in directly giant-sized based on growth in the US. They either ignore European legal compliance until sued or pay peanuts for them to handle all the legal aspects.
I wonder if there is a difference in context that explains why we might disagree. I'm in Australia where I think it's politically easier to "add" broad top level protections for all workers than it would be in the US.
1. Like most labor organizing, I think this would be beneficial for software engineers, but not long-term beneficial for the world at large. More software that is easier to make is better for everybody.
Would you still want to live in a world where your elevator stops working when the elevator operator is sick, or where overseas Whatsapp calls cost $1 per minute, because they have to be connected by a chain of operators?
2. Software engineering is a lot easier to move than other professions. If you want to carry people from London to New York, you need to cater to the workers who actually live in London or New York. If you want to make software... Silicon Valley is your best bet right now, but if SV organizes and other places don't, it may not be your best bet any more. That would make things even worse for SV than not organizing. Same story applies to any other place.
Sure, companies won't more overnight, but if one place makes it too hard for AI to accelerate productivity, people will either go somewhere else, or that place will just end up completely outcompeted like Europe did.
> your elevator stops working when the elevator operator is sick
Can you point somewhere outside of US where this is the case with unions?
When dockworker's unions are able to prevent port automation, is that beneficial to society?
People could be directly in the middle of losing their own job or taking on the responsibilities of 5 other laid-off coworkers, and they would still ask "what could a labor union possibly do for me??"
“I don’t need a union, I can negotiate my wages and working conditions just fine on my own”
Never lived in the US, where I assume you are from. It's the same country that contrary to most countries, does not have May 1st as a Holiday. Same country that has states with at will employment, etc etc.
unreal? nope, totally coherent and expected.
I really don't get it -- is it that people think these technologies will be so transformative that it is most moral to race toward them? I don't see much evidence of that, it's just future promises (especially commensurate with the benefit / cost ratio). When I do use this tech it's usually edutainment kind of curiosity about some subject matter I don't have enough interest in to dive into--it's useful and compelling but also not really necessary.
In fact, I don't really think the tech right now is at all transformative, and that a lot of folks are unable to actually gauge their productivity accurately when using these tools; however, I do not believe that the technology will stay that way, and it will inevitably start displacing people or degrading labor conditions within the only economically healthy remaining tranche of people in America: the white collar worker.