Chad Fowler did an interesting study and posted about it to LinkedIN, in which he asked the question, "if I ask Claude / GPT / Gemini for "a script that..." or "a small web app for...", what am I going to get back?" I thought, "What about local LLMs? Does that change the conversation at all?" First off, his original LinkedIN post is here , just to give credit where credit is due. Fortunately, he…
Unless you are not yet old enough to drink, or lived out in a shack above the treeline in a mountain range, you probably remember to some degree the "Internet Era". Also known as the "Dot-Com Era" (along with its closely-released sequel, the "Dot-Bomb Era"), it was a time when the Internet was new, the boundaries were untested, and everyone's credulity was pushed out to the utter limits. The…
This is another one of those "old developer guy" posts, because approximately a quarter-century ago, a new kind of tool was emerging in the developer ecosphere that generated a similar kind of "angst" to what we're seeing today, and that's the low and humble "wizard". Remember those? These were the step-by-step dialogs that asked a series of questions of the developer who'd fired up a new project,…
Of late, it's become fashionable among AI CTOs to proclaim the death of the junior developer. (Some are suggesting that college graduates should take up plumbing or farming.) I find this entire line of thought to be ridiculous, silly, and almost entirely bereft of actual logical thinking. To put this emerging myth to bed, I can follow one of several different argument paths: Argumenter analysis…
Over the past decade or two, companies have been rolling out data privacy policies that more or less get accepted and forgotten, similar to the way that most people roll past the EULAs that appear in every commercial installation process. With the rise of LLMs, though, and the opportunity to "fine-tune" a model based on data to create a customized model, I think suddenly companies are going to…
More than a quarter-century ago, a software development tool was quite popular and useful in building applications that could be developed, released, sold, and maintained, all by a single person. I speak, of course, of FoxPro (later Visual FoxPro after it was acquired by Microsoft), but the same could be said equally of Visual Basic (v3 through v6) or PowerBuilder or any of a dozen other "4GL"…
As part of diving into the whole "LLM" world of AI, I kept running across all these "prompt engineering best practices". One of those which persists to this day is that of identifying the "role" the LLM engine is to play in crafting its answer. The justification for it is that it helps the LLM decide what perspective to take and how much description (or what kind of description) to provide, and so…
LinkedIn has been awash in layoff stories for, God, it feels like forever now. But a recent post got me thinking about layoffs, and how some of our reactions are deeply visceral when others get laid off around us, and why it's such a deeply personal thing to be suddenly unemployed. First, the post The video does some interesting analysis around what the real cause of the layoff is (and I think…
While spending some time inside the company Slack, I mentioned that I wanted to try a particular tool but using locally-hosted LLMs rather than cloud-hosted ones. The response was basically "LULZ y would u want to do that" and not only was I a little surprised at the response, I realized I felt a strong desire to explain why, in a format more suited to a blog post than a Slack message. (This is a…
You know how the startup community loves to talk about "disrupting" industries? Well, thanks to the general magic of large language models, combined with the capitalist drive of huge VC-backed companies like OpenAI and Anthropic, we find ourselves not imposing one, but having one imposed on us. And I'm pretty sure, we don't like it. (This is the first in an anticipated series of blog posts, in…
It's been suggested that, as a natural consequence of the coding agent evolution, as coding agent adoption rises, the amount of time developers will spend working directly with code will either quickly or slowly approach zero. Despite some reasonable analogies that would suggest it, I don't agree, because of the nature of how LLMs work and what we expect out of code. (This is a part of my series…
It's that time of the year again, when I make predictions for the upcoming year. As has become my tradition now for almost two decades, I will first go back over last years' predictions, to see how well I called it (and keep me honest), then wax prophetic on what I think the new year has to offer us. In the large, 2025 was... well, damn. Last year at this time I wrote, "We thought 2023 was…
tl;dr Two years ago, I started creating a pattern language for developer relations activities, and I published an early draft of what they looked like to this website. In the time since, they've been refined, expanded, and collected into a single paper volume, available from APress in December of 2025. The book, titled, Developer Relations Activity Patterns: A Unified Approach to DevRel, DX and…
tl;dr Linguis, available for examination and/or forking, is a language designed to explore the axis of, "How much can we tweak the front-end of the language, in this case the parser, so that people of different nationalities can write code in the syntax of their choice?" Available at https://github.com/tedneward/Linguis for perusal, though it's only at a 0.1 now. It's been an interesting 2025 so…
As a software developer in 2025, it is difficult to choose how to spend one's time. New programming languages (Rust, Zig, AssemblyScript, ...), new data storage implementations (NoSQL, NewSQL, multimodel databases, ...), and of course the alluring temptation of "artificial intelligence", all beckon for the developer's time and attention. More importantly, in a world where ChatGPT can toss off an…
No Starch Press sent me a copy of Sy Brand's "Building A Debugger", which walks, step by step, through the process of building your own assembly-level, native-executable debugger. It geeks me out in ways I haven't geeked out since... well, since the last low-level geekery book (the ARM assembly book) they sent me. For close to two decades now, I've been telling developers (experts to neophytes)…
tl;dr Over the last two years, we've seen a dramatic policy debate playing out on the feeds of LinkedIn: "WFH (Work From Home) vs RTO (Return to Office)". Nearly everyone has an opinion, and many (if not most) of them are held strongly. Some are held based on data, some on personal preference, and many are based on personal experience. Nearly all of them, however, focus on the wrong part of the…
tl;dr Ever had one of those situations where you find that some data about your engagement with a company or institution is incorrect, go through the motions to correct it, only to discover it has mysteriously changed back to the original, incorrect, value? The other day I was driving with my wife back from some doctor's appointments and we were talking about some social media friends she has that…
tl;dr A colleague of mine, Scott Porad (CTO, VP Engineering) posted on LinkedIn, asking, "What are all the other kinds of debt like tech debt?" He listed out a few, then asked for others to weigh in, and the list grew... kinda long. And interesting. And made me think about the metaphor more deeply. His list included financial debt (the OG), Product debt (gaps in the product that impact revenue or…
tl;dr One of the "OG" data formats, the tabular data structure, aka "the flat file", is still today a handy and reasonable way of exchanging data in an automatable fashion without significant integration work required. Its shape is ideal for a multitude of data molecules that all share the exact same contents. Refresher In a serialized representation of the tabular format, such as a CSV file: each…
tl;dr Relational data is, contrary to popular belief, characterized not by "tables", but by sets and relational variables (also known as "relvars"), and making use of a relational algebra and predicate calculus to make it easier to do set-oriented operations. Refresher Because most developers come to relational databases via SQL, usually either studied briefly in classes at university or…
tl;dr Objects, despite being the most common tool form of mainstream programming languages, are often not as well-understood as a data concept as one might think. In an object data model, entities are defined as unions of state and behavior (and behavior is often of much less concern to the data modeler) that in turn can be related to other objects through a variety of mechanisms (type, ownership,…
tl;dr Hierarchically-shaped data is characterized around strictly acyclic data that are arranged in a parent-child relationship, starting from a single well-known root data node. The relationship between nodes is explicit, with the roles of parent and child clearly delineated, but the actual association between parent and child is typically implicit and immutable. Refresher Hierarchical data is…
tl;dr The shape of data that's associative, or the key-value data store, is a style of single-dimensional, making the key the biggest part of the shape. Refresher In a key-value store, like Redis, data is stored in a collection made up of tuples of keys and values. Keys must always be unique, at least within a single "database". (Some data stores may support multi-tenancy "databases", where each…
At the end of 2021, my time at Rocket Mortgage came to an (amicable) end; the things they had asked me to do were done (more or less--there was more work to be done, but others could pick it up and run with it), and the next things I thought worth doing at Rocket were not things they were interested in. So, we parted ways, and I set back off into the wild blue yonder to find my next role. What…
tl;dr Dating all the way back to the earliest of databases, data has had a "shape" to it, a natural schematic form that defines the various "atoms" and "molecules" that the database understands naturally. Relational data, such as that described by SQL and relational databases, is only one such shape; the various "NoSQL" databases often offer a different shape, but it's not always the same. What's…
tl;dr Engineers (and their managers) have spent much of the last forty years learning (and sometimes re-learning and re-learning and re-learning...) the various repercussions and implications of distributed systems. As an engineering manager, I've discovered that there is a remarkable similarity between distributed systems design and engineering organization design. For most engineering managers,…
It's that time of the year again, when I make predictions for the upcoming year. As has become my tradition now for almost two decades, I will first go back over last years' predictions, to see how well I called it (and keep me honest), then wax prophetic on what I think the new year has to offer us. As per previous years, I'm giving myself either a +1 or a -1 based on a purely subjective and…
Over time, people change, and it becomes necessary to part ways because of that change. So, too, with organizations and, in this particular case, social media platforms. When it began, Twitter was a bastion of hope and optimism, the center of the pro-democracy "Arab Spring" and a (naive, perhaps) belief that ordinary people communicating with one another frankly and openly could provoke serious…
(I came across this quote from Russell, and liked it so much I thought I'd just copy it verbatim over to my blog. Obviously I'm not the author--I'm not nearly this eloquent.) (Via The Basic Writings of Bertrand Russell ) If the matter is one that can be settled by observation, make the observation yourself. Aristotle could have avoided the mistake of thinking that women have fewer teeth than men,…
No Starch Press sent me an early access/review copy of the book "Data Structures and Algorithms in Javascript", by Federico Kereki. If there's two sentences that summarize the book, it's these two from the Introduction: "The book deals with two basic concepts in computer science: data structures and algorithms. It follows a structure similar to university curricula and adds examples taken from…
No Starch Press sent me an early-access e-copy drop of the book "The Art of ARM Assembly (Volume 1)", by Randell Hyde, an author whose previous books on x86 assembly are on my shelf, and I'm enthusiastically suggesting you go buy a copy when it comes out. For close to two decades now, I've been telling developers (experts to neophytes) that you need to know "one level below the level at which you…
No Starch Press sent me a copy of the book "Effective C (2nd Ed)", by Robert C Seacord, and overall, it's not bad, though I don't think it lives up to the "Effective" moniker established by Scott Meyers three decades ago. Let me get one thing out of the way first: Despite the title, this is not an "Effective" book as originally coined by the master of the Effective-style books (Scott Meyers).…
No Starch Press sent me a copy of the book "Strange Code", by Ronald T Kneusel, and honestly, they had me at "esolangs". But more than that, the book opines on reasons why studying programming languages, including their esoteric kin, is a useful and productive endeavor. First off, let's get something out of the way right now: Being the huge fan of programming languages that I am, I am almost…
I bought a copy of the book "Dead Simple Python", by Jason C McDonald, and I have to say, this is my new go-to book for book recommendations on learning Python. For starters, this is not a pocket-sized book; weighing in at just under 700 pages (including both front and back matter), this sucker is quite possibly a deadly weapon in the right hands. That, to me, is a reflection of the Python…
Ever had a manager who was clearly smart, but had no idea how to manage? Or one of those managers who was "laterally promoted" over from a team that was radically different from what your team did? There's a whole host of mistakes that companies often fall prey to with respect to those they have leading teams, and I thought it a good idea to collect them into one place, under the umbrella heading…
I found myself asking myself the question, "What's every new feature Java has introduced since the last time I really cared about new Java language features?", and didn't find an easy answer via Google. So, I decided to create that list. Note that most JDK releases are a combination of new language features, new library features (and by libraries I mean the modules that ship with the JDK), and…
No Starch Press sent me a copy of the book "The Nature of Code", by Daniel Shiffman, and I have to say, it's a lovely piece of work, both figuratively and literally. Physical Let's start with the physical (which is rare for a book review, I think): This book is gorgeous. It's clear that No Starch is trying to make this book more than just something that appears on your shelf, but instead takes…
There are four different kinds of R&D teams, each with very different actions and goals, and each with very different outcomes. The success of the team often depends on aligning the activities of the team with the intended goals, and it's actually quite reasonable for a company to have two or more teams, each operating independently and towards different ends. In this post, I explore the Library…
There are four different kinds of R&D teams, each with very different actions and goals, and each with very different outcomes. The success of the team often depends on aligning the activities of the team with the intended goals, and it's actually quite reasonable for a company to have two or more teams, each operating independently and towards different ends. In this post, I explore the Scout…
There are four different kinds of R&D teams, each with very different actions and goals, and each with very different outcomes. The success of the team often depends on aligning the activities of the team with the intended goals, and it's actually quite reasonable for a company to have two or more teams, each operating independently and towards different ends. In this post, I explore the Spy Team.…
There are four different kinds of R&D teams, each with very different actions and goals, and each with very different outcomes. The success of the team often depends on aligning the activities of the team with the intended goals, and it's actually quite reasonable for a company to have two or more teams, each operating independently and towards different ends. In this post, I explore the Research…
Many developers get really excited when they join an R&D team, because it signals in their minds that they're among an elite group looking to move the needle for a company. We imagine the business suddenly soaring in revenue and profit because of the whatever-thing we just built. We can hear--in the mind's ear--the kudos and praise raining down from the C-Suite as the whatever-thing we just built…
For many software developers, career success comes when they are placed on the "R&D" (research and development) team. It seems like a golden ticket kind of role: Spend time exploring new technology (which lots of developers enjoy doing), weighing in, offering insights, and just... it's like, all play, and no deadlines! And yet, strangely (or perhaps not), those teams never seem to last long--they…
My LinkedIn feed recently brought me a question posted about an interview question the original poster faced : "You're the tech lead and your team is getting stretched thin. You decide to add resources (sic; not my choice of words here) but you can afford 1 senior full-stack developer or 2 junior full-stack devs. Which do you choose and why?" It's a decent engineering manager question. So....…
One of the more curious things I've found, both in my time as a consultant and as a software management executive, is the striking differences between what the title "architect" means at different companies. Strangely (or perhaps, not so strangely), the nature of the job changes significantly depending on the size of the company and how "interwoven" the various software development teams are…
If you've spent any time on LinkedIn at all the past few years, you've seen the incessant posts about people "looking for their next challenge". Many of these are followed, sometimes weeks or months later, by additional posts (sometimes by the same people) about being really really really desperate to find something. Sandwiched right in between them are posts by LinkedIn "influencers" trying to…
A colleague pointed out a semi-scientific study about interviewees cheating with ChatGPT hosted by interview.io; the results are not particularly great if you're relying on LeetCode-style problems: "Predictably, the [interviewee group using common LeetCode problems without modification] performed the best, passing 73% of their interviews. Interviewees reported that they got the perfect solution…
For many years, people have ranted and railed against the dread managerial "Do you have a second to chat?" opening that has no context around it. Just Google "Can we talk" and you get something in excess of 4 billion responses, many/most of which talk about how to respond to those openings, coupled with a stern shaking finger for those who use them. But what should we use instead? Imagine, for a…
A post on LinkedIn got a little close to my heart, showing a picture of Joe Flacco (an almost-retired NFL player, for those who aren't in to sportsball) and asking, "Are you overlooking experienced candidates because of their age? Take a lesson from Joe Flacco, who at 38 was written off by experts as too old and past his prime. Despite sitting at home hoping for a chance, the Cleveland Browns saw…