Blog

How to Tell if Something is Being QA’d Well.

Like a lot of things about a career in software engineering–and specifically Quality Assurance (QA)–determining ‘quality’ is ultimately subjective. One person’s throwaway code is another’s MVP. Deciding what is well-made and what is acceptable is a large part of what we do as the ambassadors of goodness. And when QAing (Yes. That’s a word now,… Read More

The Final Countdown: Daily Deploys

With so many light years to go… Deployment of code is typically considered a milestone. It’s the delivery of the hard work of many engineers to the world, and it is very much a big deal. It is in no way an easy task. Big milestones never are. What the engineering team at Yammer has… Read More

Application Monitoring Infrastructure at Yammer

Application metrics are a key piece of our development process at Yammer. They give us key insights into exactly how our software is behaving with real traffic. Metrics are used in every service we create and used by every engineer to solve issues when they arise. To fully take advantage of these metrics we must… Read More

Shipping mobile apps every week

Monthly releases are the standard for mobile apps, and Yammer was one of the companies that followed this release cycle. Back in November we decided to move to weekly releases. Here’s why and how we did it. The monthly release cycle was hurting us Projects at Yammer follow a rule of thumb: 2 to 10… Read More

Enable your organization to operate with less information

“Confronted with a task, and having less information available than is needed to perform that task, an organization may react in either of two ways. One is to increase its information-processing capacity, the other to design the organization, and indeed the task itself, in such a way as to enable it to operate on the… Read More

Resiliency at Yammer

Yammer is built on a service-oriented architecture. However, at a greater scale (many discrete services) we have found that when a new service is introduced or an existing one is extended it increases the complexity of the relationships between the incumbent services. These complex relationships can have many different effects when they fail. These failures… Read More

1 2 3 8