12 ms·
Now might be the best time to learn software development
- nathanfig 1y agoHi all - I write a lot for myself but typically don't share, hence the stream-of-consciousness style. But I thought this might be worth blogifying just for the sake of adding some counter-narrative to the doomerism I see a lot regarding the value of software developers. Feel free to tear it apart :)
- randfish 1y agoThought it was great. Thanks for writing and submitting!
- nathanfig 1y agoThanks!
- layer8 1y agoThe humor was refreshing. :)
- tasuki 1y agoI clicked only because I disagreed with the title. What a joy of an essay!
- jaza 1y agoPlease share your writings more often. Nuclear attack combines, bring it on!
- jonstewart 1y agoMost blog posts by devs these days are stultifying in their literal earnestness. Thanks for some sly sarcasm.
- jmcpheron 1y agoI thought this was great writing, I assumed you are some long time development blogger. I hope you post more.
- waffletower 1y agoThis call for arms reminds me of https://www.braveclojure.com/ https://www.braveclojure.com/ which was also a definite inspiration for me.
- nathanfig 1y agoI also remember this! Maybe a subconscious influence
- karczex 1y agoIt's like "we invented Fortran so there will be no need for so many developers"
- nathanfig 1y agoAn interesting parallel because there were undoubtedly some people who worried we would lose something important in the craft of instruction-level programming, and almost certainly we have in relative terms. But in absolute numbers I am confident we have more low-level programmers than we did before Fortran. And if I were to jump into instruction-level programming today I would start by asking an LLM where to begin...
- marcosdumay 1y agoFortran was a much larger jump in productivity than agentic coding...
- KurSix 1y agoYet here we are, with more demand for developers than ever
- SeanDav 1y ago>> "ChadGPT" There actually is a ChadGPT but I assume the OP meant ChatGPT
- nathanfig 1y agoOh I should have known - yeah I was just being facetious
- freekh 1y agoNice article! Reflects my views as well!
- deleted 1y ago[deleted]
- dehrmann 1y agoThe farming quote is interesting, but one of the Jevons paradox requirements is a highly elastic demand curve, and food is inelastic. The open questions right now are how much of a demand is there for more software, and where do AI capabilities plateau.
- giraffe_lady 1y agoReported numbers vary but household food waste seems to be fairly high in developed economies, so food demand might be more elastic than intuition would expect.
- kwk1 1y agoPerhaps we should say something like "food demand has an elasticity floor."
- giraffe_lady 1y agoFor sure.
- dredmorbius 1y agoI've seen consistent values for food waste reported for at least the past 40 years, if not the past 80, in various sources. I suspect it's something of a constant. One observation I've seen is that food wastage now occurs far later in the processing cycle, which is to say, after far more resources (transport, processing, refrigeration, cooking) have been invested in it. In the long term, food demand is elastic in that populations tend to grow.
- jimbokun 1y ago> in that populations tend to grow. That's no longer happening.
- fivestones 1y agoI thought that world wide on average populations were still growing quite a bit
- psunavy03 1y ago"Great news, boss! We invented this new tool that allows nontechnical people to write code in English! Now anyone can deploy applications, and we don't have to hire all those expensive developers!" "Wow, show it to me!" "OK here it is. We call it COBOL."
- glimshe 1y agoYou're joking but it's true. I'm sure you know that. SQL had similar claims... Declarative, say what you need and the computer will do for you. Also written in English.
- rixed 1y agoOr QBE, "Query By Exemple", that was another try by IBM to make a query language directly usable by anyone.
- ako 1y agoAnd compared to what we had before SQL, it is much easier to use, and a lot more people are able to use it.
- ameliaquining 1y agoIs that really because of the English-esque syntax, rather than because it was a step forward in semantic expressivity? If SQL looked like, say, C#'s LINQ method syntax, would it really be harder to use?
- 9rx 1y ago> Is that really because of the English-esque syntax Well, what we had before SQL[1] was QUEL, which is effectively the same as Alpha[2], except in "English". Given the previous assertion about what came before SQL, clearly not. I expect SQL garnered favour because it is tablational instead of relational, which is the quality that makes it easier to understand for those not heavy in the math. [1] Originally known as SEQUEL, a fun word play on it claiming to be the QUEL successor. [2] The godfather language created by Codd himself.
- yodsanklai 1y ago> What do you do while awaiting the agents writing your code? I browse the web. Eventually, I review the agent code and more often than not, I rewrite it.
- abalashov 1y agoI'm not sure if I agree with every aspect of the framing here; specifically, I don't think the efficiency gains are anywhere on par with a combine harvester. However, I do agree that the premium shifts from mere "coding" ability -- we already had a big look into this with the offshoring wave two decades ago -- to domain expertise, comprehension of the business logic, ability to translate fluidly between different kinds of technical and nontechnical stakeholders, and original problem-solving ability.
- nathanfig 1y agoYeah I think the combine-harvester analogy is tempting because it's so easy to visualize how wheat can scale over a big square field and project that visual onto lines of code generated on a big square screen... forgetting that lines-of-code-generated is not inherently useful.
- emseetech 1y agoUpwork is already filling up with people who have vibe-coded their way into a pit and need experienced developers to pull them out.
- billy99k 1y agoYou can find good contract on Upwork, but you need to go through lots of bad ones. I find around 5 good contracts there per year. I find that even when a client agrees on a rate, Upwork has the reputation of finding inexpensive workers, and you will get many clients trying to pay you less. I'm also a bit tired of running into people that are 'starting a contracting firm' and have 0 clients or direction yet and just want to waste your time.
- nathanfig 1y agoReally! That could make for some really interesting stories. Fascinating to think of LLMs as a customer acquisition pipeline for developers.
- platevoltage 1y agoI've snagged at least one of them.
- alganet 1y ago> and now with far greater reach and speed than ever before I heard that before. Borland Delphi, Microsoft FrontPage, Macromedia Flash and so on. I learned how in 5 years or so, these new technologies would dominate everything. Then I learned that two scenarios exist. One of them is "being replaced by a tool", the other is "being orphaned by a tool". You need to be prepared for both.
- nathanfig 1y agoYes, if you built your career on FrontPage you have probably had a bad time. Many such cases. That said, even if the specific products like Cursor or ChatGPT are not here in 5 years, I am confident we are not going to collectively dismiss the utility of LLMs.
- alganet 1y agoI can see it being useful for summarization, or creative writing. What makes you so sure that LLMs will be useful _for programming_ in the long run?
- nathanfig 1y agoBecause they are already useful for programming and unlikely to get worse!
- alganet 1y agoWe're not getting anywhere with your answer. All tools I mentioned before were useful for programming. They didn't got worse. Still not enough to keep them relevant over time. I chose those tools as an example precisely because, for a while, they achieve widespread success. People made awesome things with them. Until they stopped doing it. What brought their demise was their inherent limitations. Code by humans on plain text was slower, harder, but didn't had those inherent limits. Code by humans on plain text got better, those tools didn't.
- rsynnott 1y ago
- temporallobe 1y agoEssentially it’s the same as it always was. Back in the day, Low-code or No-code solutions implemented by non-technical people have always resulted in engineers having to come in behind them to clean up their mess. I’ve had quite the lucrative career doing just that.
- nathanfig 1y agoYeah, with current-state AI I foresee more such opportunities.
- Ekaros 1y agoI think I will have good while in security. That is pointing all the mistakes and faults... And telling why something AI came up might not fully solve the problem. So much room left. As I doubt every developer will double check things every time by asking.
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- jaza 1y agoHahaha... so ChatGPT-generated Node / React apps is the new Excel with VBA macros!
- ramesh31 1y ago>Hahaha... so ChatGPT-generated Node / React apps is the new Excel with VBA macros! Maybe, but also "Excel with VBA macros" has generated an unimaginable amount of value for businesses in that time as well. There's going to be room for both.
- hollowturtle 1y ago> LLMs really are like combine harvesters; allowing one to do the work of many. Heck I'm so tired of statements like this, many who? It's already a lot an LLM that automate/help the boring/tedious part of my job, I have yet to see taking over 2, 5 or 10 of my collegues, just knowing what a hawful lot these tiredlessly dudes do I couldn't ever imagine doing also their job. imo such statements have very short shelf life
- rossdavidh 1y agoAll of this is good reason that orgs _shouldn't_ be laying off developers, but none of it is a reason that they won't/aren't. In any case, I see more "if they're remote why can't they be on the low-wage side of the planet" at the moment, than I do "use AI instead of a developer", although they are no doubt related. The more awkward truth is that most of what developers have been paid to do in the 21st century was, from the larger perspective, wasted. We mostly spent a lot of developer time in harvesting attention, not in actually making anything truly useful.
- MichaelZuo 1y agoHow does that follow…? Most organizations do derive net benefit from laying off the below average and hiring the above average for a given compensation range, as long as the turnover is not too high. And this delta increases when the above average can augment themselves more effectively, so it seems we should expect an even more intense sorting.
- michaelteter 1y agoHaving experienced several overhyped corporate knee-jerk (and further press-amplified) silver bullets, I expect this will play out about as well as the previous ones. And by that, I mean corps will make poor decisions that will be negative for thought workers while never really threatening executive compensation. I see this latest one somewhat like TFA author: this is a HUGE opportunity for intelligent, motivated builders. If our jobs are at risk now or have already been lost, then we might as well take this time to make some of the things we have thought about making before but were too busy to do (or too fatigued). In the process, we may not only develop nice incomes that are independent of PHB decisions, but some will even build things that these same companies will later want to buy for $$$.
- dotancohen 1y agoI've already started. I've been recording to myself voice notes for years. Until now they've seemingly been near-read-only. The friction for recording them is often low (in settings where I can speak freely) but getting the information out of them has been difficult. I'm now writing software to help me quickly get information out of the voice notes. So they'll be useful to me too, not just to future historians who happen upon my hard drive. I would not be able to devote the time to this without AI, even though most of the code and all the architecture is my own.
- ak-47 1y agoFor 3 years I've talked to a Philips VoiceTracer & bundled audio for a 1-time listen 3 months later. On occasion I've used Otter or Whisper with some success. Please let me know if you open source any of your work.
- dotancohen 1y agoI'd love to hear about your workflow. Do you transfer the files to your computer? Do you ever/often listen on the VoiceTracker? How do others respond to you making recordings? Do you organise the recording files into folders? Use filesystem tags (KDE Dolphin, etc) or symlinks? Ever have files on the computer that you needed when you're out (with the phone)? How well do Otter and Whisper transcribe? Do you edit the transcriptions? How do you store the transcriptions? Do you ever search them? Do you store additional notes alongside the transcriptions and audio files? Do you ever bookmark specific files? Specific timestamps in files? How long is your typical voice recording? How long are the 98th percentile long ones? How many recordings do you produce on average (per day, week, month)? Do you ever erase recordings? What type of recordings? Reminders of things that are time sensitive (e.g. appointment dates)? Things for long-term archival (e.g. records of automotive maintenance)? Use it to assist in habit changing (recording diet) or mental health? Yes, I intend to place the project on GitHub, probably GPL. Though I might consider MIT, I would actually love if somebody took off with it and made a business. I'd be a customer!
- fuzztester 1y ago[flagged]
- rr808 1y agoThe management at my corporate job literally say in our townhalls that they expect AI to increase productivity and reduce costs. Makes logical sense to me, the glory days of high wages are over.
- vincenthwt 1y agoAre you talking about the high wages of software engineers or management? Makes sense to me— the glory days of high management and CEO salaries are over.
- nathanfig 1y agoReduced costs does not necessarily equal reduced wages, but I see what you're saying. As others have pointed out, making cameras more accessible made photography more competitive. It may be in the end that software developers make less money even as more jobs become available.
- NoPicklez 1y agoMy take just purely based on the title, I'm in the security space not a developer but I did study it during my degree. I would say that when the fundamentals are easier to learn it becomes a great time to learn anything. I remember spending so much of my degree during software development trying to fix bugs and have things explained by trawling through online forums like many of us have. Looking for different ways of having concepts explained to me and how to apply them. LLM's give us a fairly powerful tool to act as a sort of tutor in asking questions, feedback on code blocks, understanding concepts, where my code went wrong etc. Asking it all of the dumb questions we go trawling for. But I can't speak to how this translates when you're a more intermediate developer.
- el_benhameen 1y agoI have found them quite helpful in the same way. I can bounce ideas off of them or say “here’s my understanding of this; in what ways am I incorrect?”. I don’t trust them to have pinpoint accuracy on complex problems, but given the way they’re trained, I do trust them to be directionally correct. That makes getting past hangups faster and leads me to ask more, better questions of myself, which I think means I learn faster.
- KurSix 1y agoYep, once you hit intermediate and beyond, I think it shifts more to using them as an accelerant
- deleted 1y ago[deleted]
- agentultra 1y agoIf you’re going to use LLMs to learn software development, great! Welcome! Just, don’t skip out on learning the fundamentals. There’s no royal road to knowledge and skill. No shortcuts. No speed running, downloading kung fu, no passing go. Why? Because the only thing LLMs do is hallucinate. Often what they generate is what you’re looking for. It’s the right answer! But if you don’t know what and L1 cache is or how to lay out data for SIMD; no amount of yelling at the bot is going to fix the poor performance, the security errors, and the logic errors. If you don’t know what to ask you won’t know what you’re looking at. And you won’t know how to fix it. So just remember to learn the fundamentals while you’re out there herding the combine space harvesters… or whatever it is kids do these days.
- irrational 1y ago> and historical romance novels will rightly remember us as rugged and sexy. Damn straight we are.
- revskill 1y agoThe hardest part is debugging.
- ed_mercer 1y agoIn theory one should be able to hand this over to a MCP debugging server.
- jplusequalt 1y agoSoon enough you'll be able to hand over your thinking to the MCP thought server.
- everyone 1y agoI learned programming in 2013, I was asking questions on stack overflow constantly while learning, people there were super friendly and supportive and answered my questions. SO was pivotal for me learning so fast.. Ive been a game programmer ever since.. This year I learned web-dev and made my 1st commercial web app. SO is totally dead though, utterly useless these days, but I used chatGPT to fill the same role and it worked great. Its a shame about SO though.
- nathanfig 1y agoAnd worrying. LLMs don't fed themselves, we need people to continue sharing solutions. I've contributed some popular answers on SO myself and am happy that an LLM can use that in its training, but rarely go to SO myself anymore.
- guicen 1y agoIn fact, in my opinion, one of the benefits of AI tools that is often overlooked is "psychological support". When you are stuck at work, it will give you a push. Even if it is not completely right, it is enough to get you moving. The feeling of "no longer fighting alone at work" is actually more important than many people think.
- pyman 1y agoI asked my students to write a joke about AI. Sometimes humor is the best way to get people to talk about their fears without filters. One of them wrote: "I went to work early that day and noticed my monitor was on, and code was being written without anyone pressing any keys. Something had logged into my machine and was writting code. I ran to my boss and told him my computer had been hacked. He looked at me, concerned, and said I was hallucinating. It's not a hacker, he said. It's our new agent. While you were sleeping, it built the app we needed. Remember that promotion you always wanted? Well, good news buddy! I'm promoting you to Prompt Manager. It's half the money, but you get to watch TikTok videos all day long!'" Hard to find any real reassurance in that story.
- dakiol 1y agoWhy do we assume that Prompt Engineering is going to pay less money? As usual, what one brings to the company is value, and if AI-generated code needs to be prompted first and reviewed later, I don’t see how prompters in the future could earn less than software engineers now. Prompt engineering is like singing: sure thing everyone can physically sing… now whether it’s pleasant listening to them is another topic.
- chii 1y ago> Prompt engineering is like singing i think you got the analogy wrong. Not everyone can sing professionally, but most people can type text into a text-to-speech synthesis system to produce a workable song.
- 1y ago
- Leo-thorne 1y agoNow really feels like a good time to start learning how to code. I used to get completely lost reading documentation, but with Copilot, I just type a few lines and it helps fill in the logic. It feels like having a more experienced person sitting next to me. That said, I still try to figure out the logic myself first, then let AI help polish or improve it. It is a bit slower, but when something breaks, at least I know why. AI has definitely lowered the barrier. But whether you can actually walk through the door still depends on you.
- nathanfig 1y agoYeah in fact I think we are going through some major upheaval in development practices because we haven't yet figured out what constraints to put in our use of AI, and so plastering it everywhere we trip ourselves up. It took a while to figure out that private members were useful and GOTO is harmful despite how tempting it might be. I think similarly we will find that using AI to take shortcuts around design is mostly harmful, but using it to fulfill interfaces is brilliant. Eventually a set of best practices will evolve.
- boxed 1y ago> And like mechanized farm equipment, LLMs are cheap, plentiful, getting smaller every day, and- most importantly- require no training to operate. I... assume that was meant sarcastically, but it's not at all clear from context I think.
- ByteDrifter 1y agoReading this reminded me how much the learning curve is flattening. You can now learn by doing and debugging AI output. That’s a very different entry point from five years ago. Less lonely, more interactive.
- nathanfig 1y agoI think that's a big part of what makes this era so much fun - the interactivity tailored to my capability. I feel like I'm 13 again discovering I can write HTML and feeling that giddy delight when I try something and it just works.
- eqvinox 1y agoMetaphors are fun, they "feel" meaningful, but… you still need to back that up. > mechanized farm equipment Sure, that could be a valid analogy. Or maybe we invented CAD software for mechanical engineering, where we were making engineering drawings by hand before? And that doesn't quite ring the same way in terms of obsoleting engineers…
- somethingreen 1y agoNow might be the last time to learn software development.
- KurSix 1y agoLLMs are amazing tools, but they don't (yet) replace deep understanding or critical thinking. And yeah, it is a super fun time to be learning/building.
- wohoef 1y ago“The only weights I use are at the gym” Lol
- mobiuscog 1y ago> The day we stop valuing human contribution is the day alignment has failed. Unfortunately, that's many businesses already, even before AI. It's all just one big factory line. Always has been (to those at the top).
- nathanfig 1y agoYeah, the social problem of "how do we use technology well" persists.
- spacecadet 1y agoEngineering problems are human problems. For now I guess? I saw a missinfo headline recently to the toon of, "AI is after all the water in X country" and I thought about the Anthropic paper where the model blackmailed the engineer. And then the Matrix. Cry, lol?
- giantg2 1y agoThis article seems to ignore the 6% sector unemployment, massive layoffs, and the terrible interview processes.
- nathanfig 1y agoI'm finding 2.4% unemployment rate for software developers: https://money.usnews.com/careers/best-jobs/software-developer https://money.usnews.com/careers/best-jobs/software-develope... Regardless of the true number, you're right that no amount of reasoning on paper "why" we should be employed matters if the reality is different; which it clearly is for a lot of people. Reality decides in the end. A more accurate title might have been "Why AI is a reason to become a software developer" - since the topic I discuss is entirely AI and its effects on the field, and there might be entirely non-AI reasons for not going into software.
- giantg2 1y agoI'm not sure how old your link is. A basic search is showing multiple sources from this year indicating the rate is more than double that 2.4 number.
- ramesh31 1y ago>Now might be the best time to learn software development Always has been.
- deleted 1y ago[deleted]
- clpmsf 1y agoI don't think that now is the best time to learn software development, but I do think that now is the best time to learn computer science.
- nathanfig 1y agoCan you elaborate? I might agree, I'm just curious what you mean.
- adregan 1y agoHere are my 2¢ on using AI at work. I’m using Claude code and my typical tmux/neovim setup. 1. I use AI to find my way in a sprawling micro(service|frontend) system that I am new to. This helps cut down massively on the “I know what to do, I just can’t figure out where.” I started a new job where everyone has years of context as to how things fit together and I have none. I feel strongly that I need to give an honest effort at finding things on my own before asking for help, and AI certainly helps there. 2. Anything I stumble upon in a dev/deployment process that leans too heavily into the “good behavior/hygiene,” I try to automate immediately for myself and then clean up to share with the team. In the past, I might have tried to adopt the common practice, but now it’s less effort to simply automate it away. 3. There is value in using AI in the same manner as I use vim macros: I use the planning mode heavily and iterate like crazy until I’m satisfied with the flow. If the task has a lot of repetition, I typically do the first one myself then let the AI take a whack at one or two. If I don’t like the process, I update the plan. Once I see things going smoothly, I give the AI the ok to finish the rest (making atomic commits so that it’s not just one big ball of wax). This is pretty similar to how I record macros (make one change yourself, record the macro on the next line, test it out for a line or 2, re-record if necessary, test again, plow through the rest). 4. When I come across something that needs to be fixed/could be improved but isn’t related to my task at hand, I do a few minutes of research and planning with the AI, and instead of coding a solution, we create a todo document or an issue in a tracking system. This wasn’t happening before because of the context switching required to write good documentation for later. Now it’s more of the same thing but akin to a dry run of a script. 5. I can quickly generate clear and easy to read reports to allow other teammates to give me feedback on work in flight. Think about a doc with before and after screenshots of changes throughout an app produced by a playwright script and a report generator that I can rerun in under a minute whenever I want. I’m finding that I really enjoy the skipping the tedious stuff, and I’m also writing higher quality stuff because I have more bandwidth. It helps me collaborate more with my non dev peers because it lowers the barrier to sharing. Important to note that in my experimenting, I haven’t had great luck with winding it up and setting it loose on a task. Too often it felt like being a junior engineer again, doomed to throw spaghetti at the wall. Once I started using AI as an assistant, I felt things really started to click. Software development is about writing code, but it’s about a lot of other things too. It’s nice when the AI can help write code, but it’s fantastic when it helps you accomplish the other things.
- bentt 1y agoOne thing that every working dev needs to realize, for their benefit, is that the AI gold rush is leading many, many companies to find ways to trumpet their use of AI for no other reason than to please investors. After all, if it's the big new thing, then of course you need to get on the train or get left behind. Investors are very important. They can provide money. Companies need money. We might think, "Yeah, but so many of these dumb AI corpo-initiatives are doomed to fail!" and that's correct but the success/fail metric is not based on whether the initiatives' advertised purpose is effective. If investors respond positively in the near term, that's success. This is likely why Logitech embedded AI in their mouse software (Check and see if Logi+ AI Agent is in your task manager) https://news.logitech.com/press-releases/news-details/2024/New-Logi-AI-Prompt-Builder-Software-Fast-Fluent-Fluid-AI-Access-For-Free/default.aspx https://news.logitech.com/press-releases/news-details/2024/N... The near term crash (which will happen) in AI stuff will be because of this dynamic. All it means is that phase one of the grift cycle is completing. In the midst of this totally predictable, repeatable process, a dev's job is to get gud at whatever is truly emerging as useful. There are devs who are showing huge productivity gains through thoughtful use of AI. There are apps that leverage AI to do new and exciting things. None of this stuff happens without the human. Be that human!
- meansob 1y ago[dead]
- meansob 1y ago[dead]
- sdellis 1y agoI have been doing Object Oriented Programming for 25 years, but am now learning a new framework that uses a functional language. So, while I have lots of experience with code, I'm very new to this paradigm. I thought that AI could help me learn it and have tried a variety of approaches. I have found that it is just absolute crap. It is worse than hype, it lies about what you are able to do. I spent a day with ChatGPT trying to figure out how to resize a browser window in a feature test until it finally told me after hours of confident explanation, that it is impossible to do at the moment. Um, that would have been great information to have 8 hours ago! Not only does it lie to you, but AI slop is literally destroying the Internet. Please do not try to learn software development from AI. There are plenty of great ways to learn. Maybe your experience is or will be different, but I value my time and AI does nothing but waste mine.
- tom_m 1y agoI agree. AI is an amazing tool to learn. The problem is, few want to. They think they can just hit the "easy button" and become the first "solo-unicorn." The hype train, doomers, and fantasy stories on all this is mind bending. Dangerous too. We'll see a catastrophic global security incident (or two) before it calms down. Yes, it is an absolutely good time to be learning.
- djmips 1y agoNow might be the best time to re-learn software development.
- arisAlexis 1y agountil when the cope of "it's just a tool" ? time to face our biases. I am a dev too. be honest.