Capital Go 2020 Speakers

Jon Bodner

Jon Bodner

Jon Bodner is a software engineer, lead developer, and architect. He enjoys presenting and discussing open source, technology trends, and the future of software engineering. Over the past 20 years, Jon has worked in just about every corner of the software industry including on-line commerce, education, finance, government, healthcare, and internet infrastructure. While at Capital One, he was a Distinguished Engineer, working on the semantic engine that provides payment page detection and population for Capital One’s Eno browser extension, and improving support for virtual numbers inside of Capital One. He is currently a Senior Staff Engineer at Morning Consult.

Go is Boring

Most programming languages are created to show off a cool new idea. Not Go. This lack of new features is Go’s best feature. It is easy to learn and the code you write is easy to maintain and grow. That lets you put the excitement where it belongs: in the applications and services that you create.

Miriah Peterson

Miriah Peterson

Miriah Peterson, graduated from Brigham Young University in 2017 with a Bachelor’s degree in Physics. She attended one semester of graduate school at the University of Oklahoma in 2017, but dropped out to start a career as a software engineer. She is currently a Data Engineer at Weave in Lehi, Utah where she specializes in creating data pipelines for HIPAA protected data. Additionally she works in the community as an organizer of the Machine Learning Utah group and Women Who Go Utah group. She speaks at local colleges and bootcamps to encourage community participation and inspire women to pursue careers in technology.

Intro to AI for software engineers Using go-learn

There is an ever growing need for Software Engineers to understand how Artificial Intelligence/Machine Learning works. A hands-on demo using the go-learn library, this talk explains the basics in the context of Go development.

Mofizur Rahman

Mofizur Rahman

Mofizur Rahman is a Developer Advocate at IBM. His area of interests include container orchestration and micro services. His favorite programming language these days is Go. He also tinkers with Node, Python and Java. He is also learning and teaching in the Go, Kubernetes, Docker and Microservice community. He is a strong believer of the power of open source and importance of giving back to the community, and is the organizer of the NYC Golang meetup. He is a self proclaimed sticker collecting addict and has collected several box full of stickers with no signs of stopping. He dabbles in photography sometimes.

Build your First/Next REST API with Go

Go is a language heavily used for web api building. What makes a good api? How can we build apis that are robust and extensible? Writing a good API is an evolving process.

If you are coming to Go from a different language you might be used to using some framework for building REST APIs. Although that seems to increase developer productivity in the beginning, I feel like you loose a lot of visibility and flexibility because of the abstraction. The Go ecosystem favors libraries over frameworks. We will use a library to build our API. Using a library gives us the ability to easily change and modify our API.

In this talk we will learn why use go for api building and learn some of the best practices in making a good API.

He writes tech blogs sometimes which can be found on https://dev.to/moficodes.

Mahesh Veerabathiran

Mahesh Veerabathiran

Mahesh Veerabathiran is a Full-stack engineer, specialized in building Microservices at scale, Big Data processing and DevOps automation. He is a Certified Kubernetes administrator (CKA), AWS developer and SysOps administrator associate. He is an active technologist, passionate in solving technical problems, building solutions and make recommendations. He loves sharing his thoughts/experience with the developer community through Tech. conferences, meetups & blogs.

Building an Enterprise Platform CLI with Go

In large enterprise organizations, we often have application platforms at the core of our business. These platforms often support multiple teams, each with different use cases from on-boarding to resource provisioning to troubleshooting. Over time, the groups supporting these platforms get flooded with support tickets, and they become not only a bottleneck but a place to lay blame for delays and blown deadlines.

Rather than having the support team perform all these tasks manually, we can empower other teams with self-service to do onboarding, provisioning, data queries, and other platform engagement tasks. Investing in building an opinionated CLI will start paying dividends right away.

Why Go? Go is a statically compiled, modern general purpose programming language, bundled with rich standard libraries and strong community support. Creating a command line application (CLI) and distributing to multiple OS platforms has never been easier than with Go. At Capital One, we built a CLI for few core application platforms, and the engineers absolutely love it. In this talk, I’ll cover how to develop your first CLI application in Go, explore the libraries available and share some lessons learned from our experience.

David Golden

David Golden

David Golden is a staff engineer at MongoDB. He’s been active in Open Source for over 15 years and has been giving technical talks for over a decade. He likes building things, solving problems and playing games, occasionally at the same time.

Go as glue: JSON + XML + PNG = PDF

Go isn’t just for microservices! Glue code is often written in a dynamic language like Ruby or Python. But why not use Go instead? Go’s many libraries and rapid compilation make it just as easy.

This talk walks through a real-world program I wrote for mashing up online data for the Lord of the Rings card game into a PDF of images for a decklist. I’ll show how to decode XML and JSON, how to cache data locally, how to download in parallel, how to do image type detection, and how to write a PDF in Go.

You probably don’t need to solve my particular problem, but I hope to inspire you to choose Go for your next glue project.

Tim Raymond

Tim Raymond

Tim Raymond is a full-stack developer with over six years of experience writing Go for companies such as USA Today, InfluxData, and Mattel. He's worked on everything from publishing pipelines, gRPC APIs, IoT backends, and interactive React frontends powered by Go backends. Prior to his involvement in the Go community, Tim served as an organizer for the Boston Ruby Group. His professional interests range across web applications, compilers, networking, performance, and cryptography.

Monitor anything with Colly and Prometheus

Someday you’ll come across data on a page that you want to use, but you won’t find an API. Maybe there’s only a private API, perhaps one doesn’t exist, or maybe it’s so byzantine that you’re desperate for any alternative. When all else fails, there’s always screen scraping. Go is a perfectly capable language for performing this task, and I’ll show you the packages that make it possible. We’ll also look at a practical example of using screen scraping to collect metrics on a cable modem and visualize those in Grafana. When we’re done, any data that you can browse to in Chrome will also be available to your Go applications.

Kaylyn Gibilterra

Kaylyn Gibilterra

Kaylyn Gibilterra is a gopher from Capital One Labs and enthusiastic advocate for Go use in the enterprise. She is a Women Who Code and Women Who Go Leader (feel free to ask about the difference!) where she has taught workshops and mentored dozens of engineers through their successful transitions into or promotions throughout tech. Most importantly, she loves history, rooftop views, and the color maroon.

Demystifying Go pointers

For many Go programmers, pointers cause more fear than concurrency. For engineers of any language, the vast majority have no idea how pointers work and are afraid of them. Stories are often told about the nightmares of null pointers and how challenging it is to manage our own memory.

We'll take a look the difficulties of using pointers in the C language, a widely-used Go predecessor, taking a dive deep into the details, uses, and problems of C pointers.

Then we will contrast that with Go pointers, so that we can appreciate and understand Go's approach. We will will cover the details of Go pointers and how we can powerfully and safely use them, so that you can walk away confidently using them in your own services.

Chris Hines

Chris Hines

Chris Hines is a senior principal engineer at Comcast. He has been a full time developer since 1992 and a full time Go developer since 2014. He has contributed to several open source projects, including Go kit and the Go project. Chris is also a co-organizer for the Golang Reston meetup.

Phil Kedy

Phil Kedy

Phil Kedy is researcher who loves building cloud native tools and solving problems of the future. He is a Distinguished Engineer at Capital One working with WebAssembly, Service Meshes and Sidecars, Kubernetes, and streaming data solutions. Previously, Phil was a consultant specializing in Microservices, API strategy, mobile and content management. His experience spans digital transformation and technology modernization with numerous Fortune 500 companies.

A History of the Future

This talk will cover our journey of using Go to create an immutable event platform for building critical systems. Learn about the challenges introduced by the problem of bitemporality (when events exist on two different timelines -- Created At and Valid From). This talk will also cover the expansive array of Go libraries and techniques enlisted to help overcome these challenges.

Rob Sutter

Rob Sutter

Rob Sutter, a Senior Developer Advocate at Amazon Web Services, has woven application development into his entire career, from time in the U.S. Army and U.S. Government to stints with the Big Four and consulting firms. He has started his own company – twice – once providing consulting services and most recently with WorkFone, a software as a service startup that provided virtual digital identities to government clients. Prior to joining Amazon Rob freelanced as an infrastructure engineer, helping AWS clients modernize their build pipelines and operations – using serverless technologies and Go, of course!

Go Serverless

Getting started with Go serverless (setting up IDE/tests/patterns, etc.)