Swizec's articles in the "complexity" 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 18 articles filed under complexity
. Enjoy β€οΈ
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails π on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. π"
Empirical evidence for code modularity
Few of your engineering decisions matter long-term. Software is soft. You can change your mind. But how you structure your components is here to stay.
Why even care about code structure
As long as it works, right?
Finding modules in a big ball of mud
Pulling modules out of a big ball of mud is like grabbing a slice of cheesy pizza. It's kinda separate but also not really.
Big Ball of Mud βΒ the world's most popular software architecture
Forget Gang of Four, here are the 7 architectural patterns real programmers use:
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.
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".
From trivial to complex βΒ 4 software quadrants
You can classify software projects into 4 quadrants from trivial to complex
Architecture is like a path in the woods
You're doing too much. Sit back, relax, see how people *want* to use the code. THEN build the abstraction.
The efficacy of TypeScript
TypeScript may streamline code navigation and catch semantic errors, but it doesn't guarantee fewer bugs or faster fixes.
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.
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.
Write abstractions, not just code
Wherein I use a silly example to show why you need more than small reusable single purpose functions to write good software.
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails π on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. π"