Tags
Jager McConnell on Proprietary Data in the Age of Generative AI
Crunchbase CEO Jager McConnell on the enduring value of proprietary data in the age of AI.
Inspiring Persons: Simon Willison
Exploring how Simon Willison's work and approach to technology and society inspired me to build my own website and continue coding.
Inspiring Persons: Michael Pilarczyk (Part 1)
Introducing Michael Pilarczyk and how his mindset principles, particularly on visualisation and opportunity, have impacted my life.
Yevgeniy Brikman on DevOps from an engineer's perspective.
Yevgeniy Brikman's view on DevOps as a broad set of processes, not just a role, and its practical implications for engineers, based on his book.
Making AI Work: Leadership, Lab, and Crowd
Ethan Mollick discusses the organizational changes and challenges companies face when integrating AI, focusing on leadership, experimentation, and learning.
Simon Willison on Building with LLMs (PyCon 2025)
A link to Simon Willison's PyCon 2025 tutorial materials on building applications with llms
A Recommended Read: Architecture Patterns with Python
An in-depth guide to architectural patterns in Python, focusing on practical examples, TDD, and DDD.
DevOps for Data Science
A review of Alex K Gold's book 'DevOps for Data Science', offering a framework and guidance for data scientists and IT admins.
Notes on The Startup CTO's Handbook by Zach Goldberg
Reflections on Zach Goldberg's handbook, valuable for startup CTOs and anyone in tech leadership or engineering.
Emerging developer patterns for the AI era
Overview of nine patterns for software development with AI agents from a16z.
Inspiring Persons: Will Larson's systems thinking approach to engineering strategy
How Will Larson transforms complex engineering challenges like LLM adoption into structured conversations using simple systems models
Building and deploying LLMs: A course made by practitioners
A comprehensive open course on LLMs taught by industry veterans, covering everything from fine-tuning to deployment architectures
Twelve-factor agents: Building reliable LLM applications
A structured approach to creating production-ready LLM applications inspired by the classic 12 Factor Apps methodology
Inspiring Persons: Chip Huyen – A Structured Approach to Technology and (Career) Growth
An overview of Chip Huyen's work in machine learning systems design and her perspective on personal development, with connections to strategic thinking.
Building a modern resume: from manual tweaks to AI-powered automation
Discover how I transitioned from tedious manual resume updates to an efficient, AI-assisted workflow using Reactive-Resume and a custom JSON-to-Markdown converter.
Python Developer Tooling Handbook
Comprehensive guide to Python development tools and best practices
Decision-making pitfalls for leaders from Chelsea Troy
Chelsea Troy's insights on common decision-making traps in technical leadership.
Avoiding and reducing technical debt
Exploring Chelsea Troy's insights on managing maintenance load in software projects.
Building a PDF to markdown converter with vibe-coding
How I built PDF and Markdown conversion tools using Claude Sonnet 4 and prompt engineering best practices
Actionable strategy: implementing an ML platform in an energy business
A practical guide to applying Will Larson's strategy framework for selecting and deploying a machine learning platform, addressing common organisational challenges.
Insights on building MLOps systems
Reflections on Mehmet Burak Sayıcı's experiences building MLOps systems over four years
Navigating the Corporate Maze
Reflecting on an article about driving change in large, bureaucratic organisations, focusing on stakeholder management, role clarity, and aligning with company rhythm.
Choosing the right data architecture
Exploring Data Warehouse, Data Lake, Data Lakehouse, and Data Mesh architectures from a data engineer's perspective.
Why learning systems thinking is essential in tech
Diana Montalion discusses how systems thinking helps align stakeholders and improve technical outcomes through better modeling and collaboration.
Moving beyond point-by-point arguments
Sean Goedecke's article on why point-by-point arguments are harmful offers a better approach, aligning well with systems engineering principles.
Agents: Programming with feedback-driven LLMs
How LLM agents become dramatically more capable when given tools to interact with their environment.
Understanding MCP: A New Standard for AI Integration
Exploring Anthropic's Model Context Protocol and its potential to transform how AI interacts with software tools.
Smart People Don't Chase Goals - They Create Limits
Exploring how setting boundaries and constraints can be more effective than traditional goal-setting, especially in complex environments like software development.
A clear framework for the build vs. buy decision
A reflection on a simple yet powerful rule for deciding when to build software versus buying it, inspired by an article from Entropic Thoughts.
A practical toolkit for technology strategy
Moving from high-level maps to ground-level execution by combining Wardley Maps, Pace Layering, and structured strategy frameworks.
Security risks in LLM agents: Simon Willison’s insights
A summary of Simon Willison’s recent posts on security risks in LLM agents, including the lethal trifecta, design patterns, and real-world vulnerabilities.
The small habits that define great managers
A great article from First Round Review on the small, consistent actions that separate high-impact managers from the rest.
Not BYOD, but BYOS: Learning by building
A fantastic collection of guides for learning technology by building it from scratch, and a reflection on why this method is so effective.
How extraversion shapes remote communication
A look at recent research showing how introverts and extraverts have different communication needs in a remote workplace, and how leaders can adapt.
Beyond the vibe: structuring AI-assisted development
Discover how to move from chaotic 'vibe coding' to a structured workflow by applying advanced techniques for steering AI collaboration tools like Claude, Cline, and Cursor.
Finding leverage in the middle: Thoughts on domain engineering
A look at Jack Danger's concept of Domain Engineering and why this often-neglected middle layer is crucial for long-term strategy and scalability.
Using an LLM as a personal tutor for my systems engineering course
A detailed look at my workflow for using a custom-prompted LLM to create effective study materials for a university course.
Are you the best Chief Data Officer?
A quick and fun game to test your skills as a Chief Data Officer, balancing data quality, reputation, and profit.
What a coffee shop can teach you about system design
A summary of a great article by Raul Junco that uses a coffee shop to explain complex system design principles in a simple way.
Shape your work, influence strategy
A practical method for teams to shape their work, influence strategy, and bridge the gap between high-level vision and daily execution.
The last hurrah of human coding
A reflection on Alex MacCaw's concept of 'vibe coding' for senior engineers and how it aligns with the need for structured, architect-led AI collaboration.
The value of the expert generalist
A reflection on a Thoughtworks article about why combining broad skills with deep expertise is crucial for modern technologists.
Assessing new technology with Readiness Levels
A practical look at using Technology Readiness Levels (TRLs) and Commercial Readiness Levels (CRLs) to assess new technologies and decide where to invest effort.
A practical take on prioritisation
A summary of Jason Cohen's framework for identifying high-impact tasks and managing the consequences of intense focus.
Reflecting on AI's real impact on engineering leadership
A look at the 2025 LeadDev report on AI in engineering, and why a clear roadmap is more important than ever for successful adoption.
From theory to practice: How organisations are adopting AI
A look at a Stack Overflow article showing real-world examples of AI implementation at companies like Cloudflare, GitHub, and Abnormal AI.
From notebooks to production systems
A comprehensive overview of moving data science projects from exploration in notebooks to robust, production-ready systems using open-source tools.
What makes strong engineers strong?
A summary of Sean Goedecke's article on the key traits of effective engineers, focusing on self-belief, pragmatism, speed, and technical ability.
An overview of systems engineering core concepts
A practical summary of the foundational principles of systems engineering, synthesised from the first half of my Coursera course.
Europe's new summer energy challenge: the 'Hitzeflaute'
A look at how summer heatwaves and low wind create new challenges for Europe's power grid, and what we can do about it.
How to use AI without damaging your thinking
Reflections on Ethan Mollick's article about using AI to enhance, not hinder, our thinking, with practical tips for learning and writing.
A practical LLM coding workflow and a reflection on teamwork
A summary of Harper's LLM codegen workflow and how structured rulebooks might solve the 'solo developer' problem he identifies.
From platform engineering to platform democracy
An exploration of the evolution from platform engineering to a more collaborative 'platform democracy', driven by developer needs and efficiency.
The human cost of technical debt
A reflection on how technical debt impacts not just our codebases, but also team morale and confidence.
A simple trick for better dictation with AI
A practical tip from Matt Webb on using a persona to give instructions to an LLM while dictating, making the process cleaner and more efficient.
The state of software engineering with LLMs in 2025
A look at how LLMs are changing software development, inspired by Gergely Orosz's recent article, and my own plans for adopting these new tools.
Frameworks for measuring developer productivity
A look at the DX frameworks for measuring AI and developer productivity, placed in the context of other models like DORA and SPACE.
Has self-service BI finally arrived with AI?
A look at how conversational AI and Model Context Protocol (MCP) could revolutionise business intelligence, with a dose of healthy scepticism.
A deeper dive into systems engineering: from design to disposal
A summary of the core concepts from the second half of my systems engineering course, covering the journey from detailed design to system retirement and management.
Practical lessons from Meta on improving code
Exploring Meta's data-driven and cultural approach to code improvement and how we can apply these lessons to our own projects.
The Pragmatic Engineer 2025 survey
A look at the key findings from The Pragmatic Engineer's 2025 developer tools survey, including some surprising trends in AI, IDEs, and project management tools.
Lessons on building software quickly
A look at Evan Hahn's practical advice for efficient software development, focusing on key takeaways like rough drafts and focused work.
Include your tests in coverage reports
A short post on why, inspired by Ned Batchelder, you should include your test code in your coverage analysis.
Roger Martin on going on the offensive with creative strategy
A reflection on Roger Martin's argument that creative innovation requires an offensive mindset, challenging the business world's reliance on historical data for future predictions.
What makes a principal engineer different from a senior?
A look at Amazon's Principal Engineer role, exploring the key differences in scope, autonomy, and how it compares to senior technical roles in other engineering cultures.
Aligned autonomy: from military strategy to engineering teams
An exploration of how the concept of aligned autonomy in business mirrors the effective military doctrine of mission command.
Networking for people who do not network
A practical guide to networking from Stay SaaSy for those who, like me, are not natural networkers.
People, principles, process, then product
A reflection on Mike Fisher's framework that prioritizes people, principles, and process before focusing on the product itself.
A refreshing, back-to-basics approach to coding with AI
A look at antirez's argument for using LLMs as direct, human-controlled add-ons, avoiding agents and retaining full control over the development process.
The cost of being wrong
A reflection on Jack Vanlightly's article about how the low cost of failure in software should encourage decisive action.
The bitter lesson for organisations
Ethan Mollick's article on 'The Bitter Lesson' suggests that brute-force AI may outperform human-designed processes, but where do humans still hold the advantage?
Women as technology
A reflection on the 'Women as Technology' exhibition, exploring the intersection of gender, stereotypes, and technological development.
Putting the developer at the centre of platform engineering
A look at how the practice of continuous discovery helps build platforms that developers actually want to use.
Experimenting with Kilo Code and the Model Context Protocol
A look at my first experiences with Kilo Code, an open-source alternative to Cursor, and the process of getting the Playwright MCP working.
Leadership co-processing with LLMs
A look at how Large Language Models can be used as a thinking partner for leadership tasks, inspired by an article from James Stanier.
A practical guide to setting company policies
A summary of and commentary on Stay SaaSy's excellent article about the lifecycle of creating, managing, and retiring company policies.
An oral history of how ChatGPT disrupted the field of NLP
A summary of a Quanta Magazine article that documents the shift in Natural Language Processing (NLP) following the rise of LLMs.
A practical framework for trusting your gut
Phil McKinney offers a three-step framework to turn unreliable gut feelings into a systematic and reliable tool for decision-making.
A deeper look at AI's impact through the SPACE framework
A reflection on a study that uses the SPACE framework to measure the real-world impact of AI on developer productivity, satisfaction, and collaboration.
A periodic table for system design
An exploration of Joy Arulraj's 'periodic table' of system design principles, with some reflections on its practical use.
Simon Willison on the lethal trifecta and MCP security
A look at Simon Willison's latest talk on AI security, focusing on his 'lethal trifecta' concept and the risks of the Model Context Protocol (MCP).
Onboarding AI with READMEs and quality gates
A practical approach to structuring project documentation using READMEs for context and automated checks as 'Quality Gates' to improve AI-assisted development.
Beyond keys: The rise of semantic and prefix caching for LLMs
An exploration of how new caching techniques from Redis, OpenAI, and Claude are tackling the expensive problem of repetitive LLM calls.