Welcome to Signal’s /dev/log!

At Signal, our mission is to create the infrastructure for the next 20 years of digital marketing. We started in 2010 as “BrightTag”, with the goal to define and enable a more efficient and transparent means to share data among partners using direct APIs … moving beyond third-party cookies and browser cruft for data collection and transmission. We’ve assembled a great team of engineers in Chicago (and recently Brooklyn!) working to make that a reality.

As a dev team, we have benefited greatly from hearing about others’ experiences. Company tech blogs like Etsy’s Code as Craft and The Netflix Tech Blog do a great job of capturing the kinds of day-to-day and month-to-month issues that we face as we grow our company and products. We’ve also been inspired by blogs like Steve Souders’ High Performance Web Sites Blog, which focuses on the end-user experience and presents really practical advice for improving web performance for everyone.

We feel like it’s time to give back and share our stories as well. Our team members have been working on a lot of cool stuff, and we’d like to share what we’ve learned. So we’re launching our tech blog, /dev/log.

The viability of this company and the products we are creating are directly tied to the software we are creating, so we’re very protective of the quality of our codebase. We also recognize that the frameworks and infrastructure components we incorporate into our solution are just as impactful as the code we write ourselves.

And through it all, we believe that coding is a form of creative expression that can be personally rewarding and fun. We’ve come up with a credo that helps us articulate our values when it comes to writing code, and lets us be considerate of our future selves. We call it our “Code to Code By”:

  • Code quality is more important than code quantity. Sustainable code is more important than “good enough” code.
  • Code must be peer-reviewed before it is committed.
  • If the code isn’t tested, it isn’t finished.
  • We believe in short iterations and frequent communication.
  • No territories. “Leave this code a little better than you found it.”
  • There’s a reason for code formatting standards (hint: git diff)
  • Just about everything you need to create and deploy a web-based application is best served by a free, open-source offering.
  • Design for scale and geographical distribution from the very beginning.
  • Any (network i/o call|machine|disk|developer) can, and will, fail.
  • Your development environment should mirror your production environment: at least two of everything.

The rules of this “Code” free us up to do a lot of very complex and, we think, interesting work that we hope you’ll come back and read about in our future blog posts.  We create our solutions in Java, JavaScript (both client and server), Python, Ruby, and Go. We use a variety of storage solutions, including MySQL, Redis, MongoDB, and a significant multi-region Cassandra ring. We like thinking about how we can improve the team culture and the process of software development. We’re intensely concerned about fault tolerance, low latency, and high availability across the globe. We predominantly use AWS EC2 resources, but we don’t bake in any AWS dependencies, so we can keep an abstraction layer over the actual execution environment. We feel like we have stories to share in all of these areas.

So please stay tuned, and welcome to /dev/log!

Originally published January 08, 2015

Eric Lunt

Eric Lunt is Signal's CTO and co-founder. Before joining Signal, he was co-founder and CTO of Feedburner, which Google acquired in 2007. A Chicago native, Eric graduated from Princeton University with a B.S.E. in Mechanical Engineering and a Certificate in Applied Computational Mathematics.

Subscribe for Updates