Monday, June 13, 2011

Kiva Ecosystem :: Kiva Staff, Engineering

The reason for Kiva's success is no secret. Kiva has seen such amazing growth thanks to involvement from such a large, vibrant community of participants. At Kiva, we like to call this our 'Ecosystem'. The Kiva Ecosystem is made up of infinite components. We have chosen 10 contributors of the Ecosystem that we think give a great view into some special parts of how Kiva works. This post will look into the life of a Kiva Engineer, Tim Ledlie. Tim is the Engineering Manager of the Core Services Team, he will walk us through what it means to be on the Engineering Team at Kiva, some projects he has been working on, and why he loves his job!

I live in Oakland, California, so my day begins with a short bike ride, a trip on the Bay Area Rapid Transit train under San Francisco Bay, and then a walk to Kiva's office in San Francisco:

As part of Kiva's engineering team, I help build and maintain Kiva's many web sites and services. There are about 15 software engineers, twice when I started two years ago. We are broken into five teams that focus on different areas. I'm the Engineering Manager of the Core Services team that works on our core data and financials. Over the last year, I’ve mostly been building a more robust and scalable layer between our database and application code. Unlike the other engineers, whose work is visible to users of our web sites, mine is internal and hidden. But much of what I do makes those more visible features possible.

My team and I, in the Core Services room

Right now, I'm working on a four-week project to help protect the privacy of the borrowers displayed on our web site. My role is to make sure that all of their information is available so that lenders can make as strong a connection to them as possible, but their sensitive data is protected when appropriate. Also, I need to expose their data consistently in the many settings where it’s shown, like on and our public API, which third-party developers use to build cool apps.

Another recent project was Kiva’s introduction of the Updates Tab. My role was to put a code interface over the journals about our borrowers and microfinance institution partners, and blogs by Fellows and Kiva, so all that disparate data could be searchable and displayed in a common format.

When we need a break from work, Gobi and Otis are always eager to play, and a great stress-reliever.

Every day at around 11am, each engineering team has “stand up” where we tell each other what we did yesterday, what we plan to do today, and whether anything is blocking our progress. It’s a nice way to hear what others are working on and be able to quickly offer help or suggestions. We stand in order to keep the meetings short (5 – 10 minutes):

Rocket Monkey, our lender-facing group and one of the larger teams, doing standup

Kiva engineering has two-week iterations, or work periods, during which we plan what to do, implement it, test it, and then huzzah -- deliver it to our live web sites. Once every five iterations, we have an “innovation iteration”, where the engineers propose whatever crazy projects they think up and try to get others to help them build it. At the end of each iteration, we have Demo Friday, where we get together to show each other what we've done and celebrate being finished.

Many years ago I started a bicycle business, which taught me what it means to be a struggling entrepreneur. Before moving to the Bay Area, I spent five months traveling to a number of developing countries. Meeting the local people and experiencing their cultures and generosity helped make the world feel smaller. There are a lot of companies with engineers in San Francisco and Silicon Valley, but I'm fortunate to work for one that does something relevant to me and important for the world.