Blog
Welcome to my blog! Here you'll find a collection of my thoughts and experiences. I hope you enjoy reading them as much as I enjoy writing them.
Welcome to my blog! Here you'll find a collection of my thoughts and experiences. I hope you enjoy reading them as much as I enjoy writing them.
Procrastination stems from psychological resistance to uncertainty rather than laziness, which is why talking through problems with colleagues helps overcome mental blocks. AI can serve as an always-available alternative, providing the same cognitive activation needed to break through initial resistance and gain momentum without relying on others' availability.
Building great software isn't just about writing code—it's about following a disciplined process that ensures quality, alignment, and successful delivery. Here are the essential practices every engineering team should embrace.
In the fast-paced world of software development, rushing into code without proper planning is like building a house without blueprints. You might get something standing, but it won't be what you envisioned, and fixing it later will cost you dearly. After years of watching projects succeed and fail, I've distilled the essential elements of effective project planning into a practical framework.
Explore the benefits of software architecture, the risks of neglecting it, how it evolves from small apps to enterprise systems, and practical guidance for choosing the right approach for your project.
Building robust, maintainable iOS and Mac applications requires a solid architectural foundation. Over the years, I've found that combining principles from Clean Architecture, Domain-Driven Design (DDD), and modern reactive patterns creates a powerful framework for mobile and desktop development. Let me walk you through the key principles that guide my approach.
Artificial Intelligence has revolutionized software development, but like any powerful tool, it requires skill and understanding to use effectively. After working with AI coding assistants extensively, I've learned that success isn't about generating more code faster—it's about using AI strategically while maintaining human oversight and judgment.
While the tech world buzzes with excitement about AI-powered development tools, we're collectively missing a more immediate and impactful opportunity: using AI to learn optimally. This isn't just another application of AI—it's potentially the most valuable one for individual growth and career development.
Strong engineering teams grow in two dimensions: individual technical mastery and collective team dynamics. While personal growth depends on each engineer’s initiative, it accelerates when guided by experienced leads. At the same time, healthy team dynamics don’t emerge by chance—they must be modeled, nurtured, and reinforced by leadership.
The barriers to supporting both Mac and iOS are lower than ever. Discover what’s changed, what to watch out for, and why now is the best time to think cross-platform.