Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
148738 stories
·
33 followers

AI Moves the Bottleneck - Are You Ready for What That Means For Your Career?

1 Share

AI is bringing massive changes to our industry, but it's not just about how fast you can write code or use agentic flows. In this episode, I explore how AI is fundamentally shifting the economic bottleneck of software development, and how you can use your systems-thinking engineering mindset to adapt and thrive in this new era.

🎧 Episode Notes: The Engineering Bottleneck Shift

For years, the software development pipeline was designed around one core assumption: engineering is the most expensive and restrictive bottleneck. Because of this, organizations optimized heavily for upstream risk mitigation to ensure we only built what was absolutely necessary. But AI is changing that math, making the act of coding significantly cheaper and faster. Here is what happens when that bottleneck breaks:

  • The Historical Cost of Bugs: I look back at the Windows 95 era, where physical software delivery meant post-release bugs were incredibly expensive, demanding massive upfront QA.
  • The Continuous Delivery Precedent: Discover how the internet made software updates cheap, which fundamentally changed the ROI of risk mitigation and enabled fast, iterative soft releases.
  • The Upstream Shift: Understand why, as engineering throughput increases by 50% to 100% due to AI, the new organizational bottlenecks will rapidly shift upstream to product, design, and decision-making.
  • Optimizing for Speed Over Risk: Learn why companies will likely begin to lessen their focus on risk mitigation (outside of catastrophic data breaches) to prioritize higher volume throughput and decision speed.
  • The New Iterative Workflows: Explore the potential for consolidated roles where engineers, PMs, and designers use AI to make rapid, on-the-fly product decisions together without traditional hand-offs.
  • Your Core Engineering Value: Remember that punching cards or manually managing memory didn't define engineers in the past, and manually typing code doesn't define you now. Your true value is your ability to approach problems with a systems-thinking mindset.

🙏 Today's Episode is Brought To you by: Unblocked

Your coding agents have access to your codebase, but access doesn't directly translate into context. Agents often lack the reasoning to understand your architectural decisions, team patterns, or why an API is shaped the way it is—leading to bad outputs and wasted tokens. Unblocked is the context layer your agents are missing. It synthesizes your PRs, docs, Slack messages, and Jira issues into organizational context that agents actually understand so they write higher-quality code with fewer correction loops. Get a free three-week trial at getunblocked.com/developertea.

📮 Ask a Question

If you enjoyed this episode and would like me to discuss a question that you have on the show, drop it over at: developertea.com.

📮 Join the Discord

If you want to be a part of a supportive community of engineers (non-engineers welcome!) working to improve their lives and careers, join us on the Developer Tea Discord community by visiting https://developertea.com/discord today!

🧡 Leave a Review

If you're enjoying the show and want to support the content, head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.





Download audio: https://dts.podtrac.com/redirect.mp3/cdn.simplecast.com/media/audio/transcoded/2d4cdf11-7df5-47fc-923f-3ff64405a15a/c44db111-b60d-436e-ab63-38c7c3402406/episodes/audio/group/a4c911ab-27e1-4c3b-b6eb-581ae952113b/group-item/9e34e357-49c5-47bc-bd21-60c605eb7a3f/128_default_tc.mp3?aid=rss_feed&feed=dLRotFGk
Read the whole story
alvinashcraft
5 hours ago
reply
Pennsylvania, USA
Share this story
Delete

The history of the octothorpe. Sir Fragalot and sentence fragments. Dribzle.

1 Share

1164. This week, we look at the origin of the octothorpe — also known as the pound sign or hashtag — and why it has so many different names. Then, we look at sentence fragments and the secret of "Sir Fragalot" to help you avoid common writing mistakes.

A video of the man who invented snurfing.

Free writing course on LinkedIn Learning. (Happy National Grammar Day!)

The octothorpe segment was written by Karen Lunde.

🔗 Join the Grammar Girl Patreon.

🔗 Share your familect recording in Speakpipe or by leaving a voicemail at 833-214-GIRL (833-214-4475)

🔗 Watch my LinkedIn Learning writing courses.

🔗 Subscribe to the newsletter.

🔗 Take our advertising survey

🔗 Get the edited transcript.

🔗 Get Grammar Girl books

| HOST: Mignon Fogarty

| Grammar Girl is part of the Quick and Dirty Tips podcast network.

  • Audio Engineer: Dan Feierabend, Maram Elnagheeb
  • Director of Podcast: Holly Hutchings
  • Advertising Operations Specialist: Morgan Christianson
  • Marketing and Video: Nat Hoopes, Rebekah Sebastian
  • Podcast Associate: Maram Elnagheeb

| Theme music by Catherine Rannus.

| Grammar Girl Social Media: YouTubeTikTokFacebook. ThreadsInstagramLinkedInMastodonBluesky.





Download audio: https://dts.podtrac.com/redirect.mp3/media.blubrry.com/grammargirl/cdn.simplecast.com/media/audio/transcoded/dd74e7bd-f654-43a6-b249-3f071c897900/e7b2fc84-d82d-4b4d-980c-6414facd80c3/episodes/audio/group/1363d482-33fd-4fc2-b98f-695ccfa629a3/group-item/de3e653b-1c56-4123-b140-fe98ca48b2d0/128_default_tc.mp3?aid=rss_feed&feed=XcH2p3Ah
Read the whole story
alvinashcraft
5 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Rate Limiting IdentityServer Endpoints

1 Share

Your identity provider is the front door to every application in your organization. Every request to your identity infrastructure shares the same resources: CPU, memory, database connections, and cryptographic operations such as token signing.

A recent community discussion highlighted what happens when one consumer takes more than their fair share of incoming requests. A specific client application was making an excessive number of requests to the /connect/token endpoint, resulting in an unintentional denial-of-service attack. Not by an attacker or a malicious actor, just a misbehaving client that overwhelmed the shared infrastructure. Misconfigurations are a common source of issues we see with customers, and this was no exception.

For teams dealing with critical identity infrastructure, this occurrence raises an important question: Should you add rate limiting to your Duende IdentityServer deployment?

Read the whole story
alvinashcraft
5 hours ago
reply
Pennsylvania, USA
Share this story
Delete

In defence of correctness

1 Share

Not all software needs to be correct, but a large subset does.

Last year, I consulted with an organization that develops and maintains reporting solutions. In a nutshell, they extract data from various line-of-business applications and put them in a reporting-specific data store to create reports for decision makers. For regular readers, this may sound like work bordering on the trivial: Read data, transform it, and write it somewhere else. If you've ever done serious ETL work, you may, however, know that it can be quite difficult to get right.

While reviewing a particular code base, I asked the team how important they found correctness to be. Specifically, I asked: "What happens if a bug makes it into production?" They responded: "If that happens, we fix it."

When I, afterwards, related that exchange to the chief data architect, he was livid: "I just had to explain to the board of directors why [some number] was counted double, and how that could have escaped our attention for months."

Perhaps, to a software developer, reporting sounds like a low-stakes environment, but in reality, it's probably where your code has more impact than in the average line-of-business application. If Excel is the World's most common decision support system, reports (generically) is likely to be the runner-up. This is where your code interfaces with the 'non-technical' decision makers in your organization.

People make business decisions based on reports, implicitly assuming that reports are correct. If you count something double, or conversely accidentally discard data, business decisions will be based on incorrect data. This affects the real world. In this particularly case, the data was used to budget the number of people who it was possible to accept into a particular programme. If you count wrong, you may either turn away too many people, or conversely accept too many, which will impact your ability to deliver your services in the future.

And to be clear: These kinds of errors are difficult to spot. The system isn't crashing or throwing exceptions. It just calculates wrong numbers. It is incorrect.

Correctness is not all #

While I've done my share of prototyping, I've spent a great deal of my career working with software where correctness was essential. To a degree that I'd internalized the emphasis on correctness as an axiom. Of course, software has to be correct.

I was, therefore, taken aback when Dan North in a private conversation challenged me. In his experience, non-technical stakeholders often don't realize what they actually want. Of course you can't pin down what is correct if you don't even know what the system is going to do.

It's always valuable to have your assumptions challenged. Dan is right. If you don't know how the system is going to work, insisting that it's correct is going to get you nowhere.

Once you start looking at the world through that lens, there are plenty of examples. This is what drives the whole practice of A/B testing: You may care about some KPIs, but at the outset, you don't know what it will take to get satisfactory results. Most likely, you don't even know what is possible, but only that you wish to maximize or minimize some KPI.

You can approach such problems in epistemologically sound ways, by proposing a falsifiable hypothesis that the KPI of interest is going to change by at least a certain amount if you conduct a particular experiment.

Seeing the wisdom in Dan's words, I spent a significant period readjusting my view. Indeed, correctness is not all.

Not all software is like big tech #

If you're selling subscriptions or ads, and your main goal is to keep users maximally engaged, correctness does, indeed, seem irrelevant. The goal is no longer to present users with 'correct' content, but rather with content that keeps them on your property.

A similar mechanism applies to market platforms that have something to sell. Not only evident web shops like Amazon, but also market places like Airbnb. The goal of companies is to maximize profits, and as a former economist, I have no moral problem with that. The implication, however, is that if you can make a better profit by showing users something other than what they asked for, you'll do that. There's nothing new in this. Physical stores do that, too, and also did so half a century ago: Perhaps present the customer with what he or she asked for, but also offer alternatives, add-ons, etc.

Which companies specifically qualify as 'big tech' changes over time, but the original FANG quartet all operated in this realm of figuring out things as they went.

For the last decade and a half, such companies have had a significant impact on software-design thinking. Technologists from big-tech companies have been prolific in sharing how they do things. As Hillel Wayne observed, thought leaders are those who share their experiences with the rest of us. Most professional technologists don't.

Even though "move fast and break things" is no longer a motto, the mindset lingers. I regularly listen to a tech podcast where a recurring jest is that testing is only done in production. As the hosts snicker, I grind my teeth.

Because such big-tech messaging is as loud as it is, it's easy to forget that there are plenty of software contexts where correctness is important.

The price is right #

I spent my initial years as a programmer developing 'e-commerce sites' (i.e. web shops) for various companies in Denmark. In one case, a technical customer representative spent days with me, painstakingly going over each line of my C++ component to make sure that it calculated all prices and discounts correctly. This was a business-to-business sales system, and discount policies were complicated. The company had long-standing relationships with its customers, and couldn't risk jeopardising trust by miscalculating discounts.

Working on another code base, for another client, I one day received a call from the customer: "Why are all prices on the site zero?"

Fortunately, it was 'only' on the staging environment, so we managed to fix the issue before the real site started giving away everything for free.

In a third incident, a client had hired a third-party white-hat security company to perform a penetration test of the system. One issue they found was that we were using URL parameters to transport product prices from one page to the next. Before you judge me, this is more than twenty years ago, and I didn't know what I was doing. Most of us didn't. The issue, though, was that since URL parameters indicated prices, anyone could edit the URL to give themselves a nice discount. In fact, we didn't even check whether the number was positive.

If you ask an internet merchant, you'll find that he or she finds it important that prices are correct, even if the site also comes with various A/B-test-driven features for cross- and up-selling.

In general, it turns out that if you're dealing with money, correctness is of the utmost importance. This includes not only prices, but investments, pension funds, interest calculations, and taxes (although the new Danish property valuation system may prove to be a counter-argument).

Software that handles money is far from the only example where correctness is important.

Science #

It should be uncontroversial that software related to empirical sciences (physics, chemistry, astronomy, etc.) need to be correct to be useful. By extension, this also pertains to applied sciences. If you wish to insert a space craft into a Mars orbit, you should make sure to use correct units for calculation.

If you drive a car with a digital operating system, you'd prefer that it doesn't accelerate when you step on the brakes.

Not all examples have to be negative. The Copenhagen Metro is a driverless train system controlled by a fully automated computer system, and so far, it has worked pretty well. My point isn't that computerized transportation systems are doomed to fail. Rather, the point is that correctness is important because people may be hurt if things go wrong.

Medicine #

Is correctness important in medical software? Do I even have to argue the case? Would you like to receive radiation therapy from a machine with a race condition?

If you have a system that calculates medicine doses, does correct unit conversion sound like something that should be a priority?

Law #

Law is a funny discipline, because normally it is categorised as a social science. Even so, I think it has something in common with formal science, particularly computer science. In a sense, we may think of it as an axiomatic system of rules, although the 'axioms' are ad-hoc creations by a 'legislature', and we call them 'laws'. In a sense, a law is a little like a computer program, where we call the execution environment a 'court'.

This comparison may, perhaps, be too far out. The topic of this essay, anyway, is correctness, not philosophy of science. Can we think of legal computer systems were correctness is of the essence? How about a software-based cadastre? A civil registration system that keeps track of civil status, inheritance relationships, etc.? Prison parole management systems?

Security #

Software security is a part of many systems. If it doesn't work correctly, it's hardly useful. A system should prevent users from reading other users' data. Unless explicitly granted access, in which case it may then be important that access indeed works.

One problem that is especially pertinent with software security is how to prove the absence of a flaw. To some degree, this is an problem that also plagues other aspects of software development, not to mention epistemology in general. Even so, when testing software features, a comprehensive battery of tests can often convince you that a feature works correctly. With security, however, the stakes are different. All it takes is one flaw somewhere, and the wrong person has access to the wrong data.

Security appears to me as an area where black-box testing is insufficient; where careful inspection of code aids in fostering correctness.

State of affairs #

I could keep going. How about military applications? Robots? The point is that there's no lack of software where correctness is an important part. These are systems where it would be irresponsible, and often illegal, to test in production.

Despite the dominance of move-fast-and-break-things mindset in recent thought-leadership I posit that correctness plays a significant role in a substantial part of the overall software ecosystem. Perhaps it's not in the majority, but neither does it make a vanishingly small part. I imagine that it presently looks like this, where the green partition represents software where correctness is important:

A purple set with a circa-forty-percent green partition.

While the current trends in LLM-generated code indicate an exponential increase in future software, it's not clear to me how correctness will be addressed without human skin in the game. I grant that it looks as though LLMs are good at producing certain kinds of software much faster than human programmers. If life or limb is on the line, however, are we ready to trust systems thus created?

Regardless of the answer, I don't think software where correctness is important is going to disappear. Perhaps its percentage dwindles as LLMs create more software, but that may rather be an effect of having a much bigger cake.

A bit orange set with a smaller green partition.

This figure is hardly to scale. In reality, we may easily see an exponential explosion in the amount of software created by LLMs, while the scale of correctness-oriented software may stay comparable to today.

Conclusion #

I expect that people and organizations will attempt to develop correctness-oriented software with LLMs. While I find that ill-advised, I'm certain that this will happen. I also expect that some such systems will turn out to be unreliable, and unfortunately, lives and fortunes will be lost. I hope I'm wrong.


This blog is totally free, but if you like it, please consider supporting it.
Read the whole story
alvinashcraft
5 hours ago
reply
Pennsylvania, USA
Share this story
Delete

MicroVision layoffs impact senior-level engineering roles

1 Share

MicroVision plans to lay off 49 employees at its Redmond, Wash., headquarters in a series of job cuts starting in late April, according to a new regulatory filing with Washington state.

  • The cuts are heavily concentrated in engineering and technical roles. Several senior-level positions — including director of supply chain, director of IT, and director of operations and supply chain — are impacted, according to the filing.
  • MicroVision, a longtime Seattle-area tech company, develops lidar sensors and perception software used for autonomous driving systems, as well as industrial and security use cases. It reported 185 full-time employees at the end of its fiscal year 2024.
  • MicroVision recently acquired assets from lidar maker Luminar for $33 million through a bankruptcy auction, and scooped up Scantinel Photonics in January. The company reports its fourth quarter results on Wednesday.
Read the whole story
alvinashcraft
8 hours ago
reply
Pennsylvania, USA
Share this story
Delete

GitHub Copilot CLI Reaches General Availability, Bringing Agentic Coding to the Terminal

1 Share
GitHub Copilot CLI is now generally available for all paid Copilot subscribers, offering agentic workflows, multiple AI model support, and specialized agents for terminal-based development.
Read the whole story
alvinashcraft
8 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories