Skip to content

My Beliefs and Opinions

Shipping

  • Speed is everything
  • It is better to ship something rather than spend endless time trying to perfect a product that never sees production.
  • Seek out feedback and iterate
  • Small teams ship faster, having less cooks in the kitchen.
  • Teams that use AI will see productivity boosts, teams not using AI will get left behind.
  • Using AI does not excuse shipping what you cannot explain.

At Large Companies

  • Speed matters but is not always the best. This can be for many reasons, but mainly boils down to Risk > Reward. Shipping a small bug can result in a loss of hundreds of millions of dollars at the scale large companies operate at. This doesn't mean small teams/companies can't have large losses due to bugs, but typically the impact is proportional to the size of the company.
  • The larger the team, the more planning and alignment required.
  • Sometimes starting over is necessary

Engineering with agents

  • Writing code by hand shouldn't be the default anymore. I'd rather spend that time figuring out what to build.
  • Systems thinking and design matter more than ever. I need to understand how a change fits into the whole app and what it means for the rest of the system.
  • I want to trust agents with more of the work. That starts with giving them a way to test what they built without waiting on me.
  • Good CI lets me move faster. Tests should catch the mistakes I care about and give agents enough feedback to fix them.
  • If I shipped it, I own it. I should be able to explain how it works and why I built it that way, even if I didn't write the code.

Anyone can do anything

  • Hard work and determination beats talent 9 times out of 10
  • Get 1% better everyday
  • Hard working people are positioned to get lucky
  • You can learn or accomplish anything if you put in the effort

Climbing the ladder

  • Visibility can take you a long way. How will anyone discover your work without visibility?
  • High Agency will make your manager's job easier and they will reward you for it.
  • Domain knowledge being a domain expert is a must. Know your domain like the back of your hand.
  • Understanding and delivering impact is more important than delivering the most technically sound feature that has noe impact.

Humility

  • Stay humble. We are lifelong learners. You will never know everything, so don't act like it.
  • Your job title does not give you the right to belittle someone.
  • Junior Devs often offer a new perspective that Senior+ Devs might not have.

Communication

  • Mismatched expectations lead to disappointment
  • Underpromise, overdeliver
  • Be the first to admit that you made a mistake.
  • Keep people updated, especially when something changes. They shouldn't have to chase you to find out where things stand.

Be helpful

  • Help people without expecting something in return.
  • Small things count. Take a few minutes to read someone's work or try what they're building.
  • Give feedback people can use. Tell them what worked, what confused you, and where you think they could improve.
  • Listen before giving advice. Sometimes people just need to talk through something.
  • If you offer to help, follow through. Be honest when you don't have the time or can't help with what they need.

Get a Mentor, Be a Mentor

  • Mentors offer a level of wisdom and knowledge you cannot obtain from anywhere else. I would not be where I am today without my mentors.
  • We owe it to the community to pass our advise and wisdom down to the next generation.