349 karma · joined August 27, 2012
Code: https://sheprador.com Fiction: https://adiamond.me
onion2k has a point. You can still write a lot of code by hand, or at least write the interesting code by hand, but your output may fall behind your peers.
After 27 years in the industry, I've cut down to part-time software dev work, and I've enjoyed learning and doing more hands-on work, including bicycle and motorcycle repair. It's actually really nice to get away from the screen and the constant reading of internet garbage during those down times when I'm waiting for tests to run or an AI bot to come back with a response. My mind feels less polluted. But I'm not making money at my new hobbies.
My answer to your question is I don't know. But often, if you can free up some time and mental space, you'll find you start to drift toward other things that interest you.
As for how I did it, I would wake up very early and put in a few hours of writing, then I would put in a full day's work at the office. After my first twelve years or so in the industry, coding was almost second nature and came quite easily. Also, I do much of my writing and programming in my head while I'm walking, running or biking. (I bike to work and back every day.) By the time I sit down to write or code, I already know what I'm going to write, so it's just a matter of getting it through the keyboard.
But yeah, do both for a few years and it really taxes your brain. In both novel writing and programming, you're carrying an entire world in your brain: the plot and characters are one world, the architecture of the software you're working on is another. By 2025, I truly, literally felt like I needed to be shipped off to a madhouse in the countryside. A hundred years ago, people used to call that "the rest cure for a nervous breakdown."
Anyway, cutting back to part-time work has been a huge help. Sanity restored.
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.
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.
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?
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.
> A workman could check the stone size himself by seeing if the stone would fit into his mouth.
They're probably laying down over a million stones per mile. Do all of them have to pass through a workman's mouth?
One of my managers used to say that the only reason people write software is because there isn't already an emacs or Excel macro to do what they need.
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.
These retired agents didn't see the drug war as a war on "bad guys," but as an effort to stop the destruction drugs wrought in people's lives. After all their work, their own government undermined their efforts.
My own doctor was taken in by Big Pharma's sales pitch and wound up going to prison for over-prescribing their pills. https://en.wikipedia.org/wiki/William_Hurwitz. Though to hear Big Pharma tell it, there was no such thing as over-prescribing.
If you want to get an idea of how out-of-hand the prescription frenzy got, take a look at John Temple's book American Pain, which describes the pill mills in South Florida. Towns in Appalachia used to send charter buses to these pharmacies. After a 12-20 hour bus ride, each passenger would pick up hundreds or thousands of pills, then ride home to sell them in their small country towns.
Some of the pill mills, which were fully licensed by the state of Florida, were cash-only and would haul garbage bags full of money to the bank each day at closing. For a summary of Temple's book, see https://adiamond.me/2020/01/american-pain-by-john-temple/
I work for a non-profit doing digital preservation for a number of universities in the US. We store huge amounts of data in S3, Glacier and Wasabi, and provide services and workflows to help depositors comply with legal requirements, access controls, provable data integrity, archival best practices, etc.
There are some for-profits in this space as well. It's not a huge or highly profitable space, but I do think there are other business opportunities out there where organizations want to store geographically distributed copies of their data (for safety) and run that data through processing pipelines.
The trick, of course, is to identify which organizations have a similar set of needs and then build that. In our case, we've spent a lot of time working around data access costs, and there are some cases where we just can't avoid them. They can really be considerable when you're working with large data sets, and if you can solve the problem of data transfer costs from the get-go, you'll be way ahead of many existing services built on S3 and Glacier.
I can't say I agree with all the author writes, but that statement is spot on.
As for blurry covers, a common mistake among self-published authors is not preserving the aspect ratio for cover art. They'll stretch an image, or use a low-resolution image. Again, this is done out of ignorance or carelessness. Major publishers know to pay attention to these details.
POD publishers like Ingram Spark also let you choose the type of paper and cover finish. They can produce good paperbacks. Maybe Amazon's POD system chooses cheaper paper by default. I'm not sure.
Most publishers make good money on their backlists, with a slow trickle of sales across a huge number of titles. Amazon and other stores don't always want to stock these titles because they take up a lot of shelf space.
Publishers may not want to put them into book stores because they may be returned if unsold, and the return process is costly. So print-on-demand (POD) makes sense for both parties.
Amazon has been running a pretty big POD operation for years for its Kindle Direct Publishing arm, so they have the infrastructure to print books for others as well. And yes, depending on the machine, the covers may not look quite as nice as the covers from offset printers.
Other good employees, including many of those you are currently managing, will likely follow suit over time. And management won't really notice or care when a first-rate team walks and is replaced by a second-rate team. Management will treat them all the same.
That said, I have seen good team leaders move to greener pastures and convince some their better developers, over time, to join the new team. This happens in almost all industries.
Don't let your mental health suffer. If you care more than the decision-makers above you about what you're doing, you can't win. Go somewhere that will let you do your best work.
BTW, when I was in your position, I hesitated a long time before making my move. It got so bad, I thought I didn't even want to work in the tech industry anymore. When I finally did make the move, the difference was night and day. Work was enjoyable again, and I was energized and full of motivation.
In case you're interested, here's a brief account of my situation and job change, from long ago: https://sheprador.com/2022/04/worst-manager-ever/
I wonder if the author could boost sales by quoting that on the cover of his book.
That said, a number of companies have left the cloud for cost reasons. 37 Signals is a recent high-profile example: https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47...
I've read of others leaving for cost reasons as well. Many run niche workloads that don't make sense in the cloud. One company, if I recall correctly, was doing scientific processing that required massive, but not unlimited, CPU and GPU resources. They found it was cheaper to buy a bunch of high-end workstations and run their jobs locally. They didn't need the cloud's 24/7 uptime guarantees, because they were doing offline processing with no public-facing apps.
Our minds can and will go anywhere. Sometimes we need to be reminded of our physical, social, time-bound being, of its limits and where to focus our attention. That's called "being grounded."