Tag: technology
Stanford's CS146S: The Modern Software Developer
An overview of Stanford's forward-looking course on AI-assisted software development and its core principles.
On Leading a Room Full of Experts
A summary of Ibrahim Diallo's article on the role of a leader in a team of specialists, focusing on translation, goal-orientation, and context-setting.
Scaling Python Data Science: Lessons from Coiled
A summary of a Talk Python podcast episode discussing the trade-offs of scaling data science workflows, focusing on Coiled's approach to environment replication and productionisation.
From Code Generation to AI-Native: Insights from the Front Lines
An analysis of a panel discussion with Anthropic, Trae, and Replit, connecting their best practices for AI-native development to the evolving role of the software engineer.
Revisiting Vibe Coding: An Analysis of AWS's Practical Guide
An analysis of the AWS guide on vibe coding, comparing its structured, tool-centric approach with earlier conclusions on agentic workflows and human-led architecture.
You Should Delete Tests
A summary of André Arko's argument that tests should be deleted when they no longer increase confidence, with a focus on flaky, high-maintenance, or irrelevant tests.
A Practical Guide to Coding with LLMs: Dos and Don'ts
A structured approach to using AI coding assistants, moving from contemplative prompting to scalable agentic workflows.
Is AI the Next Microprocessor or the Next Shipping Container?
An analysis of whether AI will create new wealth like the microprocessor or primarily benefit incumbents and customers like shipping containerisation.
Working with AI Wizards and the Need for Explainability
Ethan Mollick's 'wizard' analogy for AI highlights a growing problem: as models become more powerful, their processes become more opaque, creating a critical need for explainability.
Contrasting Memory Philosophies: Claude's Explicit Tools vs. ChatGPT's Automatic Profiles
A look at the different approaches to memory in Claude and ChatGPT, highlighting the trade-offs between transparency and convenience.
A Structured Methodology for Disciplined AI Software Development
A summary of the 'Disciplined AI Software Development' methodology, which provides a framework for managing AI collaboration in coding projects.
The Tension Between Legibility and Efficiency in Software Companies
Exploring the concept of legibility and how large organisations often prioritise it over real efficiency, based on an article by Sean Goedecke.
Frameworks as Mental Handrails for Navigating Complexity
A summary of Mike Fisher's article on frameworks as cognitive tools, with reflections on their application in TOGAF and Systems Engineering.
Where's the Shovelware? The AI Coding Claims Conundrum
An analysis of why AI coding tools haven't led to a surge in software production, despite widespread adoption and bold productivity claims.
Building Reliable AI Agents: Notes on Evaluation and Contracts
A concise look at why evaluating AI agents is essential and how the 'contractor' model can improve their reliability in business.
How Optimising for Short-Term Metrics Causes Long-Term Harm
An analysis of how optimising for short-term engagement metrics through A/B testing can lead to unintended, long-term harm for users and society.
Quantifying the Environmental Impact of Large Language Models
Mistral AI has published a comprehensive lifecycle analysis of its models, setting a potential standard for measuring the environmental impact of artificial intelligence.
A reading list on developer productivity metrics
A curated reading list by Laura Tacho covering frameworks, benchmarks, and articles on measuring developer productivity and the impact of AI.
The GenAI divide report: Scrutiny, hype, and the reality of AI adoption
An analysis of the controversial MIT NANDA report on AI ROI, contrasting its claims with critical perspectives and exploring the real challenges of enterprise AI adoption.
Alberta's new blueprint: Treating data centres as grid actors
An analysis of Alberta's proposed regulations that require large data centres to act as responsible participants in the electrical grid, not just passive consumers.
MCP servers: less is more
An analysis of the risks associated with Model Context Protocol (MCP) servers, focusing on token consumption and security vulnerabilities.
A modern toolkit for great Python projects
A summary of Duarte Pompeu's recommended Python development toolkit for 2025, focusing on uv, Ruff, and centralised configuration.
What are the most profitable uses of ChatGPT?
A summary of real-world examples from Reddit showing how people use AI tools to save money, improve their work, and solve personal problems.
On Simplicity in Software and System Design
A summary of Sean Goedecke's principles on simple design, and a reflection on how they connect to broader concepts in Systems Engineering and TOGAF.
Fixing the context window for LLM agents
A look at key strategies for managing context in LLM agents, inspired by an article from dbreunig.com and insights from Cognition AI.
Rethinking RAG with visual document analysis
An interesting approach from Morphik that uses images of pages for Retrieval-Augmented Generation, avoiding traditional parsing issues.
Understanding the ecosystem of MBSE, SysML, and TOGAF
A practical overview of how Model-Based Systems Engineering (MBSE), SysML, and TOGAF work together to manage complex system development.
A practical guide to MLOps with Databricks
A detailed overview and personal take on the excellent MLOps with Databricks course series by Marvelous MLOps.
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.
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.
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).
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.
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.
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.
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.
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.
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.
Women as technology
A reflection on the 'Women as Technology' exhibition, exploring the intersection of gender, stereotypes, and technological development.
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.
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.
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.
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.
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.
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.
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.
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.
The human cost of technical debt
A reflection on how technical debt impacts not just our codebases, but also team morale and confidence.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Agents: Programming with feedback-driven LLMs
How LLM agents become dramatically more capable when given tools to interact with their environment.
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.
Choosing the right data architecture
Exploring Data Warehouse, Data Lake, Data Lakehouse, and Data Mesh architectures from a data engineer's perspective.
Insights on building MLOps systems
Reflections on Mehmet Burak Sayıcı's experiences building MLOps systems over four years
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.
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
Avoiding and reducing technical debt
Exploring Chelsea Troy's insights on managing maintenance load in software projects.
Decision-making pitfalls for leaders from Chelsea Troy
Chelsea Troy's insights on common decision-making traps in technical leadership.
Python Developer Tooling Handbook
Comprehensive guide to Python development tools and best practices
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.
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.
Twelve-factor agents: Building reliable LLM applications
A structured approach to creating production-ready LLM applications inspired by the classic 12 Factor Apps methodology
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
Emerging developer patterns for the AI era
Overview of nine patterns for software development with AI agents from a16z.
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.
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.
A Recommended Read: Architecture Patterns with Python
An in-depth guide to architectural patterns in Python, focusing on practical examples, TDD, and DDD.
Simon Willison on Building with LLMs (PyCon 2025)
A link to Simon Willison's PyCon 2025 tutorial materials on building applications with llms
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.
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.
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.
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.
More tags:
- adoption
- agents
- ai
- ai-development
- amazon
- analogy
- architecture
- autonomy
- aws
- best-practices
- books
- build vs buy
- business
- business intelligence
- business strategy
- caching
- career
- career-development
- change management
- chatgpt
- claude
- cloud
- coding
- communication
- concepts
- continuous-discovery
- coursera
- coverage
- critical-thinking
- cursor
- data
- data centres
- data-science
- databricks
- decision-making
- design
- design-principles
- developer productivity
- development
- devops
- dictation
- disruption
- documentation
- domain engineering
- economics
- education
- efficiency
- energy
- engineering
- engineering-leadership
- ethics
- europe
- exhibition
- explainability
- focus
- framework
- future-of-work
- game
- genbi
- github
- grid stability
- habits
- innovation
- inspiration
- intuition
- investing
- kilocode
- kiss
- leadership
- learning
- links
- llm
- llms
- machine-learning
- maintenance
- management
- martin-fowler
- mbse
- mcp
- methodology
- metrics
- michael pilarczyk
- military
- mindset
- mlops
- morale
- nasa
- networking
- nlp
- organisations
- pace-layering
- personal
- platform-engineering
- podcast
- policies
- policy
- product management
- productivity
- programming
- proprietary data
- python
- rag
- redis
- reliability
- remote work
- renewables
- resources
- roger martin
- search
- security
- simon-willison
- simplicity
- society
- software design
- software development
- software engineering
- software-architecture
- software-development
- software-engineering
- startups
- strategy
- substack
- summary
- survey
- sustainability
- system design
- system-design
- systems engineering
- systems-engineering
- systems-thinking
- team building
- teams
- tech-leadership
- technology
- technology-assessment
- testing
- thoughtworks
- togaf
- tooling
- tools
- tutorials
- vc
- vibe-coding
- wardley-maps
- workflow