Imagine you've just built an amazing iOS app for a restaurant. The client loves it, the users love it, their dogs love it, etc. As expected, soon enough you get a call from the client: Hey, can you make the same app for my other restaurant? Sounds simple. Just copy-paste…
After tackling the Single Responsibility Principle and Open-Closed Principle, it's time to explore the Liskov Substitution Principle (LSP) and how it can help us write better code. At first glance, it's straightforward: if we have a component X conforming to protocol A, and another component (Y) conforming to the same…
Over the years, we've been told to use dependency injection to help our apps scale better. On the other hand, design patterns like MV suggest simplifying app design to the minimum, often overlooking proper dependency management. While most of us instinctively understand that Dependency Injection is crucial for maintainability, testability,…
While most people share common fears like death, public speaking, and rejection, software developers have an additional dread - receiving a bad code review. But why does a simple checkup cause so much stress and negative emotions? Is it because we fear being judged or appearing incompetent in front of…
Have you ever joined a development team that was a team in name only? Torn apart by internal conflicts, petty quarrels, clashing egos, and office politics? Or perhaps you've seen a seemingly perfect candidate join a well-organized team, only to fail to integrate and quickly leave? Finding and recruiting exceptional…
Remote styling in iOS apps is becoming increasingly important for modern development workflows. Picture this: you're finalizing a banking app with remote UI configuration capabilities. From the project's inception, you've implemented a robust remote styling system with SwiftUI view modifiers that make UI updates seamless. Your codebase includes well-structured style…
So you've been promoted to a Tech Lead position? Or perhaps you're eyeing it as the next step in your career? But what does a Tech Lead actually do? What new responsibilities come with this title? Beyond the usual job-change jitters, is there anything you should know before taking the…
The Open-Closed Principle (OCP) represents the letter "O" in S.O.L.I.D. It teaches us to create software that is open to extension but closed to change, enhancing its maintainability and scalability. To be honest, the OCP is one of the most challenging S.O.L.I.D. principles to understand and apply in iOS projects.…
