Want a Good Team Now or a Great Team Later?

The goal of our teams is to deliver results for the company. So when we prioritize work, we consider two factors: level of effort and impact. (ie, do low effort / high impact projects first).

The Pre-Mortem: Software Engineering Best Practice

The software post-mortem is well known. It’s a standard best practice that really marks the end of any software project. It also fits in well with the Agile manifesto, specifically the retrospective - always be reflecting, always be improving.

Don't Ask for Feedback, Ask for Advice

Everyone wants feedback. In fact, studies show employees who get regular feedback are more engaged and higher performing. The problem is, unless you have a strong trusting relationship with a person you are asking, you may not the concrete feedback you are looking for. People don’t want to hu...

So, You Want to Move to Microservices?

As I reflected back on my time at LinkedIn, I put together a brief history of its scaling story. We had done the (now) classic migration from monolith to microservices. Just like oh I dunno, Amazon, Google, eBay, Twitter, Netflix, and my current employer Uber (to name a few). And why not? Mic...

Code Reviews by Phase and Expectations

Code reviews are amazing for many reasons. And everyone on the team should contribute. Interestingly, the behavior of an engineer with respect to code reviews changes based on seniority or tenure within a team or code repository. I like to refer these changes as “phases”.

The Wisdom of David Henke

A hero to the engineering and operations world, here’s a collection of some of David Henke’s greatest quotes and sayings.

Android Performance Improvements for Slideshare

A post I co-wrote on the LinkedIn Engineering Blog that documents the Slideshare team’s work improving the performance of our Android App. To build a compelling, smooth, and crash-free experience, we needed to improve our app under the hood. We focused our optimizations on three areas: image ...

A Brief History of Scaling LinkedIn

A post I wrote on the LinkedIn Engineering Blog that tells the story of how LinkedIn scaled over the years. It touches on the larger tech initiatives and key milestones throughout. Throughout my time at LinkedIn, I was involved in various tech initiatives across the company. I also was fortun...

Field of Study Explorer - Data Insights for Students

A post I wrote on the LinkedIn Engineering Blog that documents my team’s work building powerful searching tools for students and alumni. This post walks through how we standardize our profile data, leverages the latest in LinkedIn search technology, and provides a powerful visual to LinkedIn...

Fragments, Tab Adapter, and Different Layouts

When using Fragments in tabs, the FragmentManager takes care of instantiating, retaining, and reusing Fragments. The problem there is that a tag for a fragment is auto-generated. If we want to reuse that exact Fragment in a different layout (like when the device is rotated), we need to extrac...