- How to write product strategy in one hour
- The “errors” that mean you’re doing it right
- Re-adding stuff to backlog after aggressive cleanup.
- Pivoting strategy right after creating it.
- Refactoring infra after growing.
- Adding words to messaging because it's too terse.
- Adding back removed features.
- Fixing bugs after releases.
- Waiting too long to scale sales / support.
- Letting someone go soon after hiring.
- Ignoring competitor move.
- Rejecting a lucrative, distracting deal.
- "If you’re not rejecting lucrative deals that don’t align with your strategy, then you don’t have a strategy. If you’re not rejecting relationships that don’t align with your core values, you don’t have core values."
- "But money is not more important than strategy, and it cannot be more important than your values, otherwise you’re saying that you don’t actually have either one. There’s always a way to make more money—a different product, different industry, or breaking the laws or being unethical. There’s a reason why you’re taking the path you’re currently on."
- What makes a great manager of software engineers?
- Measuring Developer Productivity: Real-World Examples
- Software quality
- Process, Code, System, Product
- The 30 Best Pieces of Advice for Entrepreneurs in 2023
- Set goals by trying to tell a story. Yearly narrative, quarterly stories/chapters.
- Product horizons: core product (e.g. 70%), future product (20%), big bets (10%).
- One-way door vs. two-way door decisions.
- Goal setting philosophy should be consistent (whether success is 70%, 100% or 150%).
- Combine narrow and open-ended questions in customer discovery.
- For discovery, the best thing we did was ask people to pull up their calendars.
- Lean into early founder-led sales, even for a PLG product.
- "When you do founder-led sales you’re not just learning how to sell your product, you’re learning how to tell a story. This is essential to sell the vision to investors or to candidates you’re trying to hire."
- LinkedIn Developer Productivity & Happiness Framework
- The pre-PMF Guide to Product Management
- A Guide to Public Speaking for Software Engineers
- How Google Measures and Manages Tech Debt
- How To Optimize Your Free Trial
- Rich sign-up page
- Relevant sign-up survey
- Onboarding checklist
- Personalized templates
- Utilized empty states
- Contextual help
- Resource hub
- Upgrade prompts
- Explicit trial limits
- A New Era for PLG: Introducing the Age of Connected Work
- PLG principles:
- #1: Build for the end user
- #2: Build to be discovered
- #3: Build to meet your users where they work
- #4: Build for openness
- #5: Build for flexibility
- #6: Build community as a competitive advantage
- #7: Deliver instant product value
- #8: Deliver instant customer experience
- #9: Monetize after you deliver value
- #10: Monetize based on usage
- #11: Monetize beyond software
- PLG principles:
- The Complete Argument Against Crypto
- The governance problems of private money are incompatible with democracy and the rule of law.
- There are irremovable privacy, scalability, and recentralization contradictions at the core of any and all permissionless blockchain solutions.
- There are vast negative externalities that every blockchain-based investment inevitably entails.
- 7 Mental Models For Great Engineering Leadership
- Three areas of success: Impact, Scale, Reliability.
- Balance of Deeply Technical vs. People Oriented.
- Confidence vs. Competence.
- People vs. Process vs. Product.
- Adaptable vs. Opinionated vs. Dogmatic.
- The Code Review Pyramid
- Code Style
- Tests
- Documentation
- Implementation Semantics
- API Semantics
- What are you doing to deserve the talents you need?
- Job vs. career vs. calling.
- Savers vs. investors vs. founders.
- Four types of companies:
- Purpose driven
- Mission driven
- Excellence driven
- Business driven
- "For many years, companies have worked hard on identifying their WHY if they weren't mission/ purpose-driven and market it via their EVP (Employer Value Proposition) but I believe there is a new era coming for the “How” post-covid 19."
- Inspection and the limits of trust
- You absolutely must trust your team to scale as a leader. Even more importantly, though, I hope you appreciate that merely trusting your team is abdicating from one of the most important parts of your role: helping your team succeed. Errors are a natural part of work, and inspection allows you to maintain trust through errors.
- VP, Director, what?
- Engineering Manager manages a team, guides others to win individual battles and engagements.
- Engineering Director manages Engineering Managers, executes to accomplish strategic goals.
- VP Engineering manages Engineering Directors, defines outcomes that form strategic goals.
- The Complete Guide to the Kano Model
- Feature is a curve in the space that shows how investment to the features correlates to satisfaction.
- Over time, this curve might change, something that was originally delighter may now be expected.
- There are four groups of features:
- Performance: The more we invest into the feature, the more our customers are satisfied.
- Must-be: Expected by customers, having them does not increase satisfaction, it eliminates dissatisfaction.
- Attractive: Features that go beyond the usual expectations and having them makes customers excited.
- Indifferent: No matter the investment, satisfaction remains the same.
- Meaning and Motivation in the Workplace
- Engineers should be involved in discovery not only because it increases the overall quality of the solution, but it makes them more happy as well.
- Everyone Thinks They’re Managing by Outcomes. Here’s How to Actually Do it.
- An outcome is typically defined by a quantitative metric—a number that is both meaningful to the business and measurable by the team. It creates autonomy and accountability.
- Too often, teams forget to explore the opportunity space at all. They jump straight from an outcome to a list of ideas.
- When we help our teams frame the opportunity space, we share our knowledge and expertise and we learn how our teams are thinking about the problem space.
- OKRs and product roadmaps
- How to put together OKRs and long term initiatives/roadmaps.
- Focus on Your First 10 Systems, Not Just Your First 10 Hires — This Chief of Staff Shares His Playbook
- Role of chief of staff.
- Annual goals and plans (finance, GTM, product, people).
- Quarterly business reviews and scorecards.
- Problem description docs prior to RFCs.
- Growth+Sales: The New Era of Enterprise Go-to-Market
- Failure modes of product led companies.
- The Relentless Jeff Bezos
- The main differentiator of bookstore was, that it could not be replicated in real life.
- High volumes allow Amazon to optimize the underlying costs.
- Amazon is its own biggest customer.
- Ten lessons from a decade of vertical software investing
- Great overview of how to build and expand vertical SaaS + Fintech.
- Moving upmarket and the ascent of SMB SaaS
- Follow your fastest-growing customers.
- Lead the way with the product, not sales.
- Don’t forfeit the low end.
- The Secret to a Great Planning Process — Lessons from Airbnb and Eventbrite
- Description of the "W Framework" or "W Model", an alternative to OKRs, used for longer term planning with 4 main phases:
- Leadership providing context.
- Teams creating plans aligned with the context.
- Leadership integrating the plans together, adjusting them and communicating that to teams.
- Teams make final tweaks and confirm buy in.
- Description of the "W Framework" or "W Model", an alternative to OKRs, used for longer term planning with 4 main phases:
- A Founder's Guide to Writing Well
- Words and software share a wonderful attribute: Write them once and they can benefit an infinite audience at no additional expense.
- Eight clear tips on how to improve writing.
- Fintech Scales Vertical SaaS
- Overview of software business models and why vertical SaaS plus fintech is the next one.
- Simple, correct, fast: in that order
- Value of minimalism, without that, other aspects cannot be achieved.
- Stack Overflow: How We Do Monitoring - 2018 Edition
- In depth overview of monitoring tools and frameworks StackOverflow utilizes.
- How To Grow as An Engineering Manager in 7 Steps
- Concise overview of engineering manager growth.
- Balancing strategical and tactical.
- Object-Oriented Programming — The Trillion Dollar Disaster
- Long and clear argumentation why OOP is not that good.
- There’s no objective and open evidence that OOP is better than plain procedural programming.
- What Does It Take To Be a Successful Tech Lead?
- A good tech lead excels in delivery and execution.
- A good tech lead builds a thriving team.
- A good tech lead builds alignment.
- A good tech lead balances priorities.
- A good tech lead is clear about what they want.
- Code-wise, cloud-foolish: avoiding bad technology choices
- Counterweight to boring technology club, resonates with serverless.
- Non-exceptional averages
- Nice introduction into stronger typing.
- Microservices — architecture nihilism in minimalism's clothes
- Distinguish between project/module segregation and deployment segregation.
- When to split and what are the good reasons for that.
- ‘Give Away Your Legos’ and Other Commandments for Scaling Startups
- If you personally want to grow as fast as your company, you have to give away your job every couple months.
- A week ago, someone might have told you they hate their Legos and want to get rid of them. But as soon as you hire someone else, they suddenly want to hang on to all of them.
- Hiring is a network effect. The first 100 people you hire will define the next 200.
- What Gödel Discovered
- Incompleteness theorems for programmers.
- Expressing logic in familiar programming language makes it much easier to understand compared to learning both, the matter and the language.
- The Hard Truth About Innovative Cultures
- Tolerance for Failure but No Tolerance for Incompetence
- Willingness to Experiment but Highly Disciplined
- Psychologically Safe but Brutally Candid
- Collaboration but with Individual Accountability
- The Engineer’s Guide to Career Growth — Advice from My Time at Stripe and Facebook
- "The best career advice I have for young engineers is to focus on learning instead of worrying about tracks and career ladders."
- What Functional Programming Is, What it Isn't, and Why it Matters
- Introducetion to functional programming.
- "If we don’t have local reasoning every new line of code can force us to revisit the rest of the code base to understand what has changed."
- First Principles: Elon Musk on the Power of Thinking for Yourself
- Scientific method is undervalued.
- A/B testing and other empiric methods should rather be used to confirm/refute scientific hypothesis rather than form them.
- Choose Boring Technology
- How to choose technology pragmatically.
- Simplicity and minimalism is value on its own.
- System design hack: Postgres is a great pub/sub & job server
- Great example of boring technology.
- Lambda World conference videos
- Functional programming design patterns by Scott Wlaschin
- Pragmatic approach to adopting functional programming principles.
- Talking Architecture With Kevlin Henney
- Some guidance remains unaffected by the passing of paradigms, the evolution of technology or the scaling of development: break your software into small, cohesive parts defined by clear interfaces and sound implementations, all the while striving for simplicity.
- AlphaGo - The Movie | Full Documentary
- Development of AlphaGo and the 5-game match against best Go player in the world that AlphaGo won.
- Mistakes and Discoveries While Cultivating Ownership
- 5 levels of ownership/trust according to Netflix:
- Demonstration (telling what to do)
- Oversight (reviewing before completion)
- Observation (checking after completion)
- Execution (defining vision and strategy)
- Vision (participating in vision)
- Alignment on level is important, not the level itself.
- 5 levels of ownership/trust according to Netflix:
- Monolith Decomposition Patterns
- Pragmatic talk about monolith decomposition, microservices, architecture and incremental evolution.
- Beyond Microservices: Streams, State and Scalability
- Overview of some more advanced software architecture patterns.
- Future of Data Engineering
- Evolutionary stages of data pipeline maturity.
- The Knowledge Project Podcast
- #100 Matt Mullenweg: Collaboration Is Key
- Make reversible decisions fast, irreversible decisions slow.
- Open source will win in the long run.
- Writing is the king, being able to synthesize and summarize is great skill.
- #98 Sahil Lavingia: Observing the Present
- Traits of high performers:
- Conciously saving time of other people, being mindful of consequences of their actions.
- Great communicators, especially in written form, doing multiple self-reviews.
- Reading a lot, both in terms of depth and breadth.
- Traits of high performers:
- #96 Randall Stutman: The Essence of Leadership
- Lot of "known truths" about leadership that deserve repetition.
- Feedback should always be balanced, start with positive and make sure negative has similar extent.
- #27 Chris Voss: The Art of Letting Other People Have Your Way
- Put fears / dealbreakers proactively on the table. Do an accusation audit (e.g. we're big, we might be seen as bullies).
- Fear of loss is twice as big as joy of win.
- "It seems you have something on your mind" works much better than "What's on your mind?"
- Trust is predictability.
- #23 Ray Dalio: Life Lessons from a Self-Made Billionaire
- Ideo-meritocracy:
- Honestly put ideas on the table.
- Foster thoughtful disagreement, be ok to question, disagree and have healthy conflicts.
- Be able to resolve conflicts, e.g. by voting weighted based on believeability.
- Progress = pain + reflection. It's ok to make mistakes, not ok not to learn from them
- Five steps to success:
- Have ambitious goals.
- Identify mistakes along the way.
- Diagnose those mistakes.
- Design solutions.
- Implement solutions.
- Ideo-meritocracy:
- #19 Rory Sutherland: The Psychology of Advertising
- Two types of value: perceived vs objective.
- Creating value by changing behavior is the most ecological and minimalistic approach.
- Economics reduced human behavior to a single lever - either fining or rewarding.
- Noone ever got fired for hiring IBM, in corporate people try to avoid blame.
- Mathematicisans first creatively create hypotheses and then try to prove them.
- Information is easy to create and hard to trust. In typwriter age, seniority implied higher information throughput.
- Importance of communication is proportional to cost of its creation and transmission.
- Businesses with pressure on short term results are naturally less trustworthy to the customers.
- #13 Pedro Domingos: The Rise of The Machines
- Great overview of AI and its directions.
- People tend to overestimate their knowledge.
- Technological advances do not happen exponentially but in S-curves (which are similar to exponential in the beginning).
- #8 Julia Galef: The Art of Changing Minds
- It's irrational to think that all people are rational and can be persuaded by rational arguments.
- There are three levels: Correct, Wrong, "Not Even Wrong" :)
- Book recommendation: LANGUAGE, TRUTH AND LOGIC
- #5 Chris Dixon: The State of Venture Capital
- Introduction to VC, history, seed, series A, series B.
- Three main types of founders:
- Technical expertise (DataBricks)
- Domain expertise (Mews)
- Culture shift member (AirBnB)
- Future of tech in AR, cryptocurrencies, AI, quantum computing.
- #3 Sanjay Bakshi: Why Mental Models
- Value of multidisciplinary thinking and reading.
- Power of good naming and rememberability (boiling frog vs. technically correct term).
- Valuing business based on how much they fool others, cost effective > high margin.
- #100 Matt Mullenweg: Collaboration Is Key
- Pain of Scale
- The practiced art of founder communication
- You’ve got to really be clear on the goals and objectives of the company and ensure you and your senior team have clarity.
- The 10 by 10 rule means that every day, you’re going to say that “why,” 10 times in 10 different ways.
- Build the structure of the company so that the message scales – the way you do that is by having your senior team know what their job is on scaling the message.
- Build smart and healthy teams and grow twice as fast
- First level is vulnerable trust.
- Second level is conflict.
- The third level is commitment.
- Once you’re out of the room, you then come to accountability.
- The top level is results.
- The practiced art of founder communication
- High Growth Handbook
- How scaling companies operate, overview of roles and responsibilities in startups and scaleups.
- Code Review Developer Guide
- Code review process at Google, both from authors and reviewers perspective.
- re:Work
- Practices, research, and tools from Google to improve your people processes.
- GitLab Handbook
- Central knowledge repository of GitLab on how they run the company.
- Hypergrowth Playbook: from startup to scaleup
- Recruitement, culture, talent growth and culture of learning, communication, HR processes.
- Accelerate
- Software delivery is an exercise in continuous improvement, the best keep getting better and those who fail to improve fall further behind.
- Ideally we should reward developers for solving business problems with minimum amount of code, even better by not writing any code or deleting code.
- Metrics of software delivery performance:
- Tempo
- Lead time (fast feedback loop, faster fixing of problems and improvements).
- Deployment frequency (proxy for batch size which reduces risk and improves efficiency).
- Stability
- Mean time to restore (failure is inevitable, it's important how fast we can recover).
- Change fail percentage (how many changes lead to outage that requires hotfix, rollback or fix-forward).
- Tempo
- Software deivery performance implies:
- Organizational performance.
- Non-commercial performance.
- Ability to discover faster.
- Start with culture, which can be measured as well.
- Pathological - fear, witholding of information.
- Bureaucratic - following process is above fulfillment of mission.
- Generative - focus on mission and good performance.
- Generative culture implies good software delivery performance and organization performance
- Continuous delivery has positive impact on generative culture, delivery performance, quality and even identification with the organization and work life balance.
- Build quality in, issues should be detected as soon as possible to minimize impact and costs of fixes.
- Work in small batches, it should be super simple to push out changes.
- Automate manual testing and deployments, deployments should be painless for the devs.
- Pursue continuous improvement.
- Everyone is responsible for delivery, no segregation of development, testing and operations.
- Everything as code stored in version control system, especially configuration of apps and system (IaC).
- Continuous integration, short living branches integrated to main branch and immediately built and tested.
- Continuous testing throughout development process on every commit. Test reliability and quality test data is super important.
- Security deeply integrated into development process, security people members of teams, shifting from reviewers to tool makers.
- Loosely coupled architecture, independence on other teams in terms of development, testability and deployability.
- Freedom to choose tools.
- Lean engineering management improves software delivery performance.
- Limiting work in progress should cause process improvements.
- Visualize important metrics.
- Gather feedback (APM) from production and decide based on it.
- Lightweight (e.g. intrateam) code review process is needed for good tempo.
- Unplanned work is a good proxy measure of quality.
- Lean product management drives and also is driven by software delivery performance.
- Slice product to small batches, deliverable in less than a week.
- Provide everyone great visibility into work up to understanding of customers.
- Gather and implement user feedback.
- Make it possible to make changes throughout the process, avoid rigid specs.
- Transformational leadership
- Clear understanding of vision and direction.
- Inspirational communication,
- Intellectual stimulation, challenge to think in new ways.
- Supportive leadership.
- Personal recognition.
- Powerful: Building a Culture of Freedom and Responsibility
- Problem finders, they're cheap. While it's good to be able to identify problem, it's much more valuable to be able to solve it as well.
- Feedback should always be given face-to-face. Instead of listening to someone complaining about someone else, ask them "Have you told them yet?".
- Raising concerns in advance is a must. The approach of "I told you so" ex-post, while it feels good, is rather sign of bad argumentation skills.
- Companies don't exist to make employees happy. It's great when they're happy because of doing great work with great colleagues, not because of perks.
- Nostalgia is driver of resistance, things are changing rapidly, it's ok to move on. Managers are not career coaches. [Pages 108-114].
- Scientific method FTW. Instead of data-driven decision making, it should be data-infromed, fact-based decision making.
- Hiring should never be a numbers game. There should always be clear goal of it.
- Everyone should be incentivized to provide non-anonymous feedback to everyone else. E.g. via KISS once a year.
- Y-Combinator Library
- Stripe Atlas Guides
- Founders Library
- Angel Match Pitch Deck Database
- Sequoia Pitch Deck Framework
- Principles of Pricing by Notion VC
- StartupBeat czech startup ecosystem navigator
- Purpose - Why does the company exist? How will you impact the world?
- Problem - What's the pain you're addressing and why isn't it solved already?
- Why Now - Are there any trends that make now (or yesterday) the right moment?
- Market Size - Total addressable market, serviceable available market, serviceable obtainable market.
- Solution - What's the value proposition and does it have a moat?
- Product - How does the product look like?
- Competition - What's the competition and where's the differentiation?
- Business - How do you make money?
- Growth - How do you plan to grow the business?
- Financials - What are the key metrics and how will you use the money?
- Team - What is relevant talent and experience of the team?