Ha! I started my career in a company where I had to pump out custom web apps as fast as humanly possible. The apps were successful, and then I had to maintain them for several years. That's where the real learning occurred. I learned the cost of every one of my shortcuts and poor design decisions the hard way.
Many years ago, some famous developer said, "Always write your code as if the person who's going to maintain it is a violent psychopath who knows where you live." As I fixed my poor design choices one by one over endless late nights, I sometimes felt the anger of a violent psychopath toward the former, ignorant me who had stupidly plagued current me with all these problems.
When you learn the hard way, you know exactly why good design decisions are considered good. In later jobs, one of my fundamental goals for every new project was "I never want me or anyone else to have to answer a 3 a.m. call about why this system isn't working."
I've been publishing print and ebooks since 2015, and I can attest to the fact the Word to PDF X-1/a to epub/kindle pipeline is painful. Making minor edits after publication is also painful, as the author notes, and can be error prone if you fail to make identical changes to all formats.
The problem was bad enough that I built by own markdown to HTML to PDF/X-1a processor using Python, WeasyPrint, and ghostscript. This also allows me to use git for version control, and I can make formatting changes using vanilla CSS. My tools are currently too crude for the average non-tech writer to use, but they save me hours every time I use them.
For any of you hackers out there looking for an untapped market, try making a user-friendly tool that converts Word, PDF and/or similar formats to the print-ready PDF/X-1a, PDF/X-3 and PDF/X-4 formats. At the moment, all the existing tools are proprietary and expensive, and many are difficult to use. This won't be a big money maker, but it will certainly be welcome by many indie authors.
> ... markdown to HTML to PDF/X-1a processor using Python, WeasyPrint, and ghostscript.
I've been converting HTML to PDF by running WeasyPrint (latest version) with options I hoped were sufficient to satisfy the X-1a rules -- can it not quite do that? Is that why you need ghostscript?
I tried make my PDFs X-1a compliant with WeasyPrint, then ran them through Adobe's PDF/X validator and they kept failing. I was in a bit of a hurry and found a way to do it with ghostscript. I would like to remove ghostscript from the mix, so when I have some time, I may try again to do it all with WeasyPrint.
I disagree with that statement when it comes to software developers. They are actually quite expensive. The typically enter the workforce with 16 years of education (assuming they have a college degree), and may also have a family and a mortgage. They have relatively high salaries, plus health insurance, and they can't work when they're sleeping, sick or on vacation.
I once worked for a software consultancy where the owner said, "The worst thing about owning this kind of company is that all my capital walks out the door at six p.m."
AI won't do that. It'll work round the clock if you pay for it.
We do still need a human in the loop with AI. In part, that's to check and verify its work. In part, it's so the corporate overlords have someone to fire when things go wrong. From the looks of things right now, AI will never be "responsible" for its own work.
I think AI will substantially thin out the ranks of programmers over the next five years or so. I've been very impressed with Claude 4.5 and have been using it daily at work. It tends to produce very good, clean, well-documented code and tests.
It does still need an experienced human to review its work, and I do regularly find issues with its output that only a mid-level or senior developer would notice. For example, I saw it write several Python methods this week that, when called simultaneously, would lead to deadlock in an external SQL database. I happen to know these methods WILL be called simultaneously, so I was able to fix the issue.
In existing large code bases that talk to many external systems and have poorly documented, esoteric business rules, I think Claude and other AIs will need supervision from an experienced developer for at least the next few years. Part of the reason for that is that many organizations simply don't capture all requirements in a way that AI can understand. Some business rules are locked up in long email threads or water cooler conversations that AI can't access.
But, yeah, Claude is already acting like a team of junior/mid-level developers for me. Because developers are highly paid, offloading their work to a machine can be hugely profitable for employers. Perhaps, over the next few years, developers will become like sys admins, for whom the machines do most of the meaningful work and the sys admin's job is to provision, troubleshoot and babysit them.
I'm getting near the end of my career, so I'm not too concerned about losing work in the years to come. What does concern me is the loss of knowledge that will come with the move to AI-driven coding. Maybe in ten years we will still need humans to babysit AI's most complicated programming work, but how many humans will there be ten years from now with the kind of deep, extensive experience that senior devs have today? How many developers will have manually provisioned and configured a server, set up and tuned a SQL database, debugged sneaky race conditions, worked out the kinks that arise between the dozens of systems that a single application must interact with?
We already see that posts to Stack Overflow have plummeted since programmers can simply ask ChatGPT or Claude how to solve a complex SQL problem or write a tricky regular expression. The AIs used to feed on Stack Overflow for answers. What will they feed on in the future? What human will have worked out the tricky problems that AI hasn't been asked to solve?
I read a few years ago that the US Navy convinced Congress to fund the construction of an aircraft carrier that the Navy didn't even need. The Navy's argument was that it took our country about eighty years to learn how to build world-class carriers. If we went an entire generation without building a new carrier, much or all of that knowledge would be lost.
The Navy was far-sighted in that decision. Tech companies are not nearly so forward thinking. AI will save them money on development in the short run, but in the long run, what will they do when new, hard-to-solve problems arise? A huge part of software engineering lies in defining the problem to be solved. What happens when we have no one left capable of defining the problems, or of hammering out solutions that have not been tried before?
It's interesting you mention the loss of knowledge. I've heard that China has adopted AI in their classrooms to teach students at a much faster pace than western countries. Right now I'm using it to teach me how to write a reverb plug-in because I don't know anything about DSP and it's doing a pretty good job at that.
So maybe there has to be some form of understanding. I need to understand how reverb works, how DSP works in order to be able to make decisions on it, not necessarily implementation. And some things are hard enough to just understand and maybe that's where the differentiation comes in
There are more people struggling these days than the mainstream news reports. The lines at the food banks where I live are much longer than they were before COVID. One of the local food banks says they're distributing three times as many meals per month as they served before the pandemic. And this is an area of relatively high employment.
People working service jobs simply can't afford the basics, and that's a problem. Part of capitalism's implied promise is that if you work full time, you should be able to feed and house yourself. But for huge numbers of people, that doesn't seem to be true anymore.
It's really getting out of hand. I see it here with my coworkers in our small company. There are only 6 employees here total. 3 of my coworkers commute for 1hr+ away each way because they can't afford to live in our town. And then they don't eat. With their work schedule and their commute they're gone from home for 12hrs or more per day so they can't meal prep. And they can't afford to dine out. So they simply don't eat breakfast or lunch.
I told my CEO that my past success and my wife are effectively subsidizing his company. Because I could not afford to work here it I had not been so successful earlier and if my wife didn't have a great job with great benefits. In fact, I'm seriously considering leaving my role when the summer starts because childcare for my 5 year old son is going to cost ~55% of my net pay each month.
But my CEO and his family of 4 have been to Disney World twice since October 2023. And they're going to Europe for 2 weeks this summer.
A 2 week vacation and 2 long weekends to Disney World don't seem out of reach for any middle class family, let alone a company owner. My sister is an adjunct professor and I think has been to disneyland 3 times this year already.
The rest of it certainly sucks though. There would have to be a VERY good motivation for me to travel that far for work. Most of us on here are involved in software and I'd be shocked to see if less than half of us were remote or partly remote.
> A 2 week vacation and 2 long weekends to Disney World don't seem out of reach for any middle class family, let alone a company owner.
The fact that this person is going on all these vacations while his workers forgo meals is just kind of fucked up. The fact that people don't seem to see a problem with this is the problem.
Yes but it shouldn't take 5 people working 50+ hours per week to support just one family. The CEO's family is the only one taking vacations. They're the only family that has healthcare.
I know you're kidding, but one of my neighbors gets super excited because his boss allows him to job his sports car to lunch sometimes. My neighbor can't afford his own sports car but at least he gets to drive one to McDonald's a few times per month.
This sounds vaguely like the observation that retail checkout employees get stupider when the economy is good, because everyone with 2 brain cells to rub together moves to more gainful employment, and walmart has to really start scraping the bottom of the barrel
OK, maybe it isn't capitalism but US society that implies that promise. Many (insensitive) people respond to tales of economic woe by saying, "Get a job!" As if that's going to solve even your basic money woes. As others in this discussion have noted, many people employed full time still struggle to provide the basics. That part of the social contract just isn't holding up for a lot of people. And that's a recipe for social unrest.
I also don’t understand people on a tech forum not being more sympathetic about the economy’s troubles. Is tech not in a recession? That’s ludicrous. Tech is in a bad way.
> The lines at the food banks where I live are much longer than they were before COVID.
what does this really mean? Like food is so cheap we are obese. So does this mean more people want freebies? Tasty brand name foods? My neighbor thought we were poor and gave us food they got from a foodbank, it was really nice (but odd) stuff.
In 2024 I can't really understand using food as a measurement. There is too much.
Well, if you can't understand, why such strong opinions?
Read up about basics of nutrition, about how poverty and obesity are correlated, what "food deserts" are, the differences between processed and healthy foods, etc.
Poor people are fat because they don't cook well, not because food is expensive. Good cooking is expensive, and bad cooking is available. Healthy basic cooking is cheap. Food is so cheap that you can eat when you can't afford to anything else! In other words, obesity is cheap entertainment, not a good cost issue.
Food Deserts are defined in a way that is unhelpful, I live in a food desert in one of the richest counties. I have 0 grocery stores within 1 mile. But I have 6 grocery stores within 3 miles.
Go ahead with the conventional sayings: Tell me the fallacious remark about McDoubles being the healthiest cheapest food ever. Go ahead and say something incorrect like processed foods are cheaper than fresh foods. In a few years you are going to change from thinking Fat is the devil to carbs are the devil. Then you will take up fasting, then keto, then gluten free.
People in the US have too much money to care about food. These are people getting dopamine from food pleasure. No one wants to admit it.
I largely agree, but lately eggs, butter, cheese, meat have sure surged ahead in price. They cant really shrinkflate around these items. Even the kids selling eggs as a side hustle in my rural community are jacking their prices.
No one will push against the claim there's far too many calories available, on average, in Western countries. That consumption is the automatic answer to anything that ails, it could be argued as well.
It reeks of ignorance and obstinate privilege to claim people are too rich to care about food [1] [2], that having to travel 3 miles to get food is not a barrier to access [3] [4]. Saying that processed foods are more expensive than fresh is an outright lie [5][6][7].
The HN discussion forums are one of the last remaining places where we can expect civil and informed online discourse. Please try and keep with that spirit.
My all-time favorite flippant description of a programming language: someone once described Java as "a domain-specific language for converting XML files to stack traces."
After 25 years of coding primarily in emacs, I switched mainly to VS Code for larger, more complicated projects last year. I did it mainly because it eases navigation through large code bases and because the visual debugger is so easy to use.
I still use emacs in the terminal for scripting and for smaller coding projects, for anything over SSH, and for blogging and fiction writing. It's a distraction-free editor that has very powerful features when you need them, but doesn't shove them in your face. It's also nice to be able to do everything with the keyboard and not have to keep reaching for the mouse.
Same here, I came into massive project from embeded and driver dev where Vim with plugins was better for development. Instant start on everything that can run linux. Minimal hustle.
However when you debug race conditions in app with 100s of threads in containerized environment, the limitations of cli starts to show.
As with everything there is no silver bullets and its a good skill to be able to pick right tool for the right task
I use VSCode sometimes to click through a new codebase, but its memory consumption can be hard to swallow particularly when various LSP servers are running (looking at you terraform-ls).
I think web tools will replace this in time they are just so convenient, I have setup custom reference tools for code bases. These are simple to setup on a server or on you own desktop, but even with a seemingly perfect Nix install dependcies might fail.
Many years ago, some famous developer said, "Always write your code as if the person who's going to maintain it is a violent psychopath who knows where you live." As I fixed my poor design choices one by one over endless late nights, I sometimes felt the anger of a violent psychopath toward the former, ignorant me who had stupidly plagued current me with all these problems.
When you learn the hard way, you know exactly why good design decisions are considered good. In later jobs, one of my fundamental goals for every new project was "I never want me or anyone else to have to answer a 3 a.m. call about why this system isn't working."