awesome-engineering-team-management
đź‘” How to transition from software development to engineering management
https://github.com/kdeldycke/awesome-engineering-team-management
Last synced: 8 days ago
JSON representation
Agile
Delivery
- 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”).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Tickets
- 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”).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Building Teams
- 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.”
- 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.”
- 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.”
Career
Performance Reviews
- 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”.
- source
- source
- source
- Performance review generator - Tired of writing reviews? Automate it!
Presentations
- 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.
- 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.”
- Baumol - Explains how the pool of professional managers gets distributed into the various sectors of the economy.
- 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.
Promotion
- 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.
- 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.”
- 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.
- 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.”
Cognitive Tools
Behavioral
- Disney's Frozen
- 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.”
- 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.”
- 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.
- Disney's Frozen
- 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.”
- 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.
Brainstorming
- 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.”
Collections
- 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.
- UX Core - 105 cognitive biases with simple descriptions, brief and detailed examples.
- Awesome Concepts - Laws, principles, mental models and cognitive biases.
Explaining
- 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.”
Problem Solving
- 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.
- 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.”
Communication
Documentation
- 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.
Knowledge
- 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.”
- 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.”
Presentations
- 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.”
Reading
- How to Read a Paper - Outlines a practical and efficient three-pass method for reading research papers.
- How to Read a Paper - Outlines a practical and efficient three-pass method for reading research papers.
Style
- 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.”
- BlaBlaMeter - Bullshit detection tool - Produce a normalized metric of the bullshit content of a text.
-
Improve Your Writing With The GNU Style Checkers
- How to use
styleanddiction, two venerable GNU utilities.
Writing
- 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.
- 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.
- Notes on Technical Writing - An effective list of do and don't when it comes to writing documentation.
- 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”.
- Notes on Technical Writing - An effective list of do and don't when it comes to writing documentation.
Compensation
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.
- source
Salary
- L8-L10 salaries at AWS - A reference point to what $M+ compensation packages looks like.
- Salaries never stay secrets forever. Hiding them only delays the inevitable.
- 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.”
- 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.”
Culture
Procrastination
- 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)
- 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.”
- source
- 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.”
- 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.”
- hacker-laws - Laws, Theories, Principles and Patterns that developers will find useful.
- 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.”
- 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.
- Netflix Culture - “The actual company values, as opposed to the nice-sounding values, are shown by who gets rewarded, promoted, or let go.”
- 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”.
Engineering
Engineering Practices
- 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.”
- 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).
- Google Engineering Practices - Explains how to perform code reviews and how to submit them.
Systems 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.
- 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.”
- 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.”
- 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.”
- 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.”
Technical Debt
- 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 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”.
- 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.”
- 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.”
Technology
- 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.”
- 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.”
- 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.
- Industry Data Models - A huge list of database templates collected over 25 years by Barry Williams to represent any business process.
The Technical Engineering Manager
- 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.”
- source - Another way of putting it: managers needs domain knowledge and to know the work their reports do.
- source - This quote is from David Packard (HP co-founder), decades before current management fad.
- 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.”
Engineering to Management Transition
- 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.