Designing a Scalable DNS Schema for Large Distributed Systems
In large distributed systems, a well-designed DNS schema isn’t just about naming; it’s about controlling access, enforcing boundaries, and supporting automat...
In large distributed systems, a well-designed DNS schema isn’t just about naming; it’s about controlling access, enforcing boundaries, and supporting automat...
In the age of digital transformation, platforms are no longer just infrastructure, they are products. Whether you’re building a developer platform, data plat...
Despite years of advancements in web security, many applications still lack one of the simplest, most effective defense mechanisms: HTTP Security Headers. Th...
Part 8: The Future of Your Internal Platform. Progressive delivery, AI-driven insights, and what comes next.
Part 7: Day-2 Operations and Platform Maturity. From running to sustaining — the reality of platform engineering at scale.
Part 6: Scaling the Platform — Multi-Tenancy, Environments, and Governance. Designing for multiple teams, regions, and stages of software delivery.
Part 5: Crafting the Developer Experience Layer. Turning Kubernetes into a smooth, self-service developer platform.
Part 4: Installing Core Platform Services. GitOps, ingress, observability — laying the groundwork for self-service.
Part 3: Bootstrapping Your Infrastructure with Terraform. From zero to a secure, repeatable foundation in AWS.
Part 2: Choosing Your Container Platform Building Blocks. EKS, AKS, ECS, Nomad… How do you choose the right base for your internal platform?
Part 1: Why Build a Self-Service Container Platform? A pragmatic look at internal platforms, orchestration fatigue, and building for developer flow.
How to Build, Ship, and Run Containers Without Opening the Front Door to Attackers
Threat modeling has evolved from a niche security task into a core part of modern software development. It’s not just for security engineers — it’s a tool pr...
Incidents happen. Maybe it was a misconfigured S3 bucket, a leaked token, or a logic bug that let a user see someone else’s data. The temptation after contai...
If there’s one thing nearly every developer has built at some point, it’s a login system. And why not? There are plenty of libraries to help, standards like ...
We’ve reached the end of the OWASP Top 10 in this OWASP Top 10:2021 series — and we’re finishing with a bang. SSRF is one of the most dangerous vulnerabiliti...
You Can’t Respond to What You Don’t See
Welcome back to this OWASP Top 10:2021 security series. Today, we’re stepping away from code bugs and logic flaws to talk about something much sneakier: trus...
Welcome back to this deep dive into the OWASP Top 10. Today we’re looking at something fundamental: authentication.
Welcome back to this OWASP Top 10 deep dive. Today’s topic — Vulnerable and Outdated Components — might not sound exciting at first, but it’s a silent killer...
Welcome to Part 5 of this OWASP Top 10 series. So far, we’ve covered insecure code, weak design, and architectural flaws. Now it’s time to talk about somethi...
Welcome to Part 4 of our OWASP Top 10:2021 series. So far, we’ve looked at hands-on, tactical flaws like Injection and Cryptographic Failures. But now we’re ...
Welcome back to this OWASP Top 10 series. So far, we’ve looked at Broken Access Control and Cryptographic Failures — both dangerous, both preventable. Now we...
Welcome to part two of this OWASP Top 10:2021 series, where I break down each of the top security risks, in a way that makes sense to everyday engineers. In ...
Welcome to the first post in this OWASP Top 10:2021 series, where I break down each of the top security risks. This is for engineers who may not be security ...
The future of AI in software development is something that has been hotly debated, and I can understand why so many are quick to jump to the conclusion that ...
Organisational culture is the invisible force that drives the day-to-day behaviours, attitudes, and interactions within a company. This culture can sometimes...
Platform teams are at the heart of modern tech organisations, providing the tools, infrastructure, and systems that empower product teams to work efficiently...
In the rapidly evolving landscape of software engineering, one of the most persistent challenges is breaking down the invisible walls that separate teams. As...
Cascading Style Sheets (CSS) is a fundamental technology for web development, allowing you to control the presentation and layout of your HTML documents. Thi...
Cascading Style Sheets (CSS) is a fundamental technology for web development, allowing you to control the presentation and layout of your HTML documents. Thi...
Kanban is a popular Agile methodology used to manage workflows and improve productivity. A Kanban board is a visual representation of your team’s workflow an...
Building a software platform can be a challenging task. Even with the best technical features and capabilities, a platform won’t be successful if people don’...
OKRs (Objectives and Key Results) are a powerful goal-setting framework that can help teams and organisations focus on achieving their most important objecti...
OpsLevel and Backstage are two popular internal developer platforms that offer a range of features for software development organisations. In this blog post,...
When it comes to organising code repositories for software development projects, two popular approaches are monorepo and polyrepo. Both have their advantages...
In today’s rapidly evolving technological landscape, delivering software quickly and efficiently is paramount to staying competitive. An internal developer p...
AWS Lambda has become one of the most popular serverless computing platforms in recent years. With Lambda, developers can easily run code in response to even...
GitHub Actions is a powerful tool that allows you to automate your software development workflows. With GitHub Actions, you can build, test, and deploy your ...
Terraform and the Serverless Framework are two popular infrastructure-as-code tools that are widely used by developers and DevOps teams to automate the deplo...
Mentoring junior software engineers is a crucial aspect of building a strong and effective software development team. Mentoring is not only about imparting t...
Platform engineering is a crucial aspect of software development that involves creating a robust and scalable infrastructure that can support multiple applic...
When it comes to cloud computing, Amazon Web Services (AWS) is one of the most popular providers on the market. One of the main reasons for its popularity is...
The world of software engineering is vast, and it offers many job opportunities. Two of the most prestigious roles in this field are senior software engineer...
In recent years, remote work has become increasingly popular, and it’s easy to see why. Remote work offers many benefits, such as greater flexibility and aut...
Kanban is a lean approach to software development that focuses on the flow of work and continuous delivery. It is a visual system for managing work that enab...
Resolving conflict between junior colleagues can be a challenging task, especially for managers who are responsible for maintaining a productive and harmonio...
Dead Letter Queues (DLQs) are a powerful feature in Amazon Web Services (AWS) that can help improve the reliability and resiliency of your applications. In t...
Terraform is a powerful tool for managing infrastructure as code, allowing you to define and deploy your infrastructure in a repeatable and automated way. Te...
Serverless technologies have been with us since Google released Google App Engine in 2008. For the first time a developer was able to develop a program and l...
Cloud Custodian is an open-source tool for managing your cloud resources across multiple cloud platforms, including Amazon Web Services (AWS). It is a policy...
Everyone starts from a single AWS account and you may be wondering why you would need multiple AWS accounts. Let me explain…
DNS hosting is an essential component of any web application or website. It provides a way to map domain names to IP addresses, allowing users to access the ...
Setting effective career goals is a crucial step towards achieving success in your professional life. Career goals help you define what you want to achieve, ...
Software testing is a crucial step in the software development lifecycle. It helps identify and fix bugs and issues in the software before it is released to ...