A compilation of advices, anecdotes, knowledge tidbits, discussions, industry small-talks and rants. A bibliography of sort, gathered the last few years while transitioning my career from a software engineer to an engineer's manager. And later from a manager to a manager's managers (you all love recursion right? ʘ‿ʘ).
It is on this substrate that I crafted my management style, as I found anchoring the later with the usual labels is way too limiting and short-sighted. Limiting as management is both of an art and a science. And short-sighted as a style shouldn't be taken at face-value and always be sensible to our fellow humans talents and the business context of the company.
- Engineering to Management Transition
- Building Teams
- Roles
- Recruitment
- Motivation
- Culture
- Cognitive Tools
- Team Dynamics
- Technical Stack
- Remote Work
- Meetings
- Facilities
- Product Management
- Project Management
- Agile
- Key Performance Indicator (KPI)
- Objectives and Key Results (OKR)
- Training
- Literacy
- Career
- Compensation
- Politics
- Re-organizations
- Stress & Burnout
- Setbacks and Failures
- Exits
The first step. The hardest: how to requalify oneself from an Individual Contributor (IC) to a front-line manager.
- You always been a developer. Being offered a management position is not a promotion. It is a change in career.
- 17 Reasons not to be a Manager - An article to discourage the faint-hearted recruits.
- Advice to new managers - 9 fundamental principles of the behavior required to be a great manager.
- Going from Developer to Manager. What should I know or learn?
- How to be a Manager – A step-by-step guide to leading a team - A full, detailed guide on modern management practices.
- On being an Engineering Manager - Some of these points needs nuance, but others are a good taste of things to come for first-time managers.
- Responsibility vs. accountability - The biggest difference between manager (accountable) and engineers (responsible):
“Bad things” happen for the person accountable, whereas the person responsible can move on to the next project.
. It is a job where your goal is to try disappoint people most slowly.
(source).
Whether you inherit an already existing team or have to start from scratch, you'll need to practice the art of building (and consolidating) them.
- Building and Motivating Engineering Teams - What DO engineers want? Money, purpose and respect.
- What Google Learned From Its Quest to Build the Perfect Team -
Google’s data indicated that psychological safety, more than anything else, was critical to making a team work. (…) The behaviors that create psychological safety — conversational turn-taking and empathy — are part of the same unwritten rules we often turn to, as individuals, when we need to establish a bond.
. - Paper we love: Software Engineering Organizations -
The practice of software engineering, and its history is, itself, a complex study in humanity, coordination, and communication.
. - Teams are like bread -
If you have one team where the magic is flourishing, don't kill it. Feed it, grow it, and let it be a source of further strong teams. No rushing.
. - Developer Tropes: "Google does it" - It's cargo-cultish to imitate the big names in our industry as a path to success. Instead, the take home from this article
would be that managers and other leaders should be like ecologists; who measure, observe and nurture their ecosystems. Doing so will help build a unique workplace that will yield great results.
.
On the profiles, attitude, behaviors, and expectations between developers, managers and executives.
Executives are the senior/highest management layers of a company. They reports to a board of directors in bigger companies, or directly to the shareholders in smaller ones. Leadership is expected at this level. As a manager these are the people you report to.
- What do executives do, anyway? - Paraphrasing Andy Grove's book, High Output Management,
the job of an executive is: to define and enforce culture and values for their whole organization, and to ratify good decisions.
. The article also details the failures modes of a CEO: forcing his own decisions downstreams, or various ways of not resolving conflicts. - Executives ratify decisions made on the spot - Refines the concept above adapting Tolstoy's thesis to business.
- Army Leadership and the Profession - Establishes and describes what leaders should be and do.
- US Air Force's Strategic Leadership Studies - A reference of leadership's competencies and skills.
- What Only the CEO Can Do - TL;DR:
1. Defining and interpreting the meaningful "outside" of the company; 2. Answering the two-part question: What business are we in and what business are we not in? 3. Balancing sufficient yield in the present with necessary investment in the future; 4. Shaping the values and standards of the organization.
. - How CEOs Manage Time - A study on what CEO of large companies spent their time on, and how. Opens a new window into what leadership is all about and into its many components and dimensions.
- Operations and Internal Communication Strategies For Effective CEOs - After insisting on the importance of context and narratives, the author provide an interesting template (good for inspiration) of ritual and recurring internal communication devices.
- CTO vs VP Engineering: What’s the Difference? - TL;DR: CTO manage a small staff of hackers. VP of Engineering lead an organization of engineers.
- The different skills needed to be a successful CTO - The premise is a little misleading. This article decribe the journey of the technical founder of a startup growing with the company to become a CTO. At which point the position described is not CTO, but VP of Engineering.
- Narcissistic CEOs Weaken Collaboration and Integrity -
The prototypic visionary leader profile is so similar to that of a narcissist, if boards aren't careful, they're going to end up choosing people who are narcissistic as CEOs
. Hiring isn't the challenge. The challenge is finding people who can be effective while working for executives whose only qualifications and training are narcissistic levels of self confidence.
(source).
- What are the signs that you have a great manager? -
The irony is that you don't really notice a great manager.
. - Identify what makes a great manager - Google tried to prove managers don't matter. Instead, it discovered 10 Traits of the Very Best Ones.
Over the years we have developed the policy that it is important for the supervisor to thoroughly know and understand the work of his group.
(source) - Echoes articles above, that quote is from David Packard (HP co-founder), decades before current management fad.- As a product manager, how do you earn the respect and trust of your team?
- Great PMs don't spend their time on solutions - Not on solutions, no. But on customer's problems.
- Things I have learnt as the software engineering lead of a multinational - Some interesting points here, some others needs to be challenged.
- Do engineering managers need to be technical? - Yes.
Looking forward to the next 30 years of management trends, only a few things seem certain: Managers should be technical, and the definition of technical will continue to change.
. - Engineering Manager Resources - Huge list, but need some curation.
- The Leadership Library for Engineers - A list of books to help engineering leaders level up.
- Programmer Moneyball: Challenging the Myth of Individual Programmer Productivity -
Since software project managers have limited ability to evaluate individual developer capability, they should rely on a productive environment and developing talent.
. 10x developers (…) rapidly become 1x developers (or worse) if you don't let them make their own architectural choices
(source).- 7 absolute truths I unlearned as junior developer - TL;DR:
1. I'm a senior developer; 2. Everyone writes tests; 3. We're so far behind everyone else (a.k.a. tech FOMO); 4. Code quality matters most; 5. Everything must be documented; 6. Technical debt is bad; 7. Seniority means being the best at programming
. - On Being A Senior Engineer -
I expect a “senior” engineer to be a *mature* engineer.
. - Things I Learnt from a Senior Software Engineer -
I sat next to a senior software engineer for a year. Here's what I learnt.
. - 5 Things I've Learned in 20 Years of Programming -
A programmer with 5 years of experienced has more industry tenure than half of the entire industry.
. Also see this follow-up comment of 10 things I've learned after 35 years. - Devs I really enjoy pairing with.
- All the best engineering advice I stole from non-technical people -
It's intriguing that the stuff that really seems to make a difference in the quality of software never seems to be about software.
. - What Makes A Great Software Engineer? - Doesn't conclude on a definitive answer to the question, but details a model based on 53 attributes (!). Still a good source referencing other papers on the topic.
A consultant is someone 4 pages ahead in the manual
(source).The value that most orgs get from a consultant (…) is the political cover to make changes they knew they should make all along, but didn't have the social capital or the focus to make those changes
(source). And that's the reason bureaucracies and highly political organizations are fertile grounds for consultants.
You'll be on the two sides of the hiring process: as a candidate to get a job, and as a recruiter to staff up your team.
- Awesome Job Boards - Find the best place to post your job offer to.
- Hiring Without Whiteboards - List of companies without the kind of CS trivia questions that are associated with bad interview practices.
- TechMeAbroad - List job posts from tech startups and tech companies who will recruit from abroad.
- Jobs in Tech - Simple website made by developers for tech people.
High-growth company will all need to industrialize the hiring process at one point.
- Job Interviewing Guide - A detailed description of a hiring process.
- Open Sourced Interview Process - Cockroach Labs published their process
to create familiarity for candidates and account for bias, resulting in a better candidate experience and hiring decisions.
.
List of questions that can be used when vetting potential candidates, and topics to draw inspiration from to be used as conversation starters.
- Hire people who aren't proven - If anyone else in the world can objectively assess a candidate to be a great player, then you and your startup won't be able to hire the player. Someone will steal the candidate from you. That's why you have to go after people that aren't proven. In short, you need to be extremely good at forecasting talent.
- Why I Never Hire Brilliant Men - 5 simple rules for hiring men, from 1924. Things haven't changed a lot in a century.
- Organizational Skills Beat Algorithmic Wizardry -
When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity.
. - Back-End Developer Interview Questions - A great source of inspiration.
- Reverse interview - Questions to ask the company during your interview. Be prepared to answer them as a manager.
- Culture Queries - A sample of question to ask in job interviews to try to understand the values of a company.
It's true that not all developers make positive contributions, however, I think that blaming "lowering hiring standards" (…) is a complete red herring.
(source) - Examples in which developers that might pass tough job interview just fine are bringing negative value later.- Secret manager trick of hiring data scientists - Convince them that what they're doing is machine learning.
- Book Summary — Who: The A Method for Hiring - The essential of Who, a popular book in the past few years to recruit executives.
The absence of coding exercise will left the door open to fraud. OTOH, if elistist challenges decrease the number of false-positive, you'll pass on perfectly capable and great developers. Now it is your job as manager to find balance between these two extremes, and set the tone on how to have the candidate demonstrate coding skills.
- The Horrifically Dystopian World of Software Engineering Interviews - The dark side on relying too much on algorithm challenges.
- Fizz Buzz Test -
Designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag.
. - FizzBuzz 2.0: Pragmatic Programming Questions for Software Engineers - Or how five multiple-choice questions easily separate the real software engineers from the rest.
- FizzBuzz Enterprise Edition - A satire of over-engineering for the sake of enterprise-grade software.
- Awesome Interviews - A huge database of questions sorted by topic to get inspiration from.
- How Not to Bomb Your Offer Negotiation -
A good negotiator is empathetic and collaborative. They don’t try to control you or issue ultimatums. Rather, they try to think creatively about how to fulfill both your and their needs.
. - How to answer the “What’s your current salary?” job interview question - This article explain the dynamic of that sneaky question and how to defuse it.
- Drive: The surprising truth about what motivates us - Daniel Pink summarizes it concisely: people are motivated by autonomy, mastery and purpose.
- Reflecting on the postulates above, Bryan Cantrill defines that the role of management
is in constructing that environment, not micromanaging it. If engineering performance is suffering, it's (likely) a management problem: wrong problem, wrong mission, or wrong team -- or all three.
. - 3 tricks to start working despite not feeling like it -
"Screw it, let's do it"; Start sloppy; Start small
. - Why procrastination is about managing emotions, not time -
Research shows that once the first step is made towards a task, following through becomes easier
. - Some reasons why enterprise software is good and maybe even fun - The majority of us will not build the next unicorn: we statically have a better chance to build enterprise software. The twist? It might even be more interesting than you expect.
- US spy manual has tips for coping with toxic bosses - Derived from WWII-era Simple Sabotage Field Manual, a classic read to spot harassing and demoralizing behaviors.
- hacker-laws - Laws, Theories, Principles and Patterns that developers will find useful.
- Adaptation vs adaptability - There is a spectrum between perfect efficiency and being completely flexible. This article explores ecosystems and the flows of material and energy between different organisms within the ecosystem. (hinted by HN comment)
- The IT revolution and southern Europe's two lost decades - If you still doubt management culture could make or break an industry:
inefficient management practices have kept southern European firms from taking full advantage of the IT revolution
. - Meaningful differences that makes Google offices more productive - TL;DR:
The people are smarter, your manager (and their manager) cares a lot about you and it's easy to move.
. - It's Not Enough to Be Right—You Also Have to Be Kind -
It's harder to be kind than clever.
, or put another way by Abraham Joshua Heschel:When I was young, I used to admire intelligent people; as I grow older, I admire kind people.
. It is not your job to protect people (particularly senior management) from the consequences of their decisions. Make your decisions in your own best interest; it is up to the organization to make sure that your interest aligns with theirs.
(source).If you cannot disrupt a perverted culture by introducing a new culture, the politics of the perverted culture will work against you until you break, align, or leave. It is not unwise to leave before you break and it is easier to leave before you align.
(source) - At one point, even with the most unselfish of intentions, your attempts to elevate the culture might stall. It is not fair, but it's probably the time to leave.- Netflix Culture -
The actual company values, as opposed to the nice-sounding values, are shown by who gets rewarded, promoted, or let go.
.
- Mental Models I Find Repeatedly Useful - Huge compiled list of mental models. Became the basis of book.
- First principles and asking why -
Our ability to think in abstractions can weaken our judgement, as those abstractions may no longer be as true as they once were. Also a similarly dangerous evolutionary trait is our ability to think in analogy, where we make assumptions based on the comparison of two things that are not actually related.
Elon Musk expolains it better. - Hanlon's_razor:
Never attribute to malice that which is adequately explained by stupidity.
- My favorite flavor of Occam's Razor, critical in defusing paranoia in a highly political setting. - Regression toward the mean - Or why after a period of intense euphoria and ambition, things slowly get back to their usual mediocrity.
- Locus of control - A framework on
the degree to which people believe that they have control over the outcome of events in their lives, as opposed to external forces beyond their control.
. - Second-system effect -
Tendency of small, elegant, and successful systems, to be succeeded by over-engineered, bloated systems
. - Coglode: bite-size behavioral research analysis - Mostly applied behavior insights to help you build up strategies and tactics on product, design and planning.
People make bad choices if they're mad or scared or stressed.
- Disney's Frozen.- I coached CEOs, founders, VCs and other executive: These are the biggest takeaways - Excerpt:
We're all just big, complicated bags of emotion walking around; Power comes with the ability to receive a No; Learning to manage your focus, not your time.
. - The Efficiency-Destroying Magic of Tidying Up -
Efficiency tends to look messy, and good looks tend to be inefficient.
. A reminder that sometimes we should just accept the messiness of the world. - Strong Opinions, Weakly Held — a framework for thinking -
Allow your intuition to guide you to a conclusion, no matter how imperfect — this is the 'strong opinion' part. Then – and this is the 'weakly held' part – prove yourself wrong.
. - Yes, and… -
A rule-of-thumb in improvisational comedy (…). It is also used in business and other organizations as a principle that improves the effectiveness of the brainstorming process, fosters effective communication, and encourages the free sharing of ideas.
. - Avoiding Intellectual Phase Lock - Anticipating an important result so much, humans by nature are susceptible to introduce subtle confirmation bias. To combat IPL, you might introduce random unknowns to suppress any attempt to game the system toward the object of your desire. I.e. avoid to cheat yourself to success.
- Intellectual Humility Cheat Sheet -
is about being open and able to change your mind about important things, and being able to discern when you should.
. People who excel at software design become convinced that they have a unique ability to understand any kind of system at all, from first principles, without prior training, thanks to their superior powers of analysis. Success in the artificially constructed world of software design promotes a dangerous confidence.
- A reminder of the needs of humility and recognition of limits in our industry, from a panel on the Moral Economy of Tech.- I thought that using loops was cheating… - How much is too much? Libraries, wether software or audio loops, are tools. A typical case of NIH syndrome transposed to music production.
On the day-to-day dynamics of the team, and its interaction with other teams.
- A Career Cold Start Algorithm - The author developed an algorythm to ramp-up quickly when joining an existing team where he had a massive knowledge deficit and no pre-existing relationships.
- How to Celebrate the Small Wins - My takeaway:
Celebrating Slow Progress; Hunt for Key Milestones
. - Team Leader Venn Diagram -
A tool for gaining a shared understanding of responsibilities
. - Eye Candy QA - Retelling of author's job at Apple:
John Louch was my boss. (…) John always shared everything with us, even the “don't share this with your team” stuff. We were people he trusted, so it was as it should be. It made you feel like you were part of something greater.
Or why sharing some open secret promote strong trust in your entourage. - A conversation with Elon Musk about Starship - In a team with very talented contributors, everyone's is a chief engineer: you are expected to challenge the status-quo and questions other department's constraints. This allow smart engineers to avoid the trap of optimizing for something that should not exist in the first place.
- Symptoms of Groupthink - Overconfidence, tunnel vision and conformity pressure can led a group astray.
- It's Not Sabotage, They're Drowning - Some kind of push backs shouldn't be interpreted as intentional sabotage, but as drowning people sinking the lifeboat in an attempt to save themselves.
Community already exists, you just create a communication platform for it
(source) - Or why trying to create a community from the ground up might not be the right way of looking at things: a better and more subtle strategy would be to enhance the already existing channels.- OpenTeams -
Teams can visualize their network of interactions, and also, cross this data with information on a teams demographic, professional, and psychological characteristics.
. As manager, make sure these metrics bring positive outcome to the team. It is easy to have them instrumentalized for political reasons.
You're no longer an engineer. You shouldn't code anymore. Still, your team is responsible for the technical stack.
- Choose Boring Technology -
Boring, in the sense that it's well understood.
.
- Code reviews at Google -
Why Should Code Reviews Be Fast? (…) To optimize for the speed at which a team of developers can produce a product together, as opposed to optimizing for the speed at which an individual developer can write code.
. - Google Engineering Practices.
- Tech Due Diligence Calculator - A list of questions by topic to help understand how you are building your tech and engineering team, trying to highlight red flags.
- Technical Debt Is Like Tetris - Another way to explain technical debt:
Scenarios like these create technical debt within the product code. A buried gap in Tetris represents technical debt. (…) Paying down technical debt keeps you competitive. It keeps you in the game.
. - Goodbye, Clean Code -
My boss invited me for a one-on-one chat where they politely asked me to revert my change. I was aghast. The old code was a mess, and mine was clean! (…) I see now that my “refactoring” was a disaster in two ways: I didn't talk to the person who wrote it; My code traded the ability to change requirements for reduced duplication
.
- Managing Remote Teams - A Crash Course.
- Asynchronous Communication: The Real Reason Remote Workers Are More Productive -
Remote workers are more productive than their office-bound counterparts.
. - A guide to distributed teams - A nice wrap up on the numerous dispositions required to have a highly effective distributed team.
- Awesome Remote Job - Resources on working remotely, including job boards, coworking spaces, and a list of comapnies embracing the culture.
The most important meetings you'll have are frequent 1:1s with your direct reports.
1on1s are the managers Swiss army knife
(source) - Another advice from the source: make them walk'n'talks.- Questions for our first 1:1 - A personal list of high-level questions from a manager.
- 1 on 1 Meeting Questions - A mega list in which most of them are great starters for conversation, some others are clearly bad ideas. A great source of inspiration nonetheless, but choose carefully.
- How to have great meetings, according to 200 scientific studies - A roadmap for getting meetings right.
The environment we work in shapes us. Perks too.
- The impact of the 'open' workspace on human collaboration - TL;DR: open-plan offices decrease face-to-face collaboration.
- The Elves Leave Middle Earth – Sodas Are No Longer Free - Company stopped providing free soda. The engineers were very upset, but it was just soda and they could afford it. But really it wasn't soda. Soda was the canary in the coal mine, triggering an exodus of its best engineers.
In a team, the Product Manager is supposed to be the "voice of the market". Here are more links on the role and its reach.
You're the broker for a lot of unstructured information and have to fend off all kinds of disruptive influences to land even close to where you're trying to go.
(source)- Awesome Product Management - A reference. All the missing pieces are found below.
- Open Product Management - Resources, interviews, case studies, sample products & projects, communities, open source tools, free & paid services on product management, for technical people to learn the field.
- Things Many People Find Too Obvious To Have Told You Already - A set of heuristics on tech companies and the ecosystem they live in.
- How to exit vim, the Product Manager way - A satire with a grain of truth, especially the comparison between the basic vs experienced level.
On interviewing for a PM position. And how to conduct an interview to assess a PM's abilities.
- What Everybody Ought To Know About The Product Manager Case Interview
- What are frequently asked questions in product manager interviews?
The first step to validate your product: is the market finding interest in your venture?
- I wasted $40k on a fantastic startup idea - A tale of building a product no user want to pay for.
You can't just create value for the user: that's a charity. You also can't just create value for your company: that's a scam. Your goal is to set up some kind of positive-sum exchange, where everyone benefits, including you. A business plan, according to this textbook, starts with this simple question: how will you create value for yourself and the company?
. - David Rusenko - How To Find Product Market Fit -
Details the story of how Weebly developed one of the most popular website creation and hosting sites on the web today.
. - Fundamentals of Product-Market Fit - A complete overview of the concept: what is product-market fit and to measuring it.
On how to focus on user's problem to have your product delivers value.
- The product roadmap is dead: welcome to the age of problem roadmaps -
Fall in love with your problems and not with your solutions.
. - Kasparov's Law - Weak human + Machine > Machine > Strong Human.
Where your product lies in the value chain and how to position it in the market.
- Sustainable Sources of Competitive Advantage - TL;DR:
The ability to learn faster than your competition; to empathize with customers more than your competition; to communicate more effectively than your competition; The willingness to fail more than your competition; to wait longer than your competition
. Why does the tire company rate restaurants
- A great example on why you should investigate complementary businesses.- Laws of Tech: Commoditize Your Complement - A step further from the previous advice, in which is detailed an aggressive strategy to consolidate monopolies.
- Windows Vista as a prime example of a sacrificial lamb product: a massive unpopular re-architecture required to pave the way for future innovative release. That's the cautionary tale of why you should be ready for intense criticism and adversity, if by chance or fate your wander down the path of monumental changes in a business software.
- Talking about Vista, Microsoft found out following its unsuccessful launch that the #1 bug predictor is not technical, it's organizational complexity.
- Osborne effect -
A social phenomenon of customers canceling or deferring orders for the current soon-to-be-obsolete product as an unexpected drawback of a company's announcing a future product prematurely.
This is the price to pay for hasty marketing actions. - Reverse Engineering A Successful Lifestyle Business - Even if it's targetting lifestyle entrepreneur, this article is full of fantastic quote on customer relation, pricing and marketing a product.
If product management is about what is to be developed of the product, then project management activities answers on how to deliver that development. It is all about the execution, with a particular attention to delivery critical path and planning.
But don't worry too much, every company has its own definition of the two roles, and sometimes hybrid positions.
- Let's have no managers, instead of managers with no engineering experience - The title is misleading, article's argument is: we don't need project managers if we already have product managers and scrum masters.
- Best project management practices in 2018? - TL;DR: there is no silver bullet.
- Strategies for long Projects - TL;DR: Relentless, irrational optimism; Daily progress documentation; Compounding investments; Time budgeting.
- GitHub labels for reuse across projects - Simple yet practical.
Walking on water and developing software from a specification are easy if both are frozen.
Edward V. Berard - Essays on object-oriented software engineering.- The art of destroying software - Greg Young described a good way to deal with requirements volatility: optimize from the beginning to be able to delete your code, and structure your code so that any part of it is no bigger than 1 week's worth of coding. So that any part can be re-written in 1 week.
- Requirements volatility is the core problem of software engineering -
Start by accepting that change is inevitable. (…) As a consequence of this, software is never finished, only abandoned. (…) This means that no software product is ever exactly, perfectly satisfactory.
.
- Dear Startup: You have no idea how much that costs. -
We are completely clueless about how long things should take.
. Here is a trick to handle expectation of unreasonable estimates. - Escalation of commitment - A.k.a. sunk-cost fallacy, or the rational explanation of why the hell do we still irrationally keep investing in a bad project.
- Apple Aperture: Senior QA - Author share his experience at Apple working on quality assurance, in which we learn how not to manage projects approaching deadlines:
cutting finished features, yelling at people, and working people to the point of nervous breakdowns. Then they came upon a brilliant idea: let's steal over a hundred engineers from other teams and then the project will magically get done on time.
.
- The Good, the Bad and the Ugly Standup - Author experienced 3 formats of standups before ending with one working for his team, and concludes that
the details that make up a good meeting are subtle and the pursuit of an artificial standard of aesthetics will prevent you from doing the necessary experimentation to improve from an ugly equilibrium
. - Why do some developers at Google consider Agile development to be nonsense? - Because the short-term focused Scrum processes
seem suited to particular types of development, most notably consulting or contract programming, where the customer is external to the organizations, runs the show because they are paying for development, and can change their mind at any time
. Still, google engineers already practice a culture close to what looks like the 10-points Agile manifesto. But that's it. - Detecting Agile Bullshit - US Departement of Defense guide to detect software projects that are really using agile development versus those that are simply waterfall or spiral development in agile clothing (“agile-scrum-fall”).
- Who are you trying to impress with your deadlines? -
There are companies where those deadlines are set in stone, and a missed deadline is next to fire. That's when the problem starts.
. The fundamental problem that drives most agile failures isn't in the team's execution, it's in the business' expectations. One side is signed up for incremental delivery, and one side is set up for a fixed scope and deadline and the result is misery.
(source)
KPIs are a set of quantitative measurements at the team or organizational level, to measure the success of the business.
Numerical goals set for other people, without a road map to reach the goal, have effects opposite to the effects sought.
- W. Edwards Deming- SRE fundamentals: SLIs, SLAs and SLOs - If you are in the business of cloud services, these metrics are certainly great KPIs.
My team tracks life impact as a metric (pages outside business hours) and works to drive that down to zero.
(source) - Maybe the best indicator of a happy team is how little it is disturbed outside office hours.- The 4 Worst Software Metrics Agitating Developers in 2019 - The worst KPIs to track a software team output: Lines of Code, Commit Count, Issues Resolved (aka “Shipping Velocity”) and Code Churn (aka "Efficiency").
OKRs are a framework. Extending KPIs, they applies individually to each members of an organization, down to the IC level. In theory, everyone is supposed to have its own set of OKRs.
- OKRs from a development team's perspective - On how OKRs articulates with a backlog.
One way in which I've seen OKRs used effectively is as a defense against the type of middle or upper manager who is constantly coming up with new ideas or tasks.
(source) - Or how OKRs can be weaponized to prevent top managers to mess with the (already established) schedule.- Why individual OKRs don't work for us - Spotify decision to stop using OKRs for individuals.
- Google's usage of OKRs - OKR grades are public, but not used for promotion. It was never taken very seriously there.
- Awesome OKR - There is no shortage of content on how to measure and communicate objectives.
On mentoring, education and learning.
- Developers mentoring other developers: practices I've seen work well - Discusses mentorship practices that work well engineer-to-engineer.
- What Medieval People Got Right About Learning -
Why apprenticeships beat classrooms
. - Developer Roadmaps - Very high-level guides and paths to learn different practice and tools.
It is not only about reading and writing. It encompass all the social practice, context sharing and communication surrounding the activity and production of a team.
Especially a software team, which will generate a huge amount of knowledge. All this knowledge is fragile and about to be lost for good. Unless you materialization it in the form of writing.
On knowledge surrounding a team.
- What senior engineers do: fix knowledge holes -
This is the textbook definition of a senior engineer. You see a problem, you solve it (thoroughly), you document it and you level up your team.
. - Chesterton's fence -
If you're considering nominating something for deletion, or changing a policy, because it doesn't appear to have any use or purpose, research its history first.
. It's not we'd like to play conservative here, but because we need to fix the knowledge hole as described above. - You're Not Managing a Team of Software Engineers, You're Managing a Team of Writers - Because writing software is
a creative process which is by its nature unpredictable and personal, in an environment which craves certainty, predictability and consistency.
.
Before you know how to write, you need to know how to read.
- How to Read a Paper - Outlines a practical and efficient three-pass method for reading research papers.
The various forms of technical writing, their structure and target audience.
- What nobody tells you about documentation - There is four kinds of documentation: tutorials, how-to guides, explanation and reference. Each with their own structure and mode of writing.
- Flying Circus Platform - Disaster recovery - Critical infrastructure which aims to be available 24/7 needs a Disaster Recovery Plan. It generally takes the form of a document providing an overview of the expected severe failures and a set of procedures on how the system and the team operating it is prepared to deal with. The one linked here is a great example of such document, and is strong evidence the team is prepared for the worse.
General advices on how to convey meaning and clarity by mastering the style. If badly written, your documentation is likely to have poor usage and utility.
- How to Write a Technical Paper - Serves as a guideline on how to write a good technical paper, in the form of a typical journal publication.
- Learning Technical Writing Using the Engineering Method - An alternative approach, involving a weekly meeting of a writing group. An interesting dynamic to gather feedback and experience.
- Algorithm for writing a scientific manuscript - A process to guide the preparation and refinement of manuscripts.
- The Baldwin Formula for scientific writing: writing papers and reviews -
The most efficient way to write scientific papers is to write while you are still conducting experiments
. - Ten simple rules for structuring papers -
Focusing on how readers consume information, we present a set of 10 simple rules to help you get across the main idea of your paper.
. - Tips for Writing Technical Papers - Another set of tips, specifically using the example of a technical paper describing a improvment of an algorithm.
- Write an Excellent Programming Blog - Tips on structure and style to produce great blog posts.
- Ten simple rules for getting started on Twitter as a scientist - Twitter
can be used in a much more active, collaborative way: to ask for advice, to form new bonds and scientific collaborations, to announce jobs and find employees, to find new mentors and jobs.
. - Notes on Technical Writing.
Once you have the right structure and content thanks to advices above, you can now copy-edit and fine tune your style with the tools below.
- BLUF: The Military Standard That Can Make Your Writing More Powerful -
BLUF is a military communications acronym—it stands for “bottom line up front”—that's designed to enforce speed and clarity in reports and emails.
. - LanguageTool - Proofreading for grammar, style and spell checking.
- English Lint - A Rust CLI to detect weasel words, passive voice and lexical illusions.
proselint
- Places the world’s greatest writers and editors by your side, where they whisper suggestions on how to improve your prose.- alex - Whether your own or someone else’s writing, alex helps you find gender favoring, polarizing, race related, religion inconsiderate, or other unequal phrasing in text.
- BlaBlaMeter - Bullshit detection tool - Produce a normalized metric of the bullshit content of a text.
- Marketing BS Detector - Same as above, but with some tips given.
- The Punctuation Guide - Simple reference on how (and why) to use these special characters.
- Improve Your Writing With The GNU Style Checkers - How to use
style
anddiction
, two venerable GNU utilities.
Now that you've proven your worth as a front-line manager, what's the next step? These articles explore the follow-up roles, from managing managers, to director, and everything in between.
- Work at different management levels - A great progressive breakup of what it feels like to work at different levels of management.
- How do managers get stuck? - Identify scenario preventing managers to be promoted at the next level.
- The Evolution of Management: Transitioning up the ladder - Describe the path and expectations at each management level.
- Founder to CEO - How to start as a technical founder of a startup, build a great team then grow with the company to learn and become a full-fledge CEO.
- My questions for prospective employers (Director/VP roles) - Great list for senior management roles.
That's usually about the time I nope right out of the interview
- Bad signs of a CTO trying to recruit an engineering manager, or the perils of not believing in hierarchies.- Get your work recognized: write a brag document - There's this idea that, if you do great work at your job, people will (or should!) automatically recognize that work and reward you for it with promotions / increased pay. In practice, it's often more complicated than that.
Since managers are not tied to a sector (in the way nurses or musicians are), the good ones tend to go where they are payed good money and the bad ones end up wreaking havoc where they are payed at least some money. That, also, is
Baumolin action.
(source).Most people realize by their 30s that prestige is a sucker's game
(source).
It's not only about the salary, but the whole package: equity, bonuses, perks, and the tractations around all of these. As a manager, writing reviews and performance evaluations are the tool of the trade for your team members to get a raise.
- levels.fyi - Compares salary range and compensation charts across big tech companies.
- L8-L10 salaries at AWS.
Never accept a lower salary in exchange for equity.
(source)- On VC funding and huge growth -
Startups need an exit strategy. (...) The idea is to raise money fast, hire experienced people for ancillary services and develop the application in a way so that it is able to hold up till IPO. Defer all costs for post IPO.
. TL;DR: the only reason to join a startup is for future money windfall. - Equity Compensation - Stock options, RSUs, job offers, and taxes—a detailed reference, including hundreds of resources, explained from the ground up and made to be improved over time.
Public RSUs for stock you can sell immediately on the open market are fantastic.
(source).
- Incentive Pay Considered Harmful -
Incentives (or bribes) simply can't work in the workplace
.Most software managers have no choice but to go along with performance review systems that are already in place. If you're in this position, the only way to prevent teamicide is to simply give everyone on your team a gushing review
. If anything in your performance review is a surprise, then I have failed as a manager.
(source).The system a software developer works in shapes their performance so much more than individual differences.
(source).- Performance review generator - Tired of writing reviews? Automate it!
Here we are, at the intersection of power and influence lies the political game. If its nature and intensity is sourced from the company's core culture and history, you're unfortunately unlikely to avoid it past a certain hierarchical level. So be prepared.
- HiPPO FAQ - HiPPO stands for
Highest Paid Person's Opinion
, a trait of dysfunctional culture, in which power politics trumps data. - The Prince - Machiavelli's ideas on how to accrue honor and power as a leader. Resorting to that level of politics in a company is a sure way to render the culture highly toxic, as well as corrupting and demoralizing the organization at all levels.
- The Gervais Principle - A cynical, bleak, but still fascinating take on the management ladder, based on The Office.
- The 48 Laws of Power by Robert Greene - Can teach you how to cover your ass and be effective in a highly political org.
- Selectorate theory -
In selectorate theory, three groups of people affect leaders. These groups are the nominal selectorate, the real selectorate, and the winning coalition. (…) To remain in power, leaders must maintain their winning coalition.
. Playing the game well is now front and center
(source), or why the Key practices for achieving large professional goals is missing the parts about office politics.Company I've worked for had manager who tried to ship features over the weekend with a ragtag team of developers who don't understand why that's a bad idea.
- Tactics of hustling managers, and how the company reacting to that kind of manager makes or break a good place to work.The actual power wielded by a high level executive is usually inversely proportional to the size of the organization they manage.
(source: comment on Why large companies are so difficult to rescue).Cutting costs gets you a raise. Delivering a big project is a path to promotion.
(source)"You know your game fails when you read in the news about the feature you are supposed to have".
(source). A team learning about its roadmap at the same time of the general public is a sure sign something is wrong.In a highly political environment there are two ways to create change, one is through overt manipulation, which is to collect political power to yourself and then exert it to enact change, and the other is covert manipulation, which is to enact change subtly enough that the political organism doesn't react. (sometimes called "triggering the antibodies").
(source).
If you have dealt with large, completely incompetent organizations and wondered how the hell they actually keep going - theres your answer. If built correctly it's genuinely difficult to mess things up.
(source). I.e. the structure of the organization is quintessential to its longevity.- If I Close My Data Centers, What About the People/Jobs Lost? - F50's data centers being migrated to commercial cloud provider. But what about the people currently doing legacy stuff? The answer: retrain.
This is the managerialist dream. To replace employees' judgement and competence with a process and management methodology. (…) It never works.
(source). And why the retraining answer above is the best one.- An Alternative Approach to Re-Orgs At Your Company -
Trying not to repeat re-org mistakes, we started working on a structure that would make the re-org act like a feedback-fueled progress driven by the teams instead of by people above them.
. This is an attempt to extract from the ground up signals pointing to inadequate structure. My cautionary tale: this might only work up to a point depending on the company's culture. When everything is great success, people behind that success shadow the people who could make success in the future. (…) Netflix is great example of how to do big transition right. Netflix was in renting DVDs by mail business. When the decision to move to streaming was made, Netflix CEO did not allow managers who responsible for DVD renting business into meetings where the future was planned.
(source).- I've Built Multiple Growth Teams. Here's Why I Won't Do It Again. -
Few folks understand probability, and most executives don't care about the data—regardless of what it says.
. - Speaking Truth to Power: Reflections on My Career at Microsoft - After 3 decades in a deeply flawed company, the author comes to a humble conclusion: leaders should embodies the value of their employees. Not the other way around.
Changes at the top — not speeches, training or hashtags — make the most cultural impact. If you want real and lasting cultural change, sweep away the made-men who succeeded under the previous culture and promote the people who look, act, and think more like their employees than their managers.
. - How the Digg team was acquihired - Acqui-hire of a whole team can be seen as a type of reorg. In which managers will have to negotiate the new employment contracts in bulk in one or two days:
Because acquihires are “star” oriented, if you're a senior leaders who doesn't explicitly refuse to move forward, pressure will converge on you from all sides
.
- The Toxic Handler: Organizational Hero — and Casualty -
toxic handler, a manager who voluntarily shoulders the sadness, frustration, bitterness, and anger that are endemic to organizational life. Although toxic handlers may be found at every level in organizations, many work near the top
. - Manager Energy Drain -
How do I handle how tired I am as a manager? 1. Defrag your calendar; 2. Delegate messy and unscoped projects; 3. Say no.
. - Should we take a few long holidays, or lots of short ones? - TL;DR: short ones.
Reason one: holiday memories tend to depend not on how long the holiday was, but on the intensity of the experiences. Reason two: a change of activity can be a spur to creativity. Reason three for taking a short break: if we need rest to prevent exhaustion, a single, long vacation won't do the trick.
. - How Slack Harms Projects - TL;DR:
promote a false sense of urgency, destroy focus, allow for bypassing project prioritization, strip away essential business context, encourage poorly thought-out communication
. To remediate this, see How to Use Slack and Not Go Crazy article. - Examples of harassments - How a jealous boss, who felt either betrayed or ridiculed, bullied a capable employee to force him out. Don't be that kind of asshole boss.
- If You're So Successful, Why Are You Still Working 70 Hours a Week? -
Our tendency to overwork and burn out is framed by a complex combination of factors involving our profession, our organization, and ourselves. At the heart of it is insecurity.
. - What Happens When Your Career Becomes Your Whole Identity -
A particular confluence of high achievement, intense competitiveness, and culture of overwork has caught many in a perfect storm of career enmeshment and burnout.
. In my experience extreme workaholism can often be a way to avoid or defer major life decisions that someone doesn't want to make or even consciously recognize. (…) Eventually the debt comes due but sometimes not until many decades later.
(source)- Avoiding burnout as an ambitious developer -
Be willing to say no; Know what you don't want; Use your energy level realistically; Be kind to your future self
. - Average tenure of a CISO is just 26 months due to high stress and burnout -
Today, CISO jobs come with low budgets, long working hours, a lack of power on executive boards, a diminishing pool of trained professionals they can hire, but also a constant stress of not having done enough to secure the company's infrastructure against cyber-attacks, continuous pressure due to newly arising threats, and little thanks for the good work done, but all the blame if everything goes wrong.
.
What does not kill me makes me stronger
, Friedrich Nietzsche - Brutal, but with a grain of truth.- Early-career setback and future career impact -
Despite an early setback, individuals with near misses systematically outperform those with narrow wins in the longer run.
. - Huge success in business is largely based on luck -
Management research and education should focus on prescriptive theories that can help business practitioners move from “incompetent to OK”, rather than focusing on those that address how to move from “good to great”.
. - How Complex Systems Fail -
Short treatise on the nature of failure; how failure is evaluated; how failure is attributed to proximate cause; and the resulting new understanding of patient safety
. - Normalization of deviance - Explore how the factors accounting for disasters accumulates unnoticed until it's too late. This has been studied on other fields, but not in software engineering.
- Steve Jobs explains - Why companies fail? - On how sales and marketing takes over product focused companies.
- The failure of Scaling Etsy - When a company lacks technical leadership: developers waste time in costly refactors, over-engineered systems, and ends up detached from the business and product.
- Why I Rejected My Manager -
I understand now why the saying is: people leave managers, not companies.
. - Colleague is leaving. How to investigate what went wrong? -
Most of the time people leave bosses, not the job or the company.
And why you're unlikely to get any substantial insights from exit interviews. (source) “People do get pissed off in clusters” is the best description of a team/company meltdown that I've ever seen.
(source)Something I've seen multiple times is that, when a VP leaves, a company will become a substantially worse place to work, and it will slowly dawn on people that the VP was doing an amazing job at supporting not only their direct reports, but making sure that everyone under them was having a good time.
(source)Next time your favorite manager and tech lead quit the company, ask them why.
(source).It was my experience that no single departure had any effect. Mass departures did, trends did, but one person never did, even when that person was a founder.
(source).- How to discipline overeager engineer - Over-achieving talent is looking for a management promotion. Management does not recognize effort. Engineer become disgruntled and management is looking to discipline him. A case-study of a bad situation in which both side shows clumsiness.