Skip to content
View bhaskarmurthy's full-sized avatar

Block or report bhaskarmurthy

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bhaskarmurthy/README.md

Hi there 👋

What's my goal?

Work on hard problems1, with smart people. Build, and grow a highly effective2 and impactful3 product engineering organisation.

  • 1 Hard problems - Technically challenging problems that require novel/creative solutions
  • 2 Effective - shipping product predictably and reliably
  • 3 Impactful - adds business or customer value, or solves meaningful problems

What gets me excited?

  • Identifying points of leverage that lead to outsized wins
  • Diving deep on hard things
  • Connecting with customers (internal and external), and learning how we can build better product together.
  • Building delightful, engaging products that our customers love.
  • Working with energy multipliers.
  • Developer experience that's deeply integrated and and intuitive.

What do I value?

Why - Start with why. Understand context to solve the right problem. Always be curious.

Trust - Align what you say with what you do. Communicate intent. Assume positive intent. Be vulnerable. Trust by default. Trust but verify.

Resilience - Growth under pressure. Learn from failures. Do the right thing, even under pressure.

Feedback - Feedback helps us grow and improve. Feedback is a gift, to be given and to receive. Be gracious in receiving feedback, and kind in giving.

Autonomy - Make impactful decisions. Ability to unblock yourself. Be the engine of your own journey. Autonomy requires alignment. Autonomy requires accountability.

Mastery - Constant learner. Deliberate practice. Root-cause analysis. Learn through teaching.

Purpose - Goal oriented. Clear definition of done. Make effective decisions. Deep work.

Taking risks - Outsized wins or learning comes with risks. Take risks pragmatically. Know your risk tolerance.

Always be shipping - Shipping products to customers is value, no matter how small. Consistently shipping incremental units of value trumps inconsistently shipping large units of value.

How do I think?

Software is a tool of leverage

Software is a tool. It's not the goal. The right application of software unlocks potential. Use software to multiply effort.

Mental models

I lean on mental models to help understand my surroundings and make decisions.

Critical thinking

I strongly believe in disciplined thinking that is clear, rational, open-minded, and informed by evidence.

Reasoning from first principles

I believe that understanding systems from first principles helps shape solutions that are consistent, correct, and built for the long term.

Thinking in bets

Decisions are a bet made with an expected outcome, using the best information we have available. Outcomes should be evaluated not in hindsight, but as inputs for the next decision.

Systems thinking / Feedback loop

Decisions produce outcomes. Outcomes drive decisions. Identifying the factors and interactions in systems is critical in being able to effectively manage outcomes.

How do I communicate?

Radical candor

Humble - Be curious. Provide rationale for feedback. Be open to push-back. Listen to understand.

Helpful - I want to help. I don't have all the answers. I want to know what help looks like.

Immediate - Give feedback as soon as possible, while the topic is still relevant and details are fresh.

In-person - Prefer synchronous feedback, in-person instead of remote (video/voice chat over Slack/email). Praise in public, criticize in private.

Don't make it personal - Give feedback about the work or outcome, not about the person. Focus on specifics not generalisations.

Active listening

Listen for content - focus on what's actually being said, instead of what is being interpreted as.

Listen for meaning and intent - discern the underlying meaning of what's being said, and the intention of the speaker (is the speaker informing the listener? attempting to influence? building a relationship?)

Listen for feelings and values - what is the speaker feeling while communicating? what values are they demonstrating?

How do I act?

High trust. High bandwidth. High velocity. I trust by default, and believe that we have a mutually trusting relationship. We build trust by communicating our intentions and following through. Over time, our trust will grow as our communication bandwidth grows. Building trust leads to more effective and efficient outcomes.

I will hold you accountable, and I expect to be held accountable. Accountability is a big part of trust. Let's set expectations up front, and work together to meet and exceed those expectations.

I like to have clearly defined expected outcomes. We can be exploring to learn. We can be building for customers. We can be building to set ourselves up for the future. Let's be specific about our intentions.

I have strong opinions. I'm open to change. I may often have a hypothesis when making decisions. I'm open to challenging and updating my hypothesis by acquiring new information.

I'm easily excitable. I'm a cheerleader. I'm always up to try things - as long as it's within my values.

I don't have an off switch. If there's a will, there's a way. It's also okay to not be willing. Let me know up front.

Notes

Non-exhaustive list of mental models that have helped me:

  • First principles
  • Second-order thinking
  • Systems thinking
  • Power law (Pareto principle)
  • Cost-benefit analysis
  • Divergent thinking
  • Leverage
  • Paradigm shift
  • Scientific method
  • Opportunity cost
  • Sunk cost
  • Aligned incentives
  • Growth mindset
  • Reversible vs. Irreversible decisions
  • Core competency
  • Strategic vs. Tactical
  • Compound interest
  • Diminishing returns

People Process Product

People

  • high trust
  • high bandwidth
  • default to open
  • growth mindset
  • team player
  • competency + proficiency alignment

Process

  • predictable
  • repeatable
  • reliable
  • low-overhead
  • open to change

Product

  • believe in the vision
  • bought in
  • measureable

Hire for values, ability and skills. Look for multipliers.

Build the organisation around goals, not tasks. Don't build the organisation to fit the people.

Automated processes are leverage. Systematise principles with tools.

Production Oriented Development

Buy almost always beats build. Avoid build if you can, unless it's your core competency.

Simple always wins. Things will always break.

Use boring technology. Make boring plans. Boring doesn't mean don't innovate.

The long-term costs of keeping a system working reliably vastly exceed any inconveniences you encounter while building it.

Pinned Loading

  1. shopify-app-template-firebase shopify-app-template-firebase Public

    Example Shopify app using Firebase

    TypeScript 3