I listen to startup podcasts so you don’t have to.

Shopify's Approach to High-Intensity Engineering Culture

Building
December 20, 2024
Farhan Thawar shares Shopify's strategies for intensity, pair programming, and managing company challenges effectively.
Topics discussed in the episode:
-
Can reducing meetings enhance team productivity?
-
How does vulnerability enhance team learning?
-
Why should founders choose the harder option?
-
Why should startups focus on deleting code?
-
Can hiring from unconventional places strengthen your team?
-
How can regular check-ins boost organizational intensity?
-
How can AI co-pilots revolutionize software development?
-
How can pair programming enhance team productivity?
-
Why should startups focus on building infrastructure over features?
-
How can startups improve their hiring process?

Can reducing meetings enhance team productivity?

Farhan describes Shopify's 'meeting Armageddon', where they delete all recurring meetings to focus on meaningful work.

\"Once a year at a random time, we will delete all recurring meetings... Then we have a two-week moratorium, where you're not allowed to add a recurring meeting... It forces you to rethink, do we need a recurring meeting?\"

• Periodically reassess meeting necessity. • Reduce unnecessary meetings to free up focus time. • Encourage intentional scheduling and collaboration.

How does vulnerability enhance team learning?

Farhan discusses how embracing vulnerability and asking 'dumb' questions can be a superpower in team environments.

\"Not everyone can look stupid in public over and over, but I believe it's my superpower... Half the time, when I say something dumb, people go, I had the same question... They just were scared to say it.\"

• Encourage open communication by modeling vulnerability. • Promote a culture where questions are valued. • Enhance team understanding and innovation.

Why should founders choose the harder option?

Farhan explains that opting for the difficult path leads to valuable learning experiences and better long-term outcomes.

\"If you do the hard path and it doesn't work, actually, you still kind of win because you've now done something hard... You've learned something along the way that is valuable.\"

• Embrace challenges to accelerate growth. • Leverage difficult experiences for future success. • Avoid easy paths that offer limited learning.

Why should startups focus on deleting code?

Farhan emphasizes the importance of simplifying codebases to enhance maintainability and performance.

\"We have a delete code club... We can almost always find a million plus lines of code to delete... The more you can simplify, the much easier everything becomes—resiliency, performance, reliability, maintainability... Code is a liability.\"

• Regularly review and simplify your codebase. • Decrease code volume to improve efficiency. • Treat code as a liability to encourage better practices.

Can hiring from unconventional places strengthen your team?

Farhan shares how he hired high-performing employees from unexpected backgrounds, enhancing team diversity and capability.

\"I saw a waitress doing a very, very good job... I said, what do you do outside of this? Because you look like you're super... She came into the office and she first started off as our receptionist... She ended up taking over one of the HR functions for us.\"

• Recognize talent and potential in non-traditional candidates. • Provide opportunities for growth and development. • Diversify your team's experience and perspectives.

How can regular check-ins boost organizational intensity?

Farhan explains how Shopify uses weekly updates and six-week reviews to maintain intensity and alignment within teams.

\"We have a process called OK one and OK two... Then when it goes to OK two, it's typically the VP level of the area... Then again, like I mentioned, every six weeks we go through with Toby... A lot of it is like, hey, why is this taking so long?\"

• Implement regular check-ins to maintain focus. • Use leadership involvement to unblock teams. • Create a culture of accountability and rapid iteration.

How can AI co-pilots revolutionize software development?

Farhan discusses how AI tools like GitHub Copilot serve as digital pair programmers, enhancing productivity and enabling new possibilities.

\"What's happening right now with an AI co-pilot like GitHub Copilot is it is your pair programmer...You never have to code alone on your own...You can try a different language now because the API and the syntax is much easier to pull forward.\"

• Utilize AI tools to augment developer capabilities. • Encourage experimentation with new technologies. • Leverage AI to reduce barriers and increase efficiency.

How can pair programming enhance team productivity?

Farhan highlights pair programming as a powerful tool to create intensity and increase output without extending working hours.

\"Pair programming is the most underutilized management tool in engineering, bar none... It's not about lines of code... The throughput limiter is not hands on keyboard... It's to understand the content.\"

• Implement pair programming to foster collaboration. • Increase code quality and knowledge sharing. • Focus on problem-solving rather than code volume.

Why should startups focus on building infrastructure over features?

Farhan explains the long-term benefits of investing in infrastructure, leading to faster product development and scalability.

\"He goes, Now how long would it take to build like a platform layer which exposes APIs so anyone could build NFT gating in one hour. I'm like, I don't know, like 2 or 3 months, he goes, do that...Because you don't know what they're going to build on top of the platform.\"

• Invest in infrastructure to enable rapid future development. • Build flexible platforms allowing unforeseen innovations. • Think long-term to facilitate growth and adaptability.

How can startups improve their hiring process?

Farhan shares an unconventional approach to hiring that focuses on real-world performance to build better teams.

\"Interviews are not a good predictor of performance...what I really like to do is use this race car analogy. If I told you, hey, I want to go hire the best race car driver, there's not really that many questions you could ask them except for like, put them in the car.\"

• Evaluate candidates through real-world tasks or trials. • Use internships or job trials as extended interviews. • Focus on actual performance over interview skills.