Sign in to view Jason’s full profile
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
Sign in to view Jason’s full profile
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
London Area, United Kingdom
Sign in to view Jason’s full profile
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
13K followers
500+ connections
Sign in to view Jason’s full profile
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
View mutual connections with Jason
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
View mutual connections with Jason
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
Sign in to view Jason’s full profile
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
Articles by Jason
-
Rookie Mistake: Minimising "Interruptions"
Rookie Mistake: Minimising "Interruptions"
We all know that feeling when we're deep in concentration, lost in our mind palaces, and some absolute sod dares to…
24
4 Comments -
Don't Be Beaten By Agile Cadences. Slow Down & RELAX.Oct 23, 2023
Don't Be Beaten By Agile Cadences. Slow Down & RELAX.
One of the earliest pieces of advice I got about practicing guitar was to use a metronome. Playing to a regular beat…
13
-
7 Things I Learned About Software Development The Hard WayAug 2, 2023
7 Things I Learned About Software Development The Hard Way
If I could jump in my TARDIS and go back to the start of my career to give my younger self some advice, there are…
32
2 Comments -
The Importance of PerspectiveJul 25, 2023
The Importance of Perspective
Many people say that software development is a details job. If you're no good at getting the details right in such a…
4
1 Comment -
Early Experiences and Formative Years Are A LotteryJul 22, 2023
Early Experiences and Formative Years Are A Lottery
I was exploring the hard drive from the first PC I bought with my first graduate pay cheque this morning, fully…
16
6 Comments -
But Who's Going To Mow That Lawn?Jul 9, 2023
But Who's Going To Mow That Lawn?
Until our beloved government completely borked our economy and interest rates skyrocketed, I was on the hunt for a…
16
1 Comment -
Is My Code Easy To Understand?Jun 29, 2023
Is My Code Easy To Understand?
Studies have found that we developers spend a lot of time trying to understand code. Indeed, most of our time.
20
1 Comment -
Taking Pride In The BasicsJun 27, 2023
Taking Pride In The Basics
We're all about the new and the shiny and the cool and the exciting in the software industry. But the reality of…
43
5 Comments -
Code Craft Foundations #3 - RefactoringJun 24, 2023
Code Craft Foundations #3 - Refactoring
I've often said that the third leg of the tripod of foundational code craft skills is, in my experience, the second…
16
-
Code Craft Foundations #2 - Version ControlJun 23, 2023
Code Craft Foundations #2 - Version Control
I'd been programming for 12 years, and 2 years into a career in software development, before I heard of version…
Activity
Sign in to view Jason’s full profile
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
-
Fewer than 1 in 20 engineering teams have figured out how to scale AI-generated code and actually deliver it. That's from CircleCI's analysis of 28…
Fewer than 1 in 20 engineering teams have figured out how to scale AI-generated code and actually deliver it. That's from CircleCI's analysis of 28…
Liked by Jason Gorman
-
Ditch slow, flaky UI tests. ViewInspector gives you fast, reliable SwiftUI unit tests—and an active community behind it. https://lnkd.in/gApMYCu2
Ditch slow, flaky UI tests. ViewInspector gives you fast, reliable SwiftUI unit tests—and an active community behind it. https://lnkd.in/gApMYCu2
Liked by Jason Gorman
-
3 years of research and experimentation in AI-assisted software engineering condensed into a blog series (that's on the way to becoming a book). I…
3 years of research and experimentation in AI-assisted software engineering condensed into a blog series (that's on the way to becoming a book). I…
Shared by Jason Gorman
Recommendations received
4 people have recommended Jason
Join now to viewView Jason’s full profile
-
See who you know in common
-
Get introduced
-
Contact Jason directly
Other similar profiles
Explore more posts
-
James Henderson
Grid Dynamics • 894 followers
Testing is often an unnecessarily emotive subject in the software industry. I particularly recall a trip to a 'Software Craftsmen' London meetup in the early 2010s - the culture disintegrated into a shark tank when a brave soul dared to even slightly question (respectfully) the received wisdom du jour. As a fresh graduate, was I then going to ask any questions I had? Was I heck! I didn't go back, safe to say. (I instead found the London Clojurians, a much friendlier bunch - my kinda people 😊) Fast forward to today: I wanted to define a more objective language to talk about testing - a recognition that, despite all of the religious fervour, there can be a pragmatic middle ground that adequately mitigates the risks at a reasonable cost. So, rather than vague lamentations around 'we need time to improve our tests', 'we don't have enough tests', etc, the dimensions in this JUXT article give us a more precise, objective language to talk about the value and costs that our tests bring, prioritise certain areas over others, or quantify our improvements. https://lnkd.in/eu8rp8Wa Have I missed any big ones?
13
9 Comments -
Debasish Ghosh
Conviva • 5K followers
And now for some readings of user level RCU .. and a landmark paper that led to the implementation of liburcu - the user space RCU library, a Christmas Day evening read .. Why RCU is difficult in user space ? RCU, particularly its high-performance Quiescent-State-Based Reclamation (QSBR) variant, is easier in kernel mode because the kernel scheduler automatically detects quiescent states whenever a CPU context-switches, enters user mode, or idles, allowing grace-period tracking without any explicit cooperation from kernel code. In user mode, applications lack this built-in mechanism, so threads must explicitly register and periodically report quiescent states (e.g., by calling specific functions), imposing invasive global constraints on the entire application. These requirements make user-level RCU harder to adopt broadly, as they complicate library design and require modifications to all potentially reading threads, which is impractical in many user-space programs. User level implementations of RCU : This paper contributes to user-level RCU by formally describing efficient and flexible implementations that overcome the limitations of prior approaches, which either imposed high read-side overhead or severely restricted application design. It presents multiple classes of RCU (including QSBR, memory-barrier, signal-based, and bullet-proof variants) with detailed algorithms, performance analysis, and comparisons to locking, directly forming the foundational basis for the liburcu library's core flavors and enabling its widespread adoption in user-space applications.
73
3 Comments -
Nataliia Burmei
Engine by Starling • 2K followers
Recording is available on Ministry of Testing website. "This session is part practical demo, part conversation, and full of insights into how you can think critically about inputs, outputs, boundaries, and system behaviour. Ben and Nat also reflect on when to use these techniques, how to combine them, and why even the basics of testing remain valuable in modern contexts." https://lnkd.in/dq3BVi7z
8
-
Jason Gorman
13K followers
Continuing my series of posts attempting to (pseudo-)formalise the practice of Test-Driven Development, I want to look at a “rule” of TDD that’s actually helpful whether you’re going test-first or test-after. (Link in comments so as not to anger the algorithm gods)
16
2 Comments -
Erez Kaminski
Ketryx • 9K followers
A director of software engineering asked me recently what good coordination between PCCP and MLOps actually looks like. He was struggling because despite having a PCCP and a MLOps pipeline, progress felt slow and brittle. This was a result of misalignment. When teams treat the PCCP as the governing contract and MLOps as the execution layer, alignment becomes much easier. Here’s what that looks like in practice: 𝗔𝗹𝗶𝗴𝗻𝗲𝗱 𝗰𝗵𝗮𝗻𝗴𝗲 𝗰𝗼𝗻𝘁𝗿𝗼𝗹. A shared framework that makes it obvious which model, data, and performance changes are already authorized under the PCCP and which ones require additional review or regulatory involvement. 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗲𝗱 𝗲𝗻𝗳𝗼𝗿𝗰𝗲𝗺𝗲𝗻𝘁 𝗮𝗻𝗱 𝗲𝘃𝗶𝗱𝗲𝗻𝗰𝗲. Your MLOps pipelines enforce the PCCP rules in real time. Every approved change generates the validation evidence and traceability you need, without teams stopping to build documents by hand. 𝗖𝗹𝗼𝘀𝗲𝗱 𝗹𝗼𝗼𝗽 𝗺𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴 𝗮𝗻𝗱 𝗴𝗼𝘃𝗲𝗿𝗻𝗮𝗻𝗰𝗲. Training data, model versions, and real world performance are connected end to end and feed directly back into the PCCP risk controls. In practice, this only works when PCCP and QMS requirements are embedded in the tools engineers already use, not bolted on afterward as a documentation exercise. I’m curious how others are approaching this. How are you managing model updates in MLOps, without or without a PCCP?
29
-
Oleg Yaroshevych
Stealth Startup • 893 followers
Clearing System Design interviews at the Staff+ level remains a mystery. Even if you go for best-in-class courses, like HelloInterview by my colleague Stefan, you're often left on your own to show your experience. Sys Design is hard - you need to master foundations, manage time and comms, make solution future-proof, etc. Common prep materials make it worse with overly complex examples like social platform ranking systems or Dropbox-style sync protocols. The truth is: on Staff+ interviews they ask relatively simple questions to test depth, not speed. You won't waste time drawing 20 components - they want to see how deeply you think instead. I don't know the full formula to clear Sys Design rounds at this level, but can share what was working for me personally: 1/ Learn the fundamentals: things like GFS/Dynamo/RocksDB papers, behavior of distributed systems under high load, data locality, over-provisioning, clocks, replication lag, consistency models, use scientific notation, etc. Example from Anthropic Sr Staff interview: - Me: "I don't remember the exact metric name, but we trigger provisioning when we detect this resource utilization pattern." - Interviewer: "Oh, we call it metric X, and pattern Y, and the way you're describing it is how it works in our system." Pro tip: share some anecdotes, e.g., "we don't need persisted state from the get-go, but it was a nightmare to revoke stateless sessions on my previous project". 2/ Become good at sizing the problem. Know the population of key countries/markets, understand seasonal usage patterns across days/weeks, distributed systems fundamentals - like maximum dataset size for RDBMS, DB index overhead, key latency numbers, etc. Example from Google L7 interview: - Me: "Let me quickly quantify the system. For this problem, I'm estimating the population size to be in the mid-hundreds of millions, let's say it's 500M, but I will round it up to 1B." - Interviewer: "Actually, in my reference notes I have 500M, so let's keep it like this, so it's easier for me to compare the final numbers." - In the end, the final numbers checked. Pro tip: casually drop some fundamental reference, e.g. "By Little's Law, RAM won't bottleneck this cluster given our latency and throughput targets". 3/ Start and finish simple. Most real systems avoid expensive services like Kafka, complex client/server protocols, or real-time UI updates. Example from my current role's interview: - Me: "I'd just hash the input and denormalize the schema to avoid excessive DB upserts. Not the fanciest approach, but it works". - Interviewer: "Oh, this is exactly how our system actually works". Pro tip: research the company's tech stack, and don't be shy if you're not familiar with it: "I haven't used GCP, but we solved similar problems with AWS service X".
110
5 Comments -
Ryan Cormack
Motorway • 1K followers
👻 Kiro 👻 has had a whole host of great new features recently. There are the really big ones like Skills support and the constant evolution with new models like Opus and Sonnet 4.6, but one of my favourites is ACP... The Agent Client Protocol lets you take advantage of one of the best coding assistants 💪 around and use the underlying agent in a variety of different clients. I've been exploring how you can take advantage of Kiro for use cases that aren't all about writing code 💻 and how you and your teams can all reap the benefits from its huge capability. I've got my latest post in the comments on some of my favourite new ways to use Kiro with ACP. Let me know what you think. 🚀 #kiro #genai #kirocli
27
2 Comments -
Ian Cooper
Just Eat Takeaway.com • 6K followers
I mentioned one of my “down the pub” software development opinions to James Lewis at EventCentric. He suggested that I mention it to Kent Beck and so, while I remember. But definitely, the tone here, is “crazy talk over a pint.” ———- XP optimises software development for folks with ADHD. The Extreme Tuesday Club is likely a hotbed of ADHD diagnoses. TDD, CI, Small Releases: we need those rewards to keep coming in regular doses. Pair Programming: “Stay on target, stay on target” Refactoring, Boy Scout Rule: “Ooh, while I am here, I should fix that as well. Now where was I? Oh the test list.” Sustainable Pace: We can only focus so long in one stretch, even with the above. Planning Game: one story at a time, don’t get distracted by other things. Business value, not “shiny thing.” Small stories because we get bored easily. Whole team working so that we can get to that shiny story faster. Osmotic Communication: Quick, let me blurt out my idea before I get distracted and forget I wonder if there is a correlation between XP teams achieving flow, and XP teams filled with neurodivergent people who have figured a coping mechanism for productivity.
312
67 Comments -
Steve Freeman
Higher Order Logic • 1K followers
We’ve been trying to find a senior software engineer with good TDD skills. The process includes a coding exercise, currently remote. Recently we had a candidate who started well but got stuck as the exercise got more complicated (to be clear, this is a very basic domain with no algorithms involved). The strange thing was they couldn’t understand the code they’d written so far and kept looking off to the side. We suspected they were using a bit of LLM help. It all crashed rather badly. The irony is that we don’t mind if people do use AI, as long as it’s open and they can explain what they’re doing. I’m also wondering what they thought would happen if they’d got the job. The way we work, any such dependency would have shown up on the first day.
216
33 Comments -
Steven Knopf
John Lewis Partnership • 2K followers
We've published another great article from Wayland Goodliffe, Senior Backend Engineer at the John Lewis Partnership. This one describes how he uses GitHub Copilot for code reviews. At the end of the article he shares his detailed review.prompt.md file which he developed iteratively for when he is nearing completion of his own tickets and when he is reviewing a colleague's merge request. https://lnkd.in/eMpPizRx
24
1 Comment
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More