Maintaining Balance by Using Feedback Loops in Software

Posted by Ancestry Team on July 29, 2014 in Development

Maintaining Balance by Using Feedback Loops in Software Feedback is an important part of daily life.  Used wisely, feedback loops can help us make better decisions, resulting in overall improvements.  Feedback loops are useful in all sorts of situations, from relationships to what we eat for dinner.  Software can also be made to take advantage Read More

Building an Operationally Successful Component – Part 3: Robustness

Posted by Ancestry Team on July 23, 2014 in Development

Building an Operationally Successful Component – Part 3: Robustness My previous two posts discussed building components that are “operationally successful.”  To me, a component cannot be considered successful unless it actually operates as expected when released into the wild.  Something that, “works on my machine,” cannot be considered a success unless it also works on Read More

Controlling Costs in a Cloudy Environment

Posted by Daniel Sands on June 24, 2014 in Development, Operations

From an engineering and development standpoint, one of the most important aspects of cloud infrastructure is the concept of unlimited resources. The idea of being able to get a new server to experiment with, or being able to spin up more servers on the fly to handle a traffic spike is a foundational benefit of Read More

Website Performance 101

Posted by Jeremy Johnson on June 17, 2014 in Development

Here at Ancestry.com, we have a team dedicated to monitoring, measuring, and helping the company improve the performance of the website. Trying to do this is a very fun and interesting challenge. With a website that has many billions of records and other content (10 petabytes), making it fast is no small task! To illustrate Read More

Building an Operationally Successful Component – Part 2: Self Correction

Posted by Ancestry Team on June 10, 2014 in Development

Building an Operationally Successful Component – Part 2: Self-correction In my last post I talked about building components that are “operationally successful,” by which I mean that the software functions correctly when it is deployed into production.  I suggested that there are three things that a software component must have, to some degree, in order Read More

Dealing with Your Team’s Bell Curve

Posted by Daniel Sands on June 6, 2014 in Development, Operations

I recently came across this article on the INTUIT QuickBase blog and was intrigued by the premise. It asserts that inside any team or organization, you will have a bell curve of talent and intelligence – which most would agree to. It’s not a bad thing, it just happens. Regardless of how well staffed you Read More

Featured Article: Want Great APIs? Start With Training

Posted by Ancestry Team on June 3, 2014 in Development

Ancestry.com, has awesome software engineers, products, and APIs. However, programmers are not always trained as API designers and when it comes to API development, consistency matters. As companies build their API programs using multiple teams, APIs tend to develop their own personalities and become radically different from one another. That’s a problem. Fortunately, it doesn’t Read More

Find A Grave Engineering

Posted by Ancestry Team on May 21, 2014 in Development, Mobile Development

Last October Ancestry.com acquired a very exciting property called Find A Grave which focused on collecting content around the graves of family, loved ones and famous people. With the acquisition we wanted to take Find A Grave to the next level and provide the current users new and better experiences around consuming and contributing content. Read More