The Impossible Job
Being a great leader is a difficult job. While not impossible, it certainly feels that way at times. Many leaders have received little to no formal management training and getting started can seem overwhelming. Michael Lopp, VP of Engineering at Slack, lays out a set of sixteen hacks you can use to make the job a little bit easier.
Read more...
Aaron Baker Senior Software Engineer
Welcome to Calibrate 2016
We are so pleased to share with everyone the talks from the 2016 Calibrate conference for engineering managers. Those who attended Calibrate this year had the benefit of asking questions, talking with each other, and chatting with speakers throughout the day. What we’re bringing to you now is the content from that day; something we’d like to share with all new engineering managers, everywhere.
Read more...
Sonya Green Calibrate 2016 Program Director
If a tree falls in the woods...
At Sharethrough many demand-side platforms (or DSPs) bid into our exchange via RTB. In turn, our adserver logs events as they occur.
The fast-moving nature of this log data inevitably brings us to contemplate two topics that are often intertwined: real-time data and dashboards.
It’s straightforward...
Read more...
Getting the most out of ScalaCheck
We’ve been using ScalaCheck property checks at Sharethrough for about a year. For those not familiar, property checks test a condition multiple times, using freshly-generated data on each iteration. While a unit test exercises a very specific scenario, a property check’s ability to generate data broadens...
Read more...
Patrick Galbreath Software Engineer
The Free Monad and its Cost
This is the follow up post in to my explanation of Monads
for Scala developers. Read part one here.
Code examples can be found here: https://github.com/robinske/monad-examples
I had heard a lot of things about the Free Monad
and never really understood what it was, so did the research that led...
Read more...
Kelley Robinson Engineering Team Lead, Optimization
Scala Days Recap
I have been writing Scala for a little over three years now and kept coming across this concept called the “Free Monad.” After a while, I decided to do the research to understand what a Free Monad is. This led me down the rabbit hole of functional programming in Scala, which some outspoken people...
Read more...
Kelley Robinson Engineering Team Lead, Optimization
First Time Speaking at Tech Conference
A couple weeks ago, I spoke at the inaugural DevOpsDays Salt Lake City (SLC) on “What DevOps Is to An AdTech Company.” The talk highlights projects at Sharethrough that have shaped our DevOps culture.
As a first-time speaker, I wasn’t sure what to expect. It turned out to be a great experience.
...
Read more...
Mason Leung Software Engineer
Building a Service with Docker and ECS
At Sharethrough, we built a proxy server (codenamed ASAP) that all mobile SDKs speak to for ad server related information. The purpose of ASAP was to reduce our client side SDKs to minimal logic as well as allowing us to push changes and new features to ASAP without asking publishers to update their SDK.
Because ASAP will receive thousands of ad requests per second, we needed to build a scalable, high performance infrastructure that is easy to maintain.
Read more...
Danica Shei Senior Software Engineer
I Am Secure, Therefore IAM
Sharethrough serves millions of ad requests daily, all on top of Amazon Web Services (AWS). At one time, sharing AWS credentials via a shared password vault worked OK. But as we grew, we needed a better, more secure way to manage AWS logins.
We use Terraform to maintain infrastructure and prevent...
Read more...
Mason Leung Software Engineer
Monads are confusing. Let us help
Scala developers love to discuss Monads, their metaphors, and their many use cases. We joke that Monads are “just Monoids in the category of Endofunctors,” but what does that really mean?
Parts of functional programming (FP) may be built on the mathematical principles from category theory, but you...
Read more...
Kelley Robinson Engineering Team Lead, Optimization