The Role of Technical Management and Mentorship in Your Career
The role of your manager, particularly in software engineering, can significantly affect your career trajectory. A manager with a technical…
For Software Engineers
The role of your manager, particularly in software engineering, can significantly affect your career trajectory. A manager with a technical…
In some software engineering circles, there remains a debate (or needs to be a debate) about using In-Source versus Out-of-Source…
TL;DR; – Agile, as a management philosophy, requires a whole organization commitment and the right leadership to be successful. Bad…
Zero-sum thinking (sometimes called the Zero-Sum Fallacy) is a mindset where resources are viewed as finite and fixed, meaning one…
At first glance, defining a software project vs. a product seems like a difference in semantics. Looking deeper, however, understanding…
The principle of “Build One to Throw Away” from Frederick Brooks’ “The Mythical Man-Month” is an important yet often misunderstood…
The Second-System Effect can lead to overcomplicated and bloated systems due to a misunderstanding of the first project’s constraints and an overzealous desire to rectify its limitations.
Understanding how team size impacts project progress is crucial. The Man-Month Myth, a concept popularized by Frederick Brooks, challenges the…
Metrics and measurements are vital tools. They guide decisions, shape strategies, and can provide a clear picture of progress and productivity. However, a fundamental principle, often overlooked, governs the use and impact of these metrics: Goodhart’s Law.
For many managers, the allure of fostering a ‘Hero Culture’ can be tempting. However, it carries with it the seeds of potential crises.
Some organizations have adopted a policy of frequently rotating staff through different projects. While this approach aims to broaden experience, it’s worth taking a closer look at the implications.
Career management is hard. When managing your career in an evolving professional landscape, it’s not uncommon to find oneself at a career crossroads, wondering whether it’s time to seek new horizons or stay the course. But often, this introspection isn’t just about analyzing the company’s role in our professional growth but also self-reflecting on our contributions and responsibilities.
Introduction Push/Pull communication is a fundamental concept in communication, dictating how information flows within an organization. This article discusses various…
In the early days of software development, the simplicity of tools like VI and a compiler sufficed for building enterprise-scale applications. Today, we find ourselves wading through an ever-expanding array of tools and technologies that have caused us to wander off the path of value creation.
Establishing pair programming between a software engineer (in the driver role) and a domain expert (in the navigator role) can significantly enhance the quality and accuracy of domain-specific software.
Balancing software development requires managing technical debt and capital. While debt can fast-track projects, building robust technical capital ensures long-term software resilience and quality.
Start with the default settings and see if you can live with them and tweak your process to accommodate before going off and making everything custom. The more custom something is, the harder it is to maintain.