Tech debt can be considered one of the most significant cognitive gaps between eng roles and others within software companies, and it often becomes a major obstacle in project communication and execution.
One major reason for the difficulty in reaching consensus among different roles is its abstract nature. Therefore, we need clear metrics to attach more concrete meanings to statements like “taking too long,” “difficult to implement,” “unstable,” and so on.
Conflict is an almost inevitable problem in one’s career. It often ended up feeling embarrassed or chose to keep the grievances to ourselves when dealing with it the first few time. However, looking back now, those seemingly catastrophic dilemmas did not necessarily end in tragedy.
After practicing ‘Collaborative Negotiation’ in various scenarios such as interviews, project scheduling, and problem clarification over the past few years, I have fugured out an approach for myself that is both emotionally acceptable and delivers mostly favorable outcomes.
Here are some relatively specific and practical skills to share:
Today, in many business models, product or service stability is an essential element and often the key factor in determining customer retention and company revenue.
On-call rotation is a widely used and proven practice, but it is also a major contributor to the erosion of work-life balance. While it may seem like a necessary decision, there are many details that should be considered, as cultural differences can often leave a lasting impact.
This series of articles will cover several interesting topics. These topics are not only indicators used by myself to evaluate the engineering culture of other teams during interviews, but also ways to drive progress within each team when I have greater impact in future careers.