• Finding Dependable Go Packages

    Button HQ

    Event Schedule: 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes Speaker: Julie Qiu Description: At some point, we all find ourselves wanting to use a third-party Go package in our Go code. This talk discusses strategies for discovering, evaluating and maintaining Go packages and modules. It also shares new tools that the Go team is building to make this process better. Bio: Julie Qiu is a software engineer on the Go team at Google, where she is leading the project to build a discovery site for Go packages and modules. Before Google she was already working in Go as an engineering lead at Spring to improve search performance, personalize the user shopping experience, and ingest real-time product updates at scale. She graduated from Yale University with a degree in Cognitive Science.

  • Building Ledger - Button's Financial Data Store

    Event Schedule: 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes Speaker: Liwei Mao Description: Building a financial data store can be hard. You have many users of financial data within a company. There's the finance team, who sends out monthly invoices and makes projections, the marketing team, who uses financial data to gauge the efficiency of campaigns, the analytics team, who integrate financial data to provide company KPIs. And lastly, your company's external users, to whom you promised easy and accurate access to the transactions you process for them. In engineering, we often hear let's have a "single source of truth". It’s easy to mistake that to mean, let’s aim to have a single financial data interface that serves all these users needs! In this talk, we'll detail why that doesn't work. We'll discuss how to design financial data models and interfaces that flexibly and performantly serve user needs while fulfilling the high accuracy requirements for financial data. Lastly, we'll talk about some strategies for scaling and optimizations. Bio: Liwei Mao is a Senior Software Engineer at Button. She loves designing data products, nerding out over databases, and is a firm believer that good data design removes friction in building products.

    4
  • Open sourcing BuzzFeed’s single sign-on experience

    Event Schedule 7:00pm: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes Speaker: Logan McDonald Description: As BuzzFeed transitioned to a microservice platform, we needed a way to secure a growing number of independent internal apps used by our employees. This talk will detail our open source project sso a.k.a. The S.S. Octopus, BuzzFeed's centralized solution to authentication and authorization of internal services. Bio: Logan is a security-focused Site Reliability Engineer at BuzzFeed. She is obsessed with learning, but especially with the learning process that accompanies onboarding people new to security, operations tooling, and concepts. If Logan has a personal brand, she hopes it is "Friendly Neighborhood Operations Engineer".

  • How To Print Money with Six Integrations

    Button HQ

    Matador is the first $0 commission stock trading app to leverage the best innovations in social networking. More than a basic interface for buying and selling securities, Matador encourages users to share their trades, gains, and losses. No gossip is allowed -- nothing gets posted to the feed unless it’s connected to a real trade. Accomplishing this experience required the best product designers and engineers in the world which is why Matador’s cofounders worked with FUELED to pioneer the first social trading experience. Learn how FUELED leveraged 2nd mover advantage to accomplish in a year what took others three. In this talk, we'll chat about: • Integrations with 6 platforms • Caveats in financial systems • Testing difficulties, how to overcome those • Server setups • Market data & Caching • REST Pull & Websockets with relatively high demanding front end • Creating great user experience with relying on some older systems • Releasing is not just your job but also your integration partners’ job Paul Oostenrijk, Senior Backend Engineer @ Fueled With over a decade of backend development experience, Paul has a passion for building products that handle large and complex data sets. Paul has helped launch a number of projects both inside and outside of Fueled that required significant skill set in both Backend and Frontend development. Born in the Netherlands, he studied information and communication technologies at Fontys University of Applied Science and wrote his master’s thesis on the usage of Bluetooth low energy technology together with Behavioral targeting in marketing scenarios.

  • Building Confidence in a Distributed Stream Processor

    When we build a distributed application, how do we have confidence that our results are correct? We can test our business logic over and over, but if the engine executing it isn't trustworthy, we can't trust our results. This talk will focus on creating repeatable tests that allow us to start trusting that a system will give correct results. You’ll learn how to combine repeatable programmatic fault injection, message tracing, and auditing to create a trustworthy system. Together, we’ll move through the design process repeatedly answering the questions “What do we have to do to trust this result?” and “If we get the wrong result, how can we determine what went wrong so we can fix it?”. Hopefully, you’ll leave this talk inspired to apply a similar process to your projects. Sean T. Allen is VP of Engineering at Sendence A startup focused on high-speed data analytics. Sean enjoys programming languages, distributed computing, Hiwatt amplifiers, and Fender Telecasters. He is one of the authors of Storm Applied.

    2
  • Cloud Pub/Sub: Reliably Delivering Messages at Google Scale

    Google Pub/Sub is an asynchronous messaging service designed to be highly reliable and scalable. The service is a core Google infrastructure component that many Google products have relied on for over a decade. The groups that use the service--including Ads, Search, and Mail--move in excess of 100 million messages per second, totaling over 200 GB/s, through Google Pub/Sub. Now that service is available as part of Google Cloud Platform as Cloud Pub/Sub. Creating a system that can function at that kind of scale is a daunting task. Kamal Aboul-Hosn will detail some of the most salient design features of Google’s Pub/Sub service that allow it to provide this type of scale reliably. Kamal Aboul-Hosn is a software engineer at Google in the Pub/Sub team, where he focuses primarily on reliability and availability of Cloud Pub/Sub. Before coming to Google, he spent time at a diverse set of companies, including Bloomberg, Meridian, and Square. He has worked on all levels of the development stack, from front-end applications on the web, Android, and iOS platforms to integral pieces of infrastructure in critical systems. Kamal earned his Ph.D. from Cornell University. Food will be on-hand (pizza and salad from one of our favorite nearby spots) as well as wine, beer, and non-alcoholic beverages. Event Schedule: 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes

    1
  • A better REPL for Node.js with Docker

    CourseHorse

    Speaker: Ross Boucher, Tonic Tonic (https://tonicdev.com) is a tool that lets anyone quickly prototype Node.js servers directly from a web browser. This means running people's arbitrary code on our servers, and doing it quickly. We'll talk a bit about how the whole system works, focusing mostly on how we use Docker and a tool called CRIU to actually run the code. Ross is one of the creators of Tonic, as well as an occasional contributor to the Docker project. Previously, he was a founding engineer at Stripe, and created the Cappuccino JavaScript framework. Food will be on-hand (pizza and salad from one of our favorite nearby spots) as well as wine, beer, and non-alcoholic beverages. Event Schedule: 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes

  • Automatic Integration Testing Across 100s of Android Devices

    Speaker: Sveinung Kval Bakken, Lead Android Engineer @ Button At Button we don't ship our own app – we ship an SDK that goes in other peoples' apps. While this has its advantages, it also means that we need to be the very best citizens of those apps that we can be, by not crashing or regressing. Ever. One of the ways we make that possible is with extensive testing of both our iOS and Android SDKs. Sveinung will walk through how we reduce the pain of verifying our software across the very fragmented Android ecosystem to make sure that nobody's app will ever break because of Button. Food will be on-hand (pizza and salad from one of our favorite nearby spots) as well as wine, beer, and non-alcoholic beverages. Event Schedule 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes

    2
  • Highly Available Telephony Architecture

    Button HQ

    Speaker: Simon Lawrence (Head of Engineering @ TrulyWireless) When you think of systems with the highest expectation of uptime, phone service ranks right near the top. People expect that every time they pick up the phone and place a call it will work. TrulyWireless has to provide that level of service while still rapidly iterating and improving their product. This talk is about how as a small team they were able to move from a unreliable monolithic PHP app to a highly available distributed system, ensuring that the businesses relying on them are receiving the calls they should be. The phones must ring! Food will be on-hand (pizza and salad from one of our favorite nearby spots) as well as wine, beer, and non-alcoholic beverages. Event Schedule 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes

    1
  • Client-side Schema Validation Using ServiceWorker

    Speaker: Lincoln Ritter (Director of Engineering, Animoto) We’re seeing increasing complexity in the client portion of many web applications. Often web clients are responsible for knitting together interactions between a handful of first- and third-party services. How can we provide tools to develop and validate these kinds of interactions without highly invasive modifications to existing codebases and libraries, and provide tooling that is already familiar to web and test engineers? At Animoto, we recently developed a browser-based proxy using ServiceWorker’s suite of APIs to validate events sent to our analytics service. While early in our evaluation, we think this approach may be a valuable addition to our platform in general, as it's a mechanism for pushing the edge of our platform closer to the client. Food will be on-hand (pizza and salad from one of our favorite nearby spots) as well as wine, beer, and non-alcoholic beverages. Event Schedule 7:00PM: Meet folks and enjoy some pizza 7:30PM: Talk begins 8:15PM: Talk concludes

    5