5 Tech Talks Every Web Developer Should Watch

Sunday January 13, 2019
Software Development

I enjoy listening to tech talks from expert software engineers. When you
listen to a good tech talk, you’re given the opportunity to learn from someone
else’s experiences, and this is really valuable in such a fast-moving industry.
A lot of tech talks from big developer conferences are posted online for free,
and I’ve kept a list of some of my favorite tech talks from the last several
years. These are the five tech talks that have had the most influence on me
personally, and I think that anyone who’s a web developer should listen to them
if you haven’t already. Although most of them are several years old by now, I
think the ideas presented in them have already stood the test of time. So while
some technological details might change, the big ideas presented are still
relevant and will continue to be for a long time.

#5 Why Google Stores Billions of Lines of Code in a Single Repository

As you might guess from the title, this video is all about the benefits of
storing your code in a large monolithic repository. I personally think monolithic
repositories are great, for all the reasons discussed in the talk.
Unfortunately, it often seems like starting a conversation about a monolithic
repository is almost as difficult as talking about tabs vs spaces. But
regardless of whether you think a monolithic repository is ideal for your
working environment, I think it’s important to understand the trade-offs you’re
making by going one way or the other. Besides that, the talk also contains
valuable ideas about the way Google approaches refactoring and code maintenance
on such a large scale.

#4 Spotify Engineering Culture

The Spotify engineering culture videos were relatively popular in the software
engineering community when they first came out several years ago, and if you
haven’t seen them you definitely should. Although these are technically two
separate videos, I’m counting them as a single tech talk in my list. These
videos focus more on the business aspects of building software than the
technical details. They discuss things like agile practices and team
organization. The videos are really well done and present many well thought out
ideas, so it’s likely you’ll be able to learn something from them even if your
work environment is a little different.

#3 Architecting for CI Success

Jez talks about continuous delivery, dev ops, and how to overcome some of the
hurdles that people often face when trying to implement dev ops practices. His
talk is full of practical advice that focuses on building scalable,
maintainable, and reliable solutions. He touches on deployment pipelines and
testing strategies for producing low-risk, easy to manage releases. He also
discusses service architecture patterns that support some of these dev ops
practices. Overall, he’s a great speaker, and the talk is definitely worth
listening to.

#2 Continuous Delivery: The Dirty Details

Mike Brittain was an engineer at Etsy when he gave this talk, which is an
overview of some of the engineering practices Etsy uses for continuous delivery.
He also briefly mentions some other challenges and solutions, such as scaling to
large traffic volumes and degrading service gracefully. One of the reasons I
like this talk so much is that it seems to pull back the curtain a little bit on
how continuous delivery impacts the developers at Etsy on a daily basis. When
watching the talk, it’s clear that Etsy doesn’t just talk about abstract ideas
but actually implements them in ways that some people would consider a little
bit radical. And you can see concrete benefits that have developed out of some
of the ideas they’ve implemented.

#1 Pushing Millions of Lines of Code Five Days a Week

If you only watch one tech talk from my list, watch one of Chuck Rossi’s talks.
The oldest one is my favorite, but they’re all great. Chuck Rossi was the
Release Engineering Director at Facebook, and his presentation about how
Facebook manages its releases remains my favorite tech talk to this day. Chuck
talks about how source code is developed, tested, and released at a company that
maintains one of the largest web applications in existence. He’s a great
speaker, and presents ideas and solutions for challenges that are likely to
affect software organizations of any size. If you’re a web developer, it’s
critical that you understand how and when your code will roll out to production.
I think that one of the reasons I like this talk so much is that Chuck not only
explains how Facebook manages these processes, but also explains why they chose
certain solutions over others, revealing some aspects of their decision making
process.

Chuck has actually given essentially the same talk multiple times, and I’d
recommend watching all of them. Although the basic ideas in the talk are the
same, by watching different iterations of the same talk you can see how
Facebook’s release process has evolved over time, and you can pick out some
themes, ideas, and challenges that remain consistent over time. Chuck
understands the need to minimize the time between merge and release to
production, and has developed solutions to help Facebook do this at a massive
scale.

Wrapping Up

All of these videos have had a significant impact on the way I think about,
develop, and release software. I hope you take some time to watch some of them
if you haven’t seen them before, and I hope they spark some new ideas for you as
they did for me.