How to Discover the Complexity of Software Project
Introduction Anyone who has led a software project knows how challenging it can be to transform an idea into a functioning product. This complexity is amplified when faced with the task of understanding existing code or introducing a new, intricate functionality. In the arsenal of software development processes, there...
Balancing Business Needs with Superior Code Quality: A Perspective from 20 Years of Experience
Understanding the Business-Developer Disconnect Finding the right balance between what a business website requires and maintaining code quality with complete adherence to techniques like Clean Architecture, DDD, etc., especially the Framework Agnostic approach, is always challenging. The real struggle arises when many developers fail to grasp the essence of...
From Chaos to Clarity: Streamlining Communication in an Evolving Company
Ah, startups. A world of rapid growth, excitement, late-night pizza, and…miscommunication? Well, at least in one of the startups I had the pleasure of advising. Picture this: I was a tech advisor for a brilliant team. They had it all – a mobile app for in-house warehouse operations, an...
Is There a Sufficient Number of Mentors in the Programming World?
When I began my coding journey nearly two decades ago, the landscape looked quite different, but even then it was hard to find a mentor. With the current influx of new developers, a question lingers – do we have enough experienced mentors for the upcoming generation? Let’s review some...
ADR: The Small but Effective Track of Choices
ADR (Architecture Decision Record) In the multifaceted world of software development, it’s common for misunderstandings to arise. A developer might misinterpret the requirements of a feature, a client might forget details of the project brief, or the product owner could potentially second-guess a previously made decision. While a comprehensive...
When A Freelancer Trumps a Software Development Agency
Introduction: Embarking on a software development project can sometimes feel like venturing into a dense, dark forest, especially when it comes to choosing between hiring a freelancer or signing on with a software development agency. Today, we’re here to spill the beans on when a lone wolf (a.k.a. freelancer)...
Insights from a 20-Year Road in Coding
Navigating through various roles over nearly two decades in the software development industry, I’ve garnered invaluable experience that has shaped my professional journey. From my humble beginnings as a programmer to roles such as leading programmer, team leader, project manager, technical advisor, CTO, and finally, the owner of a...
The Missing Piece: Why So Many Projects Lack Unit Testing
Over nearly two decades of my software development journey, collaborating with over a hundred programmers across various projects, I’ve often stumbled upon a glaring omission – the lack of unit tests. Despite advancements in software practices, the absence of automated testing – be it unit, integration, or smoke testing,...
UML: Dead or Alive? A Friendly Tale from a Tech Advisor’s Diary
You’ve probably heard the whispers – UML (Unified Modeling Language) is outdated. A relic from the past. Why bother with it in today’s agile world of rapid development? Well, I’m here to share a story, or rather, multiple stories from my years as a tech advisor. When Projects Go...
Architecture or Clean Code ?
When we talk about software development, the concepts of clean code and good architecture often emerge. Clean code principles, popularized by Robert C. Martin in his book “Clean Code,” emphasize writing code that is readable, maintainable, and modular. At a glance, it would seem that adhering to these principles...