Swizec Teller - a geek with a hatswizec.com

Senior Mindset Book

Get promoted, earn a bigger salary, work for top companies

Senior Engineer Mindset cover
Learn more

    Swizec's articles in the "architecture" category

    I aim to write mindblowing emails with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them.

    Below are 19 articles filed under architecture. Enjoy ❤️

    Why software projects fail

    5 common themes

    What helps you ship confidently?

    Been thinking about what needs to be in place for engineers to ship with confidence

    Why SQL is Forever

    Never underestimate the power of good marketing for bad products. NoSQL was fun but SQL is here to stay.

    DRY – the common source of bad abstractions

    Swizec reveals the hidden pitfalls of overusing the DRY principle in coding, leading to bad abstractions. Discover how to write adaptable, efficient code that avoids these common traps.

    Scaling Fast, my talk on lessons from tech startups

    This talk from C3Fest summarizes the key lessons I've learned in the past ~15 years of working in tech startups. It's a high level overview of a new book I'm writing (60% done).

    You can't side-quest a product

    Here's a trap that talented engineers fall into all the time. It creates frustration, burnout, and the genre of tweets that read like "Why don't people care about the amazing work I'm doing".

    Solve the problem, not a different more difficult problem

    Solve the problem at hand, not the one you imagine might come next. A simple fix now often beats a complex one later.

    Avoid spooky action at a distance

    Shared state in programming isn't the enemy, it's unclear dependencies that tangle your code. Keep it clean with explicit state dependencies and strict access guidelines

    Finding modules in a Big Ball of Mud with ChatGPT

    Detangling a Big Ball of Mud is hard. You have to find domain boundaries where none exist. Looks like AI can help 🤩

    Followup answers to Forget complicated code, focus on the system

    Why are utility files bad? How do you recognize architectural complexity? What the hell is a transitive dependency?

    Forget complicated code, focus on the system

    Clean code matters, but it's the architectural complexity that truly impacts your productivity and bug count. Focus on simplifying the system, not just the code.

    Why taming architectural complexity is paramount

    Unravel the hidden costs of architectural complexity in software engineering and learn practical strategies to tackle it. Boost productivity, reduce defects, and improve staff retention with insights from an MIT PhD thesis.

    Two types of complexity and their impact

    Complicated code slows down junior devs, while complex systems impact senior devs more. Focus on managing system complexity & dependencies, not just simplifying code.

    You can't fix the wrong abstraction

    Unlock the secrets to combating architectural complexity in software development and learn to identify and fix the wrong abstraction. Boost productivity, reduce bugs, and retain more staff.

    A backend service nobody can grok

    a little case study from an upcoming book I'm writing with Manning about software rewrites

    Own the outcome, not the work

    Efficient problem-solving in engineering with a shift in perspective – focusing on user outcomes can lead to innovative solutions and change your approach to system design.

    Clever technical hackery can't solve the wrong design

    A simple change in perspective can help you overcome complex technical challenges and save time on future projects.

    What microservices are for

    Microservices are a pain in the ass. They turn every system into a byzantine mess of complexity. But this week ... they saved my butt.

    The Magic Function principle

    Write functions, mostly magic.

    Created by Swizec with ❤️