đĄ How to fail as a CTO: developers' fungibility
Andrew Panfilov
Posted on May 22, 2024
When individual developers can be substituted for one another without impacting productivity or project outcomes:
â
You have a homogeneous team culture; everyone works in the office and no hybrid/remote work
â
Your dev team uses mature mainstream technologies (top TIOBE languages like Python/TypeScript/Java, relational databases like Postgres for persistence, etc.)
â
Your teams' domains are pretty similar: developers working on one domain understand terms and acronyms from another domain
â
You have a well-structured hiring process, and you are sure of the cultural fit
â
You have a low churn rate: institutional knowledge is high within the engineering organization
â
All of your engineers are experienced ones: seniors and higher
â
You have a decent test coverage for your codebase
â
You are sure that you have the ubiquitous language in the organization: your QA folks understand business folks and vice versa if needed
When can not be interchanged:
âď¸ You are a highly dynamic startup before product market fit
âď¸ Your organization is growing in headcount
âď¸ You have more than two programming languages for the backend, more than two for frontend, you use a young (less than 16 years old) non-SQL database or several different ones
âď¸ Your engineers follow different schools of thought: some people like objected-oriented, some functional programming
âď¸ You have vague test coverage and are not sure about the quality gates
âď¸ You have a geographically distributed team, hybrid or remote mode
âď¸ You have developers in the team who have no experience with your current programming language nevertheless of seniority
âď¸ You have two types of developers: core and provided by outsourcing or outstaffing service
âď¸ Your business works with a domain with high essential complexity
Posted on May 22, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.