About:

Henrik Jernevad is a software architect with interests in personal development and minimalism, living in Varberg, Sweden.

Website:

Specializations:

Interests:

Personal development Minimalism Stoicism Strength training

Incoming Links:

Outgoing Links:

Subscribe to RSS:
Launching multiple instances of a service from day one helps uncover hidden bugs and architectural risks, ensuring better performance and reliability as the service scales.
The text discusses the nature of general relativity and critiques the perception of AI, particularly ChatGPT, as possessing understanding or reasoning. It explains that while ChatGPT can generate human-like responses based on stat...
The post discusses the concept of Specification-Driven Software Development Life Cycle (SDLC), advocating for high-quality, version-controlled specifications as the new source code. It reflects on historical attempts at similar pa...
Designing software for replaceability is crucial for resilience, advocating for narrow interfaces, isolation of dependencies, and simplicity in structure.
The article discusses the challenges of AI-generated code, particularly the issue of code drift, where AI fails to adhere to coding conventions and architectural constraints. It emphasizes the importance of taking small, well-defi...
Strategies for upgrading legacy systems include understanding dependencies, preparing with tests, executing in increments, and ensuring thorough testing to avoid pitfalls.
The article discusses the necessity of having spare capacity, or 'slack', within a team to enhance efficiency and adaptability. It uses traffic flow theory as an analogy to explain how teams, like highways, can only handle a certa...
The article discusses the concept of a 'walking skeleton' in software development, which connects frontend and backend components from the start to prevent silos between teams. Defined by Alistair Cockburn, this approach allows fo...
The article discusses the implications of using AI in software development, emphasizing the risk of becoming disconnected from the code due to reliance on AI agents. It warns that while AI can enhance productivity, it may also lea...
The blog post critiques OpenAI's new AI browser, Atlas, highlighting its potential security risks by allowing autonomous actions that could lead to phishing attacks. The author expresses concern over the tech industry's shift from...
The article emphasizes that effective architecture is determined by the context in which it is created, rather than personal preferences. It advises architects to understand their domain, focus on solving actual problems, avoid un...
The text discusses the importance of professionalism across various professions, emphasizing that leaving a mess behind—whether it's physical tools or messy code—reflects poorly on one's work ethic. It argues that professionals sh...
The article compares software architecture to a nautical chart, emphasizing that its purpose is to outline a solution space that allows teams to navigate effectively. It highlights the importance of balancing guidance and freedom ...
The author argues that a team performs better when driven by a 'sense of purpose' rather than a 'sense of urgency.' A clear purpose fosters better decision-making and collaboration, while urgency can lead to burnout and lower qual...
The article provides guidelines for writing clear, informative, and engaging technical documentation. It emphasizes understanding the target audience, using simple language, and helping readers build a mental model of the subject....
The article discusses the importance of divergent and convergent thinking in problem-solving, particularly in software development. It highlights the author's past mistakes in designing systems without considering alternative solu...
The article discusses the importance of writing solution notes, which are concise records of problems and their fixes. It outlines the anatomy of a solution note, which includes documenting the problem, understanding the cause, an...
The author, a recovering perfectionist, shares insights on the value of coping with failure. They argue that failure is essential for growth and learning, as it strengthens neural pathways and enhances future performance. The text...
The article discusses the inefficiencies of multitasking in teams, emphasizing that focusing on one task at a time leads to faster results. It references Joel Spolsky's insights on task-switching penalties and provides guidelines ...
Humility and collaboration are essential for personal growth and effective teamwork in professional environments.
The text emphasizes the importance of clear and concise writing, advocating for the use of simple words to enhance readability and accessibility. It provides practical tips for simplifying writing, such as removing unnecessary wor...
The text discusses how much design work is involved in everyday work, and how it is often underestimated. It emphasizes that design decisions are made daily and can shape the system as much as large architectural decisions.
The text discusses the importance of design in software projects, emphasizing that design work is often underestimated and intertwined with implementation. It highlights the impact of everyday design decisions on the system and th...
The text discusses the challenges faced by software developers in understanding and implementing vague requirements from managers and domain experts, emphasizing the importance of detailed questions and engagement to prevent mista...