When was the the last time you realized a project was doomed? That time you knew the plug should have been pulled, but you kept things quiet and watched the work painfully fizzle out. If you care enough about the work, you probably have these feelings often. Maybe there’s context…
staff software engineer
Art is subjective, soft, human, unique. Science is objective, formulaic, algorithmic, process-heavy. Think about a recent problem you faced and its surrounding context. Was your approach more artistic or more scientific? Did your perception change as you solved the problem? How did it compare with your colleagues? As with anything…
#1 — Do not criticize others while being blind to your own faults. Do not seek fault in others while staying blissfully unaware of your own. When others code slowly, it’s because they’re inefficient and don’t manage their time well. When I code slowly, it’s because I’m being thorough and…
Microservices are nothing new. After being deployed successfully by mega-companies like Netflix, many growing engineering organizations gravitate towards this architecture as an aspirational symbol of success. This journey is known to many as the “monolith to microservices” migration. A few companies (Spotify) have the clairvoyance to adopt microservices from the…
1-1s are core to management. Ad-hoc feedback delivery, bi-weekly check-ins with your directs, monthly meetings with your skip-levels, annual performance reviews. Their use cases are well-defined and well-understood. 1-1-1s, on the other hand, can be much more interesting. Significant progress can be made if you’re able to get the three…
Check out my original post on Staff Software Engineer Responsibilities! As a Staff Software Engineer, one of your hardest challenges is to influence without authority. If your position doesn’t hold authority by default, then your best bet is to align with it. This topic was inspired by an insightful quote…
“The 25 Micro-Habits of High-Impact Managers” is a wonderful article highlighting wisdom from various managers across various industries. The article also reinforces an important universal idea—the details always matter. I subscribe to this idea and believe it can be easily re-applied to individual contribution. At any given company, the criteria…
Software engineering decision-making is a stressful and time-consuming process. When the stakes are high, you will be met with opinionated programmers, insurmountable organizational constraints, and unfortunate baggage from old projects. Consensus is difficult. In a previous post, “Staff Software Engineer Responsibilities“, I mention that the act of “Transforming Competing Opinions…
[October 10, 2021] If you enjoy this article, check out my new post on this topic: Staff Software Engineer Responsibilities — Align With Authority. The path of the Staff Software Engineer represents the career progression of a technologist. Senior Engineer leads to Staff Engineer which leads to Principal Engineer which hopefully leads…