Yᴏᴜʀ Pʀᴏᴅᴜᴄᴛ ʜᴇʀᴇ!
Add a link to your company or project here: purchase a GitHub sponsorship.
The manager's function is not to make people work, but to make it possible for people to work.
— Tom DeMarco[1]
A curated list for software developers to transition to an engineering management role. Compiles advice, 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? ʘ‿ʘ).
- You're a developer and wonders what it feels like to be a manager?
- You just started your first position as the leader of a team?
- You're stuck into the day-to-day operations of the job?
- How can I move up to the next level?
You'll find answers in this guide! It stands out from generic leadership and management literature, by providing uncompromising insights and practical advice. It will bootstrap your journey into the management career track, from a technical background.
This list helps in the transition to management, with a progression from general to specifics. It starts with an overview of the role, then describes its requirements, and its position relative to others. Then we details the day-to-day tools of the trade, both organizational and behavioral. At last we discuss some of the dark sides of the job.
- Engineering to Management Transition
- Building Teams
- Roles
- Recruitment
- Onboarding
- Motivation
- Culture
- Cognitive Tools
- Team Dynamics
- Engineering
- Remote Work
- Meetings
- Facilities
- Product Management
- Project Management
- Agile
- Key Performance Indicator (KPI)
- Objectives and Key Results (OKR)
- Training
- Communication
- Career
- Compensation
- Politics
- Re-organizations
- Health
- 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: Don't Joke About Firing People - “The second you became their manager you forfeited the right to joke around in any capacity about their employment at the company.”
-
Advice to new managers - 9 fundamental principles of the behavior required to be a great manager.
-
Mistakes I've Made as an Engineering Manager - Mistakes: “1) Thinking people give feedback the way they want to receive it; 2) Trying to do everything yourself; 3) Communicating something one time is enough; 4) You have to have everything together all the time.”
-
Why It's Easier to Manage 4 People Than It Is to Manage 1 Person - “Avoid at all costs the combination of: new manager, 1 report, report is new-to-industry, manager is not a subject-matter expert.”
-
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.”
-
“A computer can never be held accountable. Therefore a computer must never make a management decision.” - An IBM slide from 1979.
-
“It is a job where your goal is to try disappoint people most slowly.” (source).
-
“So the trick is basically to put them (your direct reports) in charge, not you. You have the supporting role, they can request things from you. But the goal needs to be very clear.” (source) - A recipe on how to work with your direct reports, from a section of 7 habits of highly effective people.
-
The One Minute Manager Meets the Monkey - The author use a parable in which problems are monkeys. Unexperienced managers let monkeys being transferred to them, accumulates on their back and compounds. From this, the book teach you how to change from taking on responsibilities to delegating them so you don't become a bottleneck.
You got the title and the pay grade. Congratulation! This doesn't make you a manager yet. 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.”
-
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 downstream, 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 - “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.
-
Regis McKenna's talk at Silicon Valley Leaders Symposium - “These are the things we (marketers) used to do with individuals and bodies. They've all become automated. The CIO is the marketing chief now.”
-
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).
-
“The CEO positions himself as a controlling, micromanaging individual at the center of everything. This makes it possible for the CEO to intercept financials and other crucial numbers en route to people who might catch on.” (source) - Or how fraud can endure at the top level. That's generally why you need a board of directors as an oversight.
In tech companies these roles are critical, and the frontier between the two is often blurry.
-
CTO vs VP Engineering: What's the Difference? - CTO manage a small staff of hackers. VP of Engineering lead an organization of engineers.
-
Want to Know the Difference Between a CTO and a VP Engineering? - Another way to look at thing: placing these roles along the “Process Orientation” and “Technical Capability” quadrants.
-
The different skills needed to be a successful CTO - The premise is a little misleading, as what is detailed there is the journey, in a startup, of the technical founder growing with the company to become a CTO. At which point the position described in the article is not CTO, but VP of Engineering.
-
Hiring a VP of Engineering? Use This Framework - “How do I hire a VP of Engineering? After more than 20 years, eight companies, and thousands of hires, I'm starting to suspect this may be the wrong question. A better one is, What is a VP of Engineering?”
-
“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.
Managers came in all form and shape, and the title and daily activities varies a lot depending on companies. When developers directly reports to you, you'll find yourself at the first management level: you are a front-line engineering manager.
-
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.
-
As a product manager, how do you earn the respect and trust of your team?
-
Good Boss, Bad Boss: A Peek Inside the Minds of the Best (and Worst) - A good boss: gets rid of rotten apples (no asshole rule) and protects people from idiocy from on high.
-
“One of your roles is to act as an information filter in both directions” (source) - Some tips on how to balance which kind of information needs to be shared or muted.
-
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.
-
Surprising Things About Working at Well-Known Tech Unicorns - Echoes my own experience on differences between expectations and reality in high growth and visible companies from the point of view of an engineering manager.
-
100+ Lessons Learned for Project Managers - 122 aphorisms providind insights into NASA project management success. Covers design, decision-making, managing staff, working with superiors and contractors.
-
Engineering Manager Resources - Huge list, but need some curation.
-
A vitally important part of the job: being a crap shield - “A lot of the work of an EM is wading into the slurry pit with a shovel so your team are free to get the job done”.
-
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 - “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 - “Don't act like know-it-all; Openly admit if they don't know something; Try to figure stuff out together”.
-
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.
-
What makes a Senior Dev - “Time, man. You gotta do your fucking time.”
-
The different engineering levels at Google - From L3 to L8: a quick description of what makes an engineer at each level.
-
How I operated as a Staff engineer at Heroku - A great window into the somewhat nebulous title of Staff Engineer, also called Principal Engineer or Software Architect at times. I.e. a role in which you are a technical expert, but know how to solve non-obvious engineering issues, most of the time because they are rooted in social, communications and hierarchical complexities.
-
StaffEng - Once you've reached the Senior Software Engineer level, you're at the crossroad. Either you pursue engineering management or continue down the path of technical excellence to become a Staff Engineer. This isa collection of guides about the later position.
-
10 Admirable Attributes of a Great Technical Lead - “They are smart yet kind. Knowledgeable, yet humble. Busy, yet approachable.”
-
“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.
-
The Prosperous Software Consultant - This article let you understand how an independent consultant operates.
You're in a competitive sector in which talents are in high demand. Be prepared as a manager to spend a lot of time recruiting people, either to expand your team or fill-in open positions. The dynamics gets interesting too, as you are now on both sides of the hiring process: as a candidate to get a job, and as a recruiter to staff up your team.
By targeting the right place to post your job offer to, you're increasing your chances of targeting the right candidates.
-
Awesome Job Boards - Niche job boards by domains, technology, roles and area.
-
Hiring Without Whiteboards - List of companies without the kind of CS trivia questions that are associated with bad interview practices.
High-growth company will all need to industrialize the hiring process at one point.
-
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.
-
A Good Tech Resume - A compilation of advice and example, but containing a good description of a typical hiring pipeline.
-
Job Interviewing Guide - A detailed description of a hiring process, a great source of inspiration for when your company gets big enough to start to formalize things up.
-
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.”
-
Rethinking the Hiring Process - “Testing programmers at something they aren't actually expected to be good at and expecting to learn something about how they would work at your company is delusional, and I think these kind of interviews only serve to make the hiring team feel smarter and ensure better outcomes for engineers with traditional CS backgrounds.”
List of questions that can be used when vetting potential candidates, and topics to draw inspiration from to be used as conversation starters.
-
The Technical Interview is an Ego Trip - Starts with anecdote of developers using a job interview as a vehicle to demonstrate their superiority. Then the author details a reasonable interview process that is trying to not waste anyone's time.
-
The Intangible Skills You Can't Interview For - “1) Cut-Through on Crappy Tasks; 2) Knowing How to Finish; 3) Knowing How to Start; 4) Giving (And Receiving) Diagonal Feedback; 5) Harnessing the Value of Intangibles.”
-
Back-End Developer Interview Questions - A great source of inspiration.
-
Engineering Leadership Interviews - An outline on how to recruit for engineering manager roles.
-
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.
-
Secret manager trick of hiring data scientists - Convince them that what they're doing is machine learning.
-
Book Summary of "Who: The A Method for Hiring" - The essential of Who, a popular book on recruiting executives.
-
“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.
The absence of coding exercise will left the door open to fraud. OTOH, if elitist challenges decrease the number of false-positive, you will 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.
-
How to Freaking Find Great Developers By Having Them Read Code - “Instead of writing code, consider having the candidate read existing code and talk about how it works. 1) Reading code is 95% of what a developer does as part of their job. 2) A candidate can tell you a lot about their programming skill in the first five minutes of reading. 3) Stress is your enemy because it raises adrenaline which lowers IQ by several points, causing you to miss good candidates.”
-
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.”
-
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 - Five multiple-choice questions to 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.
A critical step to close up the hiring process.
-
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.
-
Salary Negotiation: Make More Money, Be More Valued - “Your salary negotiation — which routinely takes less than 5 minutes to conclude — has an outsized influence on what your compensation is.”
-
Ten Rules for Negotiating a Job Offer - “First part will be about conceptualizing the negotiating process, about how to begin the process and set yourself up for maximal success. The second part will be advice on the actual back-and-forth portion of negotiating and how to ask for what you want.”
How to get newcomers up to speed with the rest of the team you manage. And how to introduce yourself to teams you just joined or inherited.
-
The Most Important Performance Management Rule For Software Engineers - “Merge code every week. That's what you should be saying to your new Software Engineering hire.”
-
Optimize Onboarding - “Your organization has painfully slow onboarding. Endless HR videos, slow security processes, a mountain of fragile technology setup - these all make for a shitty and counterproductive start at a company. Optimize your onboarding to get people doing what you hired them to do.”
-
As a manager of a new employee I make an absolute point of being a "helicopter mom" from the moment they hit the area until about week 2 or 3 - Navigating a new organization will be hard the first few weeks, and the presence of a manager can help speed things up.
-
A Career Cold Start Algorithm - The author developed an algorithm to ramp-up quickly when joining an existing team where he had a massive knowledge deficit and no pre-existing relationships.
-
Meeting everyone on a new team - Right after inheriting a position at the top of an organization of 50 engineers, the author bootstraped the relationship with that big team by meeting everyone in 30 minutes 1:1s. It was a huge time investment, and despite fears of being boring, it allows for recognizing patterns of what change was needed.
-
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.”
-
What Silicon Valley "Gets" about Software Engineers that Traditional Companies Do Not - “1. Autonomy for software engineers; 2. Curious problem solvers, not mindless resources; 3. Internal data, code, and documentation transparency; 4. Exposure to the business and to business metrics; 5. Engineer-to-engineer comms over triangle-communication; 6. Investing in a less frustrating developer experience; 7. Higher leverage --> higher {autonomy, pay}”.
-
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.
-
First, Break All the Rules: What the World's Greatest Managers Do Differently - We learn in this book that employee happiness was not correlated to company success. A comment on HN details the questions that were highly correlated to company success.
-
What makes developers happy? Contributing to open source - “59% of developers contribute to open source software today. Why do they contribute? The top two reasons are: To improve coding skills and because they believe in open source. Want to keep those developers happy and employed with you? Let them contribute.”
-
“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.
-
6 Signs You're a Micromanager (And What to Do Instead) - “You're more involved with your employees than ever, yet they seem disgruntled, unhappy, and less productive than usual. Your check-ins seem to go unappreciated. And no one seems receptive to all of your great feedback on their work. What's going on? Well, we hate to break it to you, but you might be a micromanager.”
-
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”.
-
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 - “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.
-
You have only 4 options - “1. Change you; 2. Change the other; 3. Fly; 4. Stay and suffer.” A more concise way of saying the same thing as above.
-
Netflix Culture - “The actual company values, as opposed to the nice-sounding values, are shown by who gets rewarded, promoted, or let go.”
-
High Performance Organizations Reading List - A list of books, web pages, and videos about how to design better organizations, divided into 3 categories: organization and motivation, health and wellness, and software development specific.
-
A Conversation with Werner Vogels, Learning from the Amazon technology platform - Scaling systems is not only a technical challenge. It has to be about teams and culture too. One lesson learned from the early days of AWS: “Giving developers operational responsibilities has greatly enhanced the quality of the services, both from a customer and a technology point of view. (…) You build it, you run it.”
-
The principles of Amazon service-oriented collaboration - A compilation of anonymous sources from AWS which ehoes the interview above: “teams are ostensibly autonomous and can make any important decision needed to meet their goals.”
Thinking frameworks and mental models to improve decision making, understand systems and solve problems.
Expansive lists of well-known models and concepts.
-
Gigerenzer's simple rules - The reason we often relies on these simple heuristics: “outside the lab, in real world, we cannot do well with just with logical rationality, we need ecological rationality - the kind of thinking that helps us get what we want in an environment that's uncertain and dynamic. This means exercising our instincts, using simple but robust rules of thumb.”
-
The Best Way to Make Intelligent Decisions - A collection of 109 models.
-
Mental Models I Find Repeatedly Useful - Huge compiled list of mental models. Became the basis of book.
-
40 powerful concepts for understanding the world - Concepts are named and describe succinctly in the tweet thread.
-
Tools for better thinking - “Collection of thinking tools and frameworks to help you solve problems, make decisions and understand systems.”
-
A Few Rules - A formalized list of some wisdom you probably encountered elsewhere.
-
Awesome Concepts - Laws, principles, mental models and cognitive biases.
-
UX Core - 105 cognitive biases with simple descriptions, brief and detailed examples.
-
Hanlon's razor - “Never attribute to malice that which is adequately explained by stupidity.” My favorite flavor of Occam's Razor, and a crucial mantra to defuse rampant 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.”
-
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 explains it better.
-
“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.
-
The Art of Powerful Questions - Catalyzing Insight, Innovation, and Action - “Leaders believe that they are being paid for fixing problems rather than for fostering breakthrough thinking.”
- To Get Good, Go After The Metagame - “Every sufficiently interesting game has a metagame above it. This is the game about the game. It is often called 'the meta'. (…) The meta is what you get after you master boring fundamentals. But observing the state of the current meta often reveals what boring fundamentals you need to learn.”
-
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.”
-
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.”
-
Programmer Interrupted - Research shows the devastating effect of interrupting developers: 1. 15 min is required to resume work; 2. A programmer get just one uninterrupted 2-hour session in a day; 3. Worst time to interrupt: during edits, searches & comprehension.
-
“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.”
-
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.”
-
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.
-
The six ways to influence people - 6 universal principles of influence that are used to persuade business professionals: reciprocity, consistency, social proof, getting people to like you, authority and scarcity.
-
On Bullshit - This HN comment perfectly describes the concept. “Unlike lying/fraud, where falsehood is instrumental, Frankfurt defined bullshit as potentially false speech where the truth simply wasn't important. Bullshit is characterized by giving the surface appearance of confidence, intelligence, or a convincing argument; whether it's actually true or not is besides the point.”
On the day-to-day dynamics of the team, and its interaction with other teams.
-
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”.
-
When your coworker does great work, tell their manager - Highlighting unseen work in public allows managers to recognize efforts their reports are doing. Still, there is some cases in which it might put your colleague in a tight spot. So always ask if it's ok first.
-
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.
-
The Apollo Syndrome - A phenomenon discovered by Dr Meredith Belbin, and exposed in his 1981 book on Management Teams, where teams of highly capable individuals can, collectively, perform badly.
-
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. Might be a cure for the Apollo Syndrome.
-
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 empowers the already existing channels and make them visible.
-
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. Still, your team is responsible for the systems, technology and all the processes surrounding them. You'd better know a bit about engineering tenets.
You shouldn't spend your time coding. Leave that to the engineers: your value lies elsewhere now. But does that means you must forget all things technical? The answer is an astounding NO. Here are some arguments:
-
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.”
-
If Your Boss Could Do Your Job, You're More Likely to Be Happy at Work - “Although we found that many factors can matter for happiness at work – type of occupation, level of education, tenure, and industry are also significant, for instance – they don't even come close to mattering as much as the boss' technical competence.”
-
“The best managers I met tended to be those that if the circumstance required it, could do the job of those two levels below.” (source) - Another way of putting it: managers needs domain knowledge and to know the work their reports do.
-
“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) - This quote is from David Packard (HP co-founder), decades before current management fad.
Whatever the technical stack, we are building systems first, and have to manage its complexity.
-
Second-system effect - “Tendency of small, elegant, and successful systems, to be succeeded by over-engineered, bloated systems”.
-
Living with Complexity, by Donald A. Norman - In which we learn that, based on Tesler's law of the conservation of complexity, “the total complexity of a system is a constant: as you make the person's interaction simpler, the hidden complexity behind the scenes increases. Make one part of the system simpler, said Tesler, and the rest of the system gets more complex.”
-
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.
-
I try to optimize my code around reducing state, coupling, complexity and code, in that order - An engineer's perspective on which priorities should be addressed first to increase robustness of systems.
-
SpaceX's 5-Step design and manufacturing process - “1. Make requirement less dumb; 2. Try to delete parts; 3. Simplify or optimize; 4. Accelerate cycle time; 5. Automate”. See full transcript.
-
Choose Boring Technology - “Boring, in the sense that it's well understood.”
-
Choose Well-known Technology - A rephrasing of the above advice. “Choose the technology: 1. You know in and out, and are immediately productive with; 2. Which is sure to be around in 5-7 years, preferably 10-15; 3. For which you are comfortable hiring the next 15 engineers.”
-
Industry Data Models - A huge list of database templates collected over 25 years by Barry Williams to represent any business process.
-
I thought that using loops was cheating… - How much is too much? Libraries, whether software or audio loops, are tools. A typical case of NIH syndrome transposed to music production.
-
“Lots of people make the mistake of thinking there's only two vectors you can go to improve performance, high or wide. High - throw hardware at the problem, on a single machine. Wide - add more machines. There's a third direction you can go, I call it going deep.”
-
You need to be this tall to use (micro) services - Do not chase the hype. Yet. Micro-services only brings value past a certain infrastructure and organization size. This is a list of stuff you should focus on before bringing micro-services to the mix.
-
LEGO blocks and organ transplants - “People have been comparing software components to LEGO blocks for a couple decades. (…) Integrating two software systems is usually more like performing a heart transplant than snapping together LEGO blocks.”
-
“Software development is more akin to the product design and development phase of industrial production than to the manufacturing.” (source) - This quote is from a review of Superdistribution - Objects as Property on the Electronic Frontier, in which the creator of Objective-C was advocating in the 90's for a new economic framework that rewards creation of components in proportion to their use. But software production is not like manufacturing of widgets in a factory. A (software) object is not an (hardware) widget.
-
Software Engineering's Greatest Hits - When scientific method meet the practice of software development. My takeaways: the best metric is less lines of code, there is no 10x developers, too much unused configuration options, pair programing is for transfer of domain-specific knowledge and hackathon don't produce long term projects.
-
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 - Explains how to perform code reviews and how to submit them.
-
Embedded Rules of Thumb - Guidelines and heuristics to provide a reasonable approximation of the truth while developing embedded devices. Most also applies to software projects in general.
-
How to Misuse Code Coverage - “If a part of your test suite is weak in a way that coverage can detect, it's likely also weak in a way coverage can't detect.” I.e. the great benefit of a coverage report is that it tells you what you forgot to think about when you wrote the test suite itself (source).
-
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.”
-
Technical debt as a lack of understanding - “The problem lies in "never reorganizing [the code] to reflect your understanding." (…) Organizationally, you pay in velocity and turnover; talented people are going to leave after a few rounds of bullshit.”
-
The Framing of the Developer - Default framing is around the backlog, which leads to an asymmetry in which failure is blamed on lacks of developer performance, and success is celebrated as the full realization of the PM's vision. But “technology is the bank that gave credit”, and technical debt should be called product debt “because product took the credit to get a feature faster and must pay back by investing the time to clean up.” The alternative? “Companies today need a frame of impact. In this world-view success is defined by impact.”
-
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”.
-
The Surprising Traits of Good Remote Leaders - “the confidence, intelligence and extroversion that have long propelled ambitious workers into the executive suite are not enough online because they simply don't translate into virtual leadership. (…) Instead, workers who are organized, dependable and productive take the reins of virtual teams.” As the source paper say it best: “virtually, the emphasis shifts from saying to doing.”
-
Things to look for when hiring remote workers - “1. You have to adhere to employment laws within the country you're hiring from; 2. To employ someone full time, many countries require you to have a legally entity within that country; 3. Prioritize countries where we have the most interest; 4. Keep a healthy timezone overlap in each of our teams.”
-
Managing Remote Teams - A Crash Course - Compilation of easy rules and processes to bootstrap a remote team.
-
GitLab's Guide to All-Remote - “GitLab is the world's largest all-remote company”. Here is what it means and how it works.
-
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 companies embracing the culture.
Two humans + a (virtual) room = a meeting.
-
Dear Manager, You're Holding Too Many Meetings - “Employee productivity was 71% higher when meetings were reduced by 40%. This is largely because employees felt more empowered and autonomous. Rather than a schedule being the boss, they owned their to-do lists and held themselves accountable.”
-
How to have great meetings, according to 200 scientific studies - A roadmap for getting meetings right.
-
Wadge's Law (of Meetings) - “Before every formal meeting there's a smaller, more exclusive, less formal meeting where all the important decisions are made.”
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.
A staple of agile decorum, too often misused.
-
Your daily standups should be async. Here's why - “Daily, real-time meetings aren't practical for remote teams” might be the best practical reason.
-
The Good, the Bad and the Ugly Standup - Author experienced 3 formats of stand-ups 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”.
-
We Cancelled Standups and Let The Team Build. Here's What Happened… - Team felt burned out by long, daily status update meetings masquerading as standups. Eliminating these faux standups got the team back on track.
The environment we work in shapes us. Perks too.
-
The impact of the 'open' workspace on human collaboration - Open-plan offices decrease face-to-face collaboration.
-
Noise, Cognitive Function, and Worker Productivity - “An increase of 10 dB reduces productivity by approximately 5%.”
-
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.
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.
-
Principles for Great Product Managers - A concise wrap-up of all dimensions a PM oprates along.
-
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.
-
The Heilmeier Catechism - A simple set of question which helped DARPA evaluates research programs to generate big rewards by taking big risks.
-
Akin's Laws of Spacecraft Design - Lots of wisdom about space program management.
-
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.
Where your product lies in the value chain and how to position it in the market.
-
Sustainable Sources of Competitive Advantage - “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”.
-
Coglode: bite-size behavioral research analysis - Mostly applied behaviour insights to help you build up strategies and tactics on product, design and planning.
-
“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 - Targets lifestyle entrepreneur, but still full of fantastic quotes from reference books on customer relation, pricing and marketing a product.
-
The Atlassian Syndrome - Your organization will end up with Atlassian products because “their business model is: 1. Collect requirement lists from customers and prospective customers; 2. Make sure their product checks every damn box, no matter how stupid.”
-
“Linear roadmaps are misleading” (source).
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.
-
The Psychology of Design - An extensive list of cognitive biases and design principles with examples and tips to fine-tune your product and UX.
How to find users, grow your customer base and make people talks about you product.
-
Marketing for Engineers - Lots of resources to help bootstrap your marketing activities and solve practical tasks.
-
How the biggest consumer apps got their first 1,000 users - How the biggest apps out there started: from going to your user directly (both online and offline), creating FOMO and word-of-mouth, to build a community first and get press.
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? - There is no silver bullet.
-
Strategies for long Projects - Relentless, irrational optimism; Daily progress documentation; Compounding investments; Time budgeting.
-
Developers can't fix bad management - “Why do so many software projects fail? Software development is much closer to creating a new factory than running an existing factory. (…) Software development is made up of many unknown duration tasks, this fundamentally unpredictable nature makes traditional management's predictive planning techniques particularly unsuited for software projects.”
-
“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.”
Time management and planning starts with estimates, but often degenerates into deadlines.
-
Don't (guess)timate your projects, forecast with confidence - “The problem with spending a lot of time on estimating is that it can feel useful, but often is so inaccurate that it hardly yields much value to the business.” The best we can do is measure and forecast.
-
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.
-
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.”
-
Apple Aperture: Senior QA - 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.”
-
Robert "Uncle Bob" Martin talk about professionalism in software development - The only honest estimate is "I don't know". But you can come up with some kind of propability assessment, that will inform about the shape of the risk. This is not unlike PERT, where an activity is bounded by optimistic, pessimistic and most-likely time. Now if managers don't take a range for an answer, don't fall in that trap. Tell them you're already trying as you possibly can. “And then the manager will have to do something very foreign: they'll have to manage. That's what management is: managing risk.”
-
Why software projects take longer than you think: a statistical model - “Confirms the hunch that developers estimate the median well, but the mean ends up being much higher.”
-
Developers spend most of their time figuring the system out - “A hand drawn picture about the current system is a belief. Decisions should never be based on beliefs. Not in engineering. (…) As software is highly contextual we cannot predict specific problems. We can only predict classes of problems.” And that's why it is hard to estimate software projects: because developer's main activity is a long process of deducting the assumptions a system is built on.
-
Software effort estimation is mostly fake research - “The NASA dataset contains 93 rows (that is not a typo, there is no power-of-ten missing), COCOMO 63 rows, Desharnais 81 rows, and (…) the China dataset contains 499 rows.”
-
There Are No Bugs, Just TODOs - Issue trackers needs to materialize ownership, queue position, state, task breakdown and aggressive closing. Priority, ticket type, software version, severity and long-life tickets are anti-patterns.
-
GitHub labels for reuse across projects - Simple yet practical.
-
The SAFe Delusion - Curated review of facts, evidence, and opinions from relevant sources without vested interests, to help decision-makers make informed choices and get better results.
-
How Big Tech Runs Tech Projects and the Curious Absence of Scrum - There's an interesting table in this article on the strereotypes of companies, their funding models, main engineering actors, and their central methodologies.
-
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 original 10-points Agile manifesto. But that's it.
-
Story Points Revisited - The alleged inventor of story points says they are probably a mistake.
-
Detecting Agile Bullshit - US Department 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”).
-
“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)
-
Failed #SquadGoals - Spotify doesn't use "the Spotify model" and neither should you - “Why it didn't work? 1. Matrix management solved the wrong problem; 2. It fixated on team autonomy; 3. Collaboration was an assumed competency; 4. Mythology became difficult to change”.
-
Recurring opinions or productive improvements — what agile teams actually discuss in retrospectives - An 3-years analysis of a team's retrospectives, with dire conclusions: people keep forgetting what they already learned, keep discussing unsolveable problems out of their control, and keep debating opinions based on biased interpretations or incorrect understandings.
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.
-
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.
-
Team Objectives – Overview - Why OKRs might not work at your company: 1. You're still using feature teams instead of product teams; 2. Mixed-up manager and individual objectives; 3. Leadership opting-out of active management.
-
“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, writing and talking. It encompass all the social practice and context sharing of the team's activities.
Especially a software team, which generates 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 advice 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.
-
Technical Writing Courses - This collection of courses and learning resources aims to improve your technical documentation. Learn how to plan and author technical documents. You can also learn about the role of technical writers in a company.
-
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 an improvement 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 - An effective list of do and don't when it comes to writing documentation.
-
Writing for Business - Some tips on how to write in a business context.
Once you have the right structure and content thanks to advice above, you can now copy-edit and fine tune your style with the tools below.
-
Please don't say just hello in chat - When properly used, interactive written medium allows for asynchronous communication.
-
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. -
Bias-free communication - Microsoft's guide on how to improve writing to be more inclusive and diverse.
-
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. -
JStylo & Anonymouth - Authorship attribution analysis tool and evasion (anonymization) framework.
-
It's time to start writing - On “Jeff Bezos's dotcom-era policy of banning PowerPoint within Amazon”, and how “this is neither about powerpoint nor about reading - it's about thinking.”
-
Presentation Rules - A set of 16 rules to avoid boring and ineffective presentations, and have your message reach your audience.
-
The Greatest Sales Deck I've Ever Seen - “1. Name a big change in the world; 2. Show there'll be winners and losers; 3. Tease the promised land; 4. Introduce features as "Magic Gifts"; 5. Present evidence that you can make the story come true.”
-
Some tips on public speaking - “If you ever find yourself buffering on output, rather than making hesitation noises, just pause. People will read that as considered deliberation and intelligence.”
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.
-
Levels of abstraction in engineering management - Another take on the differences between Manager, Manager of Managers, Head of Org and Head of Function.
-
My questions for prospective employers (Director/VP roles) - Be prepared to ask them as a recruiter or being asked about them for senior management roles.
-
Founder to CEO - You can build you own career engine, starting as a technical founder of a startup, building a great team, then grow with the company to learn and become a full-fledge CEO.
-
How title, money and scope affect your fulfillment - “For talented mid-career folks, when making job changes, how do you rank: 1. Title 2. Money 3. Scope”.
-
Amazon Wants to 'Win at Games.' So Why Hasn't It? - “Any product manager can go between any business—from groceries to film to games to Kindle. The skillset is interchangeable. They just have to learn the particular market.”
-
“Since managers are not tied to a sector (in the way nurses or musicians are), the good ones tend to go where they are paid good money and the bad ones end up wreaking havoc where they are paid at least some money. That, also, is Baumol in action.” (source) - Explains how the pool of professional managers gets distributed into the various sectors of the economy.
Stepping stones advancing a career in a company takes the form of promotions. They unlock raises, bonuses and more responsibility.
-
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.
-
If management isn't a promotion, then engineering isn't a demotion - This essay deconstruct why management ends up being seen as a promotion, how its new acquired privileges and powers creates an implicit hierarchy, which in turns creates bad incentives because of loss aversion. At the end, the only way forwards is to change the organization's culture.
-
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.
-
“Most people realize by their 30s that prestige is a sucker's game” (source) - Do not chase promotion for the title only.
-
For all you future CTOs, consider your incentive schemes carefully - How a promotion scheme marked the end of Uber's engineering excellence and the start of what made the company turn into a bureaucratic mess.
-
How to get promoted - The cynical take: “an opportunist's career advice is: ignore OKRs, switch projects well before the consequences of your decisions can be measured, act happy and easy-going, package bad news as appeals for slow systemic adjustments, don't make anyone look bad, perform rituals with enthusiasm, grow headcount faster than baseline, let work invent itself, follow management fashions, avoid acute failures, believe this sincerely.”
Reviews and performance evaluations are the tool of the trade to unlock promotions. As a manager, your going to write and instrument them for your team members to get the raise they deserve. And getting through them as any other employee to advance your career.
-
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.
-
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).
-
“This is what I loved about working at Netflix. We didn't have performance reviews. It was assumed that your performance was good to excellent, otherwise you wouldn't be working there anymore. You had a constant feedback loop with your manager on performance, but nothing was ever formal.” (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!
It's not only about the salary, but the whole package: equity, bonuses, perks, and the dealings around all of these.
-
levels.fyi - Compares salary range and compensation charts across big tech companies.
-
benefits.fyi - Same as above, but trying to evaluate the values of benefits across companies.
-
L8-L10 salaries at AWS - A reference point to what $M+ compensation packages looks like.
-
Why new hires often get paid more than existing employees - “and why the best way to get a bigger pay is to move to a new job.”
-
Salaries never stay secrets forever. Hiding them only delays the inevitable.
-
“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.” So from this angle, 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).
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. Be prepared.
-
About corporate middle management - “As a manager in a large corporation you are expected to be an aligner. (…) You have to manage frictions and strive to make the people above you look good.”
-
“Politics is how a middle manager runs interference and creates distractions to make sure you can't see over, around, or through them, and that the people behind them closer to the money can't see you.” (source).
-
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.
-
7 Rules of Power - By Jeffery Pfeffer. Tells you how to play office politics if success in the workplace is the only thing you care about.
-
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.”
-
Circulation of elite - “Changes of regime, revolutions, and so on occur not when rulers are overthrown from below, but when one elite replaces another.”
-
The Rules for Rulers - “Smart key supporters will always watch the balance of power, ready to change allegiance if the ruler look to be the loser in a shifting web of alliances. (…) Buy all the loyalty you can, because loyalty, in dictatorial organizations of all kinds, is everything.”
-
“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.
-
Making Nice or Faking Nice? Exploring Supervisors' Two-Faced Response to their Past Abusive Behavior - “It behooves organizations that want to develop highly authentic supervisors or organizational climates to seek to hire supervisors that are lower (or at least not higher) on symbolized moral identity.”
-
“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).
-
Power Bends Light - “Most things at most startups are perpetually on fire, but if you can accept that, there is a lot to like. One well-known one: at a fast-growing startup, a hard-working, talented person who has some support from company leadership can often acquire an impressive title (or at least a lot of de facto power) very quickly.”
-
“It's common to promote someone to just get rid of that person :) Sometimes promoting is just easier that firing.” (source).
-
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.
-
4 Clues to Identify a Destructive Leader - “1. I'm kind of a big deal! 2. None of this is my fault! 3. Just do what I say! 4. Trust me; I'm never wrong.”
-
“The president of MIT told me that tenure was not about research, productivity, or merit. It was about office politics & being liked by your department.” (source) - Contemplating to switch from the industry? The grass is not greener in academia. Given a significant size, any organization comes with its political game.
As a manager, you have direct responsibility of the structure of the team. Past a certain size (around 8 to 12 depending on sources), you no longer have time to work with direct ICs, so you need to re-organize the team.
At a company level, re-orgs are mostly strategic and your influence on them depends on your political acumen.
-
Why it's difficult to build teams in high growth organisations - Describes 3 different approach a manager can take to accommodate new people in the team: 1. Sink or Swim; 2. Split and Absorb; 3. Absorb and Split.
-
Teams are like bread - Resonates with the Absorb and Split strategy discussed above: “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.”
-
Building a data team at a mid-stage startup: a short story - Story of a manager trying to distill the concepts of a data-driven company while growing a tiny team of 3 people. Each step covers the evolution of the technical pipeline and interactions with existing stakeholders.
-
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.
-
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.”
-
The SaaS Org Chart - Blueprints of an organization at each stage of its 50/125/400/1000-employees stages, with typical ratios and ARR.
-
“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.
-
A high-resilience org chart - “If you know what problem you're solving and you know how to solve it, a bureaucratic organization will do. Stick with what you know. If you're writing software, that's a generative activity. You need a high-resilience org chart. Fewer boxes, more flexibility.”
-
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).
-
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.”
A special case of re-org, that might take the form of inclusion, absorption or dissolution of the acquired company.
- 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”.
- Good sleep, good learning, good life - An e-book-sized synthesis on sleep research “with a view to practical applications, esp. in people who need top-quality sleep for their learning or creative achievements.”
- Should we take a few long holidays, or lots of short ones? - 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.”
-
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.”
-
How Slack Harms Projects - “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.
-
How shitty job crush your soul, then lead to burnout - “Burnout is a very serious situation. If you burn yourself out hard, it will be difficult to be effective at any future job you go to, even if it is ostensibly a wonderful job. Treat burnout like a physical injury.”
-
“Burnout is caused by resentment. (…) No. Burnout is caused when you repeatedly make large amounts of sacrifice and or effort into high-risk problems that fail. It's the result of a negative prediction error in the nucleus accumbens. You effectively condition your brain to associate work with failure.” (source).
-
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)
-
Burnout From an Organizational Perspective - “Extensive research by the military on sustainable performance in stressful conditions teaches that leaders should become champions of health, rather than taskmasters.” Describe the symptoms of toxic organizations and how managers can protect their teams from systemic burnout.
-
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”.
-
Psychology Today: How Programmers Can Avoid Burnout - “Veteran software developers often recommend to: 1. Work at a place where you can grow; 2. Build transferable skills; 3. Have creative outlets and create a space to focus on yourself, switch off, and relax; 4. Of course, there's always the nuclear option: make your money and get out.”
-
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.”
-
Burnout Stage Analysis - Better understand where you land on the spectrum of burnout.
-
“What does not kill me makes me stronger”, Friedrich Nietzsche - Brutal, but with a grain of truth.
-
“It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.” Charles Darwin - A quote to tame the one above.
-
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 - Explores 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.
Sometimes, you just have to call it quits.
-
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).
-
“Good business mafias form when there's a group of people who all have to quit their job for reasons that are exogenous to their performance. In the case of Paypal, it was an acquisition; at Tiger Management, a few years of underperformance; at Drexel Burnham Lambert, an indictment. In Reliance's case, the core group of early employees fled the port of Aden due to unrest and the withdrawal of the British.” (source) - And why mass exodus might be an opportunity for great new ventures.
-
“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).
-
As an Employee, You Are Disposable - “It's okay to like your job and employer. Just understand that, as an employee, you are disposable.” Also: “This is not news. If you are loyal to your employer and do not own a significant part of the organization, then you should take a good hard look at why you're loyal -- and whether or not your employer is loyal to you in return.” (source).
-
P.T.'s Hidden Meaning - How Hideo Kojima creatively used a playable teaser as a way to bypass NDA and to tell he story about the turmoil at Konami leading to his leaving of the company. But that only works if you're an influential and popular game designer.
-
Management Challenges for the 21st Century - Managing Oneself - “There is a great deal of talk today about the "mid-life crisis" of the executive. It is mostly boredom. At age forty-five most executives have reached the peak of their business career and know it.” In paragraph Ⅴ, you'll find why knowledge workers needs to manage themselves, and plan for the second half of their life.
Your contributions are always welcome! Please take a look at the contribution guidelines first.
The header image is based on a modified photo taken in November 2017 by Werner Du plessis.
[1]: Peopleware: Productive Projects and Teams, 1987, page 34 (Addison-Wesley Professional, 3rd edition, 2013). [↑]