June 9-10 Grand Rapids, MI
Beer City Code
A software conference for software developers of all types
About Beer City Code

Beer City Code is an annual conference for software developers held in Grand Rapids, MI, also known as Beer City, USA. Software creators of all types are welcome, even those who don't care for beer.

The main conference is held Saturday, June 10, with optional day-long workshops the day before, Friday, June 9. You can attend the conference for just $40, or do the conference plus an all-day workshop on Friday for just $200. There's even a ticket that includes a VIP micro-brewery tour with our speakers and organizers. How cool is that?!

The Beer City Code conference grew our of the success of its predecessor, Grand Rapids DevDay, but was renamed in 2017 to embrace its much more broad appeal outside the Grand Rapids area.

Friday Workshops

With several day-long workshops to choose from focusing on many different exciting and cutting-edge technolgies, our workshop attendees will be able to get hands-on in a smaller classroom setting with our excellent instructors.

Buy a ticket for both a workshop and the conference day to get the most bang for your buck, and don't forget to upgrade to the VIP package and you can top off your weekend with a brewery tour of Beer City with our speakers and VIPs.

Saturday Conference

Saturday is the main event. Don't miss a moment of this exciting day packed full of top-tier speakers presenting on some very interesting, useful, and cutting-edge technologies and topics.

You won't go hungry, eiter! We'll feed you coffee, snacks, and a filling lunch to keep your brain fueled for all the learning it's going to do.

Be smart and combine your conference ticket with a Friday workshop ticket. You'll save money and learn one topic of your choice in much more detail in a hands-on classroom setting. The VIP package will also get you on a brewery tour with our speakers, and VIPs, so why not go all in and register for that?

0

speakers

0

days

0

workshops

0

attendees

Our Speakers

Meet our speakers



Keynote Speaker
Jon Galloway

JON GALLOWAY

Executive Director, .NET Foundation

Jon is a Senior Technical Evangelist at Microsoft focused on Web Development tools and platforms and was recently named as the director of the .NET Foundation.



Breakout & Workshop Speakers

Alli Treman

Alli Treman

A Web for Everyone: An Introduction to Accessibility

I am a lead front-end developer at BizStream in Allendale, Michigan. I've been building websites for about 20 years: I started in middle school with _The Idiot's Guide to HTML_ and some hosting space from my local ISP. I've worked nearly every industry before coming to BizStream. I built websites...

more...
Arlan Nugara

Arlan Nugara

A Multi-Cloud Solution using Azure & AWS

Arlan Nugara is a software architect and has been a full stack developer at Alvarnet Corporation for the past 18 years. He has spent most of his time working with the Microsoft technology stack and applying it to the technology needs of large corporations such as financial institutions, t...

more...
Bruce Abernethy

Bruce Abernethy

Fun with Application Security

Bruce Abernethy has been active in software development and technology roles for over 25 years. Spoken locally, regionally and nationally on a variety of technology topics. Currently serving as the Application Security lead at Meijer in Grand Rapids, Michigan. Security GIAC Secure Software Progra...

more...
Dave Long

Dave Long

Life of a goat: Bridging the dev and ops gap

My name is Dave Long and I am a goat. I've been writing software for 8 years working in environments where I've built analytics systems used on many popular job sites, content management tools used in one of the largest compute companies in the world and mobile applications whose users include fo...

more...
Dave Fancher

Dave Fancher

LINQPad: More than a Scratchpad

Dave Fancher is the founder of Achiiv Solutions in Carmel, Indiana, Microsoft MVP for Visual Studio and Development Technologies, author of The Book of F# (No Starch Press), and author of Functional Programming with C# and Building F# Type Providers on Pluralsight. He has been building software for more than a decade with ...

more...
Tom Walker

Tom Walker

Supercharge Xamarin.Forms with custom renderers and animations

Tom Walker is a Xamarin Certified Mobile Developer, Xamarin MVP and Windows Platform Development with over 10+ years of experience in the .NET stack. In those 10+ years he has worked in the auto, medical and fitness industries. Tom is the founder of London .NET Developers user group in Canada. A fun and great group of ...

more...
Ellen Mey

Ellen Mey

Embrace the Suck: Thoughts on Perseverance from a Junior Dev

An educator turned developer, Ellen discovered her passion for programming while teaching her students how to code. In 2016, she took the plunge and decided to follow her passion by becoming an apprentice at Detroit Labs. Now an iOS developer, Ellen works on apps for a wide range of clients from ...

more...
Eric Anderle

Eric Anderle

How an HTTP Request Becomes a Phone Call

Hi! My name is Eric Anderle, and I’m a West Michigan native who moved out to San Francisco after college to pursue my dreams of working at an up-and-coming software company. While that was great in so many...

more...
Gabrielle Crevecoeur

Gabrielle Crevecoeur

Level up from Hardware Noob to Hardware Node

Gabrielle Crevecoeur is a technical evangelist at Microsoft specializing in open source development. Her current focus is Node.js. Gabrielle is a recent graduate of Florida State University, where she majored in computer science. She is now attending the University of Illinois at Chicago, were sh...

more...
Gary Pedretti

Gary Pedretti

Automating Your Test Suite: Incrementally Eating the Elephant

I am an agile software development trainer, coach, and practitioner, as well as a curriculum developer, application architect, and software craftsman. With over twenty years of experience, I work closely with companies worldwide to help them achieve their goals in delivering business value throug...

more...
Hod Greeley

Hod Greeley

Building a Multi-User Todo App with React Native, Swagger, and Couchbase Mobile

Hod is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, having focused the last eight years on mobile. Prior to joining Couchbase in 2016, Hod led deve...

more...
Ian Philpot

Ian Philpot

A Fundamental Formula for Microservices using Docker

Ian Philpot is a Software Engineer and Technology Evangelist with over fifteen years of experience in both development and systems engineering. At Microsoft, where he is currently employed, his focus is Azure Development. In addition to his work at Microsoft, Ian fills the role of Technology Advisor for Atlanta Tech Village, and FlatironCity which enables him to assist Startups and Entrepreneurs....

more...
Jace Browning

Jace Browning

Continuous Deployment using GitHub, CircleCI, and Heroku

Jace Browning builds, customizes, integrates, and teaches engineering software tools. He has worked on products in the embedded, mobile, and web space, but his expertise is systems programming, specifically in Python. Professionally, he focuses on quality assurance, automation, and process optimi...

more...
Jamie Wright

Jamie Wright

Building Your Own R2 Unit in Ruby

Jamie Wright is a maker of internet things with a love/hate relationship for Redbull®, standing desks, and paintball guns. He has a love only relationship with teaching, learning, and building bots. Jamie runs Tatsu, a software bot that helps teams save time by performing standup meetings over ...

more...
Jason Follas

Jason Follas

Lightweight Pub/Sub for Web Applications using MQTT

Jason Follas has spent the past 20 years delivering software for clients in the manufacturing, engineering, and financial services sectors. He loves the opportunity to teach as well as to learn from others, and is a frequent speaker at conferences and user groups. His career has been centered on ...

more...
Jeff Kelley

Jeff Kelley

Developing for Apple Watch with Swift

Jeff Kelley is a developer for Apple platforms at Detroit Labs and author of Developing Apps for Apple Watch and Learn Cocoa Touch for iOS. He’s been working with iOS since its infancy in 2008. Apps he’s worked on have been in the top 10 free app list, demonstrated on-stage at WWDC, and consisten...

more...
Jody Gustafson

Jody Gustafson

Intro to TypeScript

J.M. Gustafson is a web developer at The Hagerty Group in Traverse City, Michigan. He has been writing enterprise web applications for nearly his entire career, and programming nearly his entire life. He currently spends most of his time at work writing web apps and services in C# using .Net MVC....

more...
Joel Karr

Joel Karr

Don't Think When You Code

I'm currently VP of Engineering at Stratus Intelligence in Chicago and formerly with Restaurant.com. Although I've always been focused on coding, I've drawn from my past experience as a college wrestler and a speech communications major to look at news ways to build software teams. My goal ...

more...
John SJ Anderson

John SJ Anderson

JSON Web Tokens Will Improve Your Life

John is the VP of Technology for Infinity Interactive, a virtual IT consultancy. When he's not maintaining Perl modules or tweaking his Emacs config, he likes to play around with new languages like Swift and write about himself in the third person....

more...
Josh Fennessy

Josh Fennessy

An R Primer - Make Better Decisions Using Data Science

Josh Fennessy, a Principal at BlueGranite, has over a decade of experience working in the data and analytics industry. Experienced in Big Data, Analytics, and Business Intelligence, Josh enjoys working with his customers to plan, architect, and explore new options for implementing Modern Data Arc...

more...
Keith Thompson

Keith Thompson

Develop Yourself Through Meditation

Software developer using Ruby & Rails for [SquareMouth](https://www.squaremouth.com) by day and a teacher at [CoderJourney](http://www.coderjourney.com) by night. If I'm not building apps or writing tutorials, then I'm probably searching out some type of table game to play (ping pong preferably)....

more...
Keith Wedinger

Keith Wedinger

A Swift introduction to Swift 3.1 (pun intended)

Keith Wedinger is a Principal Consultant with Improving. He has over 27 years experience architecting, designing, developing and delivering high quality software solutions for several companies including Abercrombie & Fitch, Crown Equipment Corp., Diebold, IBM, Lexmark, Limited Brands, Ohio State...

more...
Kevin Leung

Kevin Leung

Leveling up your bot with language intelligence!

Kevin Leung is a Technical Evangelist at Microsoft working with students, startups and community developers in the Chicago metro and has recently been working with the Microsoft Bot Framework (.NET and Node) and ASP.NET Core technologies in the Open-source area alongside Microsoft's engineering t...

more...
Kim Arnett

Kim Arnett

MVVM: an iOS Journey

Kim Arnett is an iOS Developer at Hewlett Packard Enterprise. She enjoys watching her creations work wonders while making a positive impact on the population. She's interested in technology, feminism, mental health, and Iron Man. Current side project includes learning robotics....

more...
Lisa Anderson

Lisa Anderson

TechHappy: Hacking Positive Communities

Lisa Anderson is Microsoft's US Central Region Community Program Manager & responsible for the Microsoft Most Valuable Professionals Program (MVP) and Regional Directors Program in the Central Unites States (all of the states in between the coasts). In her previous role at Microsoft, Lisa wor...

more...
Matt Kirk

Matt Kirk

How to win Mario Brothers (and write badass code)

Matt Kirk is a data architect, software engineer, and entrepreneur based out of Seattle, WA. For years, he struggled to piece together his quantitative finance background with his passion for building software. Then he discovered his affinity for solving problems with data. N...

more...
Matthew Edgar

Matthew Edgar

Web Analytics for Developers

Matthew Edgar is technical marketing and web analytics consultant at [Elementive](http://www.elementive.com). Since 2001, Matthew has helped hundreds of businesses and non-profits grow through a process of analyzing and improving their website and online presence. He is the author of "Elements of...

more...
Michael Eaton

Michael Eaton

Leadership Journey: From Software Developer to Leader

Mike has a little over 20 years experience as a software developer, mostly focused on Microsoft tools and technologies. After many years as an independent consultant, he is currently a team leader at Quicken Loans....

more...
Michael Swieton

Michael Swieton

The Art & Craft of Secrets: Using the Cryptographic Toolbox

I've am a software developer at Atomic Object. For more than decade I've crafted code into software of all sorts. I enjoy peeking under the hood of everything, be it math, or software, or board games, or cake. I've spoken at other venues previously: * Michigan venues: GrDevDay, GLSE...

more...
Nate Barbettini

Nate Barbettini

Building beautiful RESTful APIs with ASP.NET Core

Nate is a developer, author, and speaker who specializes in full-stack .NET and JavaScript. He hails from San Francisco, but calls Texas home. He's passionate about helping others learn how to write better, more secure code....

more...
Nathan Loding

Nathan Loding

Build an ASP.NET Core app without Windows

Ryan Lanciaux

Ryan Lanciaux

Strategies for learning React

Ryan Lanciaux is a professional software developer in Ann Arbor, MI. Although he programs in several languages, his current area of focus is front-end development. Ryan attempts to contribute to the development community through his (often neglected) blog....

more...
Sean Kelly

Sean Kelly

Don't Fear Failure

Sean Kelly is a Principal Software Engineer for Komand Security. A simple man with a dog for an avatar, he enjoys learning new things, helping / mentoring others, and posting photos of his dog on the internet. When he's not giving talks about his many failures, he enj...

more...
Steve Grunwell

Steve Grunwell

I'd Like to Write the World Some Docs

Steve Grunwell is the Director of Technology at Growella, a Cincinnati-based new media site covering topics in life, career, and money. Specializing in WordPress and application development he has worked with brands and organizations including Microsoft, TED, Xylem, Elmer's, and Experience Colu...

more...
Thomas Hunter II

Thomas Hunter II

The JavaScript Event Loop

Thomas is passionate about technology and building products. A web design business created while attending college slowly evolved into a brick and mortar on Main St. of his small Midwestern hometown. His desire for fame and fortune led to the co-founding of a Y Combinator startup and a life in Ca...

more...
Tim Smith

Tim Smith

Let's Learn CSS Grid

Tim Smith is a designer and frontend developer from Saint Paul, MN. He's worked on the web for a decade, working with different companies and clients. Tim writes [The Bold Report](https://theboldreport.net), a blog about design, development, technology, and most importantly, Star Wars. When away ...

more...
Tirell Mckinnon

Tirell Mckinnon

Bundling for Modern Web Apps

Tirell Mckinnon is a software engineer at Skookum located in Charlotte, NC. He is a family man, code writer, avid learner, and a member of the Army National Guard. Frontend development has always been his passion and he has always had a curiosity of deeply understanding software....

more...
Walt Ritscher

Walt Ritscher

From Dull to Dazzling: How Visualization enhances data comprehension

Walt's enthusiasm for crafting software interfaces blossomed early. Just a few days after discovering how to move pixels around a computer screen he was devouring books on the topic of computer graphics and UI design. Before long he was sharing his discoveries with other technology buffs, a lifel...

more...

Schedule

Workshops
and sessions



9:00 am - 5:30 pm (or earlier)
An R Primer - Make Better Decisions Using Data Science

R YOU READY TO RRRRUMMMMMBLLLLEEEE

R, the punchline of many great pirate jokes, is an open-source analytic language that is quickly becoming the go-to choice of today’s statisticians. But it’s not just for data scientists. It is an approachable, extendable, modular platform that can be used to take control of data, build machine learning models, and become a better data jockey.

Bring your laptop to this workshop, you’ll want to work along as we explore the capabilities of R. Together we’ll learn and explore topics such as: * Get data from common sources the right way * Scrub data and make it clean enough to trust * Quickly analyze data to discover new patterns * Visualize data to share the story with others * Build machine learning models to make predictions * Deploy models for others to use

You won’t walk away empty handed. Attendees of this session will be given code samples that include best practice solutions to common activities such as joining two data sets, collecting data from a database, writing output for later use, and many more.

To follow along you’ll need a laptop (Windows, Mac, or Linux) with CRAN R or Microsoft R Open and a capable IDE such as RStudio or R Tools for Visual Studio

Joshua Fennessy
9:00 am - 5:30 pm (or earlier)
Build an ASP.NET Core app without Windows

Microsoft is pushing cross-platform development and they are doing it extremely well. .NET Core, ASP.NET Core, Entity Framework Core, Visual Studio Code - it’s the new .NET stack and it doesn’t require Windows. I’ve written two complete web applications on this very stack entirely on macOS without touching Windows. This workshop would run through setting up these tools, scaffolding a new project with external class libraries, using SQL on macOS (Docker or Azure), debugging both the back and front end code, and finally publishing the project for deployment.

Nathan Loding
9:00 am - 5:30 pm (or earlier)
Continuous Deployment using GitHub, CircleCI, and Heroku

Not all project teams get to realize the full benefits of a Continuous Deployment workflow. For those that do, most members of these teams are not privy to all of the tools involved or were not part of the initial setup process.

In this workshop, participants will generate a small sample project, push the code to a new repository on GitHub, learn about configuring an application to run on a Platform as a Service (PaaS), and deploy the application to Heroku. Once their projects can be deployed manually, participants will learn about the value of Continuous Integration and its use as a trigger for automatic deployment.

The second half of the workshop will emulate working on a project team utilizing the established Continuous Delivery workflow. Through participant pairings, they will learn about using GitHub pull requests to view automated test results and perform code review. Finally, participants will enable Heroku Review Apps to trigger a temporary deployment for every change under review.

Everyone will leave the workshop with a working web application deployed to their own Heroku account and deploying continuously from GitHub based on the status of tests running on CircleCI.

Jace Browning
9:00 am - 5:30 pm (or earlier)
Web Analytics for Developers

Developers increasingly are asked to work on data and analytics projects—whether configuring tracking code, running reports for clients, or putting the data to work to determine what new technologies to build. The great thing is that in today’s world there is an abundance of cheap or free high-quality analytics tools. This allows even the smallest businesses can have a wealth of information readily available to them.

But, which of these analytics tools are the best to use and configure for your employers or clients? How can you configure these tools to give your clients the best information possible? As well, much of the information about analytics is intended for marketers and business owners, leaving developers to wonder what part of analytics can inform their work. If you know where to look, analytics tools can help you learn what type of technologies you need to build to best support users and stakeholders.

In this four-hour interactive workshop, attendees will learn what analytics tools to use, what reports to check and when, and how to use this information to improve your website technology infrastructure. The workshop includes a mix of lecture, open discussion, and hands-on coding.

This workshop is best suited for: • Web developers, especially those working as front-end or UI developers • Prerequisite: Have an environment where you can install JavaScript code.

This workshop assumes attendees have a clear understanding of how to develop websites. However, this workshop does not assume attendees have any prior knowledge of analytics tools.

Learning objectives:

  • Setup and configure tracking code for key tools that can help you track and measure user behavior on websites and applications
  • Know what analytics tool exist, how these tools can be used, what types of information are available, and what questions various tools can help you answer
  • Understand how the tools can help in the areas where development overlaps with design, marketing, product management, and more.
  • Matthew Edgar
    9:00 am - 5:30 pm (or earlier)
    Building an Offline First App that Syncs

    Everyone hates apps that lag when the network connection is poor. Offline first goes beyond that, addressing unnecessary data transfers, responsiveness, cross-device sync, security, backend integration, scalability, and more.

    In this workshop, I’ll show you how to implement an app that deals with all these concepts. We’ll use a robust, real-world proven stack. You’ll leave with a working project based on a core use case.

    Course Outline
    Data Modeling

    How to choose the data structure for entities and relationships between those entities.

    • • Documents types
    • • Relationships between Documents
    Design

    How to convert a set of application requirements and business rules into security rules for Couchbase Mobile.

    • • Access to Channels
    • • User privileges
    Using the Database

    How to use the persistence APIs and query language for simple queries and data aggregation to perform query operations across different model types.

    • • Querying Data
    • • Writing Data
    • • Aggregating Data
    Adding Synchronization

    How to install Sync Gateway on your development environment, start the synchronization from the application and manage conflicts.

    • • Installation
    • • Synchronizing
    • • Detecting and resolving Conflicts
    Adding Security

    How to add access control rules based on each authenticated user and how to add security locally with database encryption and offline login.

    • • User Authentication
    • • Read/Write Access Controls
    • • Database Encryption
    • • Offline Login

    Hod Greeley
    9:50 - 10:50
    Bundling for Modern Web Apps

    In this session, we will explore the new loader syntax, tree shaking, plugins and more importantly properly configuring an application for development and your production releases. Bundling for modern web applications typically require multiple file types .ts, .js, .pngs, .vue, etc... whatever the type in webpack its a module. We will deep dive to see what it takes under the hood for these individual modules to be loaded and bundled for our applications to render. You get extra with plugins such as file injections into html files, built-in ugliyfying, service workers, and chunks for performance optimization. Performance is key for front-end apps, this will also be a focus of the presentation Webpack is a powerful development tool that enables (progressive) web apps and server side rendering with the proper configuration. Let's build!

    Tirell Mckinnon
    11:00 - 12:00
    TechHappy: Hacking Positive Communities

    TechHappy is a talk inspired by the modern workplace - where we live to work, and where our current leaders create a culture of anxiety and an unhealthy level of competition. Leadership is not limited to bosses - we are all leaders, and we play many roles as leaders. We lead user groups, conferences, church groups, boy/girl scouts, sports team, and even our own families. As leaders wearing many different hats, it is imperative that we learn strategies to lead our teams through positivity - a proven method that encourages collaboration, balance, and productivity. In my talk, I guide attendees through three positive leadership strategies they can "hack" today: resonant leadership style, the "yes and" approach, and flow state. During the presentation, I share examples of how positive leadership has impacted my life, and how I implement the strategies I discuss in my everyday life. Attendees will leave the talk eager to learn more about positive leadership, and I have a list of resources I share at the end. To keep things fun, I leave attendees with a parting gift - a small container of Play-Doh as a reminder to keep positivity and levity in their lives.

    Lisa Anderson
    1:10 - 2:10
    Level up from Hardware Noob to Hardware Node

    Go one step beyond the browser and leverage your existing JavaScript skills to explore the possibilities of hardware. Do you have an Arduino gathering dust, just waiting for an application beyond the hello world of blinking an LED? It's time to take that hardware off the shelf, and learn how to create interactive experiences in the physical world. This session will explore how to utilize the popular Node robotics frameworks to control an Arduino, showing you how to get quickly up and running in this new and emerging world of hardware. In this session, we will go over how to get started in building a NodeBot, and then we will demo an actual NodeBot project. This is an ideal introductory session for those curious on how to get started with some of the popular microcontrollers and microprocessors using JavaScript.

    Gabrielle Crevecoeur
    2:20 - 3:30
    The JavaScript Event Loop

    Discover the JavaScript Event Loop, how it is built upon a Stack, Heap, and Queue, and how to break up heavy workloads to keep your application rendering at a smooth 60 FPS. We'll take a dive into some browser tools to visualize the execution of our code, examine a real-life interview question based on these concepts, and also explore how to offload CPU-intensive work to another JavaScript instance.

    Thomas Hunter II
    3:40 - 4:40
    Building beautiful RESTful APIs with ASP.NET Core

    Many APIs claim to be "RESTful", but what does that actually mean? What does it take to build a scalable API with ASP.NET Core? What is HATEOAS and why is it a great conversation-starter? In this talk, Nate will share best practices for building APIs on the ASP.NET Core stack, as well as the "hows" and "whys" of designing RESTful interfaces. The session will include real code examples and a discussion of REST best practices. Topics covered include: * Why API design matters * What is REST and HATEOAS? * How to represent hypermedia in JSON * Building clean API controllers in ASP.NET Core

    Nate Barbettini
    4:50 - 5:50
    Leadership Journey: From Software Developer to Leader

    You've spent years working on your skills as a software developer. You measure your days by the number of commits you've made and look forward to the daily pairing sessions with your team mates. Then, one day, a leadership position opens up on your team and you start thinking about it. Should I or shouldn't I? What if I go for it and end up hating it or I'm just not that good at it? What if I love it? How will my day change? In this interactive session, we'll explore “why leadershipâ€_x009d_, answer some hard questions and talk about one developer's path from writing code to leading people and the challenges that have been experienced.

    Michael Eaton
    9:50 - 10:50
    How to win Mario Brothers (and write badass code)

    This talk we'll delve into the fascinating world of writing algorithms that play games. Algorithms used to play games stretches back a long time to the days when mainframes were used to play checkers. Specifically we are going to talk about what it takes, as well as how to implement a smart algorithm to play different games. We will cover some simple heuristic like searching like A* searching, Evolutionary Neural Nets with Super Mario World, and finally Q-Learning applied to Super Mario Brothers. Of course this talk will have a few demos where we show off the different algorithms in action. By the end of this talk you'll know much more about what sort of algorithms could be applied to playing games better. This will lead into insight on how we go about playing games in the first place as well as clever algorithm tricks utilized in AI and Machine Learning.

    Matt Kirk
    11:00 - 12:00
    Automating Your Test Suite: Incrementally Eating the Elephant

    Building and maintaining test automation is a daunting task for many organizations. Companies with legacy applications often have a significant amount of technical debt around quality and testing, but even startups struggle once they scale beyond a few coders. In addition, functional/UI testing with automated tools is a specialized, high-demand skill, leading to the “throw it over the wall,â€_x009d_ separate projects and teams, and “big bang delivery" approaches. This is quite ironic when the test automation effort is for an application that's part of the organization adopting Agile / DevOps mindsets and practices! The promise of Agile frameworks - and now DevOps - has always included cross-functional teams, incremental rollout, and a focus on highest-value deliverables first. Let's talk about how we can leverage these ideas and practices with a traditionally big bang, highly-specialized team area like test automation. We'll cover people, practices, and tools, including: * Fostering teams that understand quality and test automation are a shared responsibility - not just “the tester's problem" * Addressing objections to using high-dollar skills inside of generalized, cross-functional teams * Identifying the highest-value parts of a massive test suite * Adding - and even more importantly, maintaining - automated tests in an incremental way * Evolving application architecture towards loose coupling, to leverage the Test Automation Pyramid * Inspecting and adapting our test automation processes

    Gary Pedretti
    1:10 - 2:10
    Don't Fear Failure

    Failure It's not a pretty word. Even hearing it probably brings back a memory, recent or otherwise, of a time in your career where you simply felt lost. A project ships late, if even at all. An idea you publicly championed doesn't pan out. A coworker earns a deserved promotion that you were also working towards. An MVP crashes and burns. Someones design is chosen by the team over your own as the one to go with. The ways in which failure can manifest are limitless. It's not comfortable to talk about, either. We live in an industry where you're seemingly inundated with success stories everywhere you go. Some new startup that has a ludicrous idea, just got more money in VC funding than you'll ever see in your life. Or they were bought by any of the prestigious "acquisitors" in the world, elevating not only their bank accounts, but also their status among their peers, and really the world. Talking about your failures only seems to bring more light to the fact that you aren't them - and the feeling that the more people know of your failures, the further you are from success begins to sink in. But failure is important to talk about - it's important to embrace and to celebrate in many ways. No one is telling you to feel great about failing, but there is a lot of value in missing your mark that is easy to miss, and invaluable for teaching you how to keep refining your own personal process to learn how to succeed - even if it means redefining what you consider "success" to be. In this talk, I'll use anecdotes and stories from my own career to highlight the myriad ways in which I've encountered failure, what I was able to take away from those experiences, and how I've come to view failure and success as driving factors for my future work. I would hope that anyone listening to this talk would take away from it a greater sense of confidence in themselves, and also a larger sense of community - There are a lot of people out there with stories like these, with stories like mine and like yours, and we as a community should be embracing that.

    Sean Kelly
    2:20 - 3:30
    Supercharge Xamarin.Forms with custom renderers and animations

    Xamarin Forms includes an assortment of commonly know controls out of the box to help developers build cross-platform UIs using XAML. However, if you are going to use Xamarin Forms for real-world projects you’re going to need to understand custom renderers on how to customizing the rendering of the controls to their native versions. Besides covering customer renders this session will cover how to leverage animation in your controls to add the extra professional polish to your Xamarin mobile apps.

    Tom Walker
    3:40 - 4:40
    JSON Web Tokens Will Improve Your Life

    JSON Web Tokens, or JWTs, are a standardized way of representing a JSON-based data structure and transmitting it between two parties. JWTs rely on cryptographic signatures which ensure that the data transmitted in the JWT isn't modified during transit. JWTs are designed to be extremely compact -- small enough to be transmitted in an HTTP header, for example -- and can be used in a variety of ways: as authorization tokens, client-side data storage, or even for the implementation of single sign on (SSO) solutions. They're based on a very simple and elegant algorithm that's easy to understand and quickly put to use. JWT implementations are available in virtually every programming language in common use for Web and mobile development. Unfortunately, learning how to use JWTs can be complicated by the terminology that's commonly used. "Claims", "signatures", "body", "payload" -- a large part of learning how JWTs work is deciphering these buzzwords and understanding how they map onto more familiar programming terms. This talk will focus on reducing this barrier to entry and making JWTs understandable to any programmer. This talk will cover: * the structure of a JSON Web Token * the algorithm for generating one * available libraries and tooling * some common scenarios where JWTs can be used. Particular emphasis will be given as to when and why JWTs provide for better solutions than other methods. Attendees should come away from this talk with a full understanding of how to use JWTs for a variety of purposes, and be ready and eager to put JWTs into use in both personal and professional contexts.

    John SJ Anderson
    4:50 - 5:50
    Building an Alexa skill with ASP.NET Core and AWS Lambda

    AI is expanding more into our daily lives, and devices and agents like Siri, Cortana, Amazon Alexa, and Google Home are gaining huge traction in homes and phones around the globe. What better way to embrace our AI overlords than to build your own Alexa skill? Learn how to use open-source tools and ASP.NET Core to build an deploy a custom Alexa skill. The project will utilize AWS Lambda for friction-free deployment and scaling. A live demo will be included!

    Nate Barbettini
    9:50 - 10:50
    Intro to TypeScript

    TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It provides static type checking, classical OOP, and is an ES6 to ES5 transpiler so that you can start using the new ES6 features right now. If you come from a Java or C# background and are used to static typing and classical inheritance then TypeScript will feel very familiar to you. If you come from a JavaScript background you may want to consider TypeScript for the improvements you get in IDE tooling and code maintainability. In this session we'll start out with a discussion of what TypeScript is, why you should use it, and when to use it. Then we'll look at some TypeScript code to learn the basic concepts and features of the language including type annotations, interfaces, classes, arrow functions and modules. By the end of this presentation you should have enough information to get started writing your own web (or Node.js) applications in a more stable and maintainable way.

    Jody Gustafson
    1:10 - 2:10
    MVVM: an iOS Journey

    Modal-View-Controller (MVC) is Apple's recommended architecture. Accepted as the standard in Objective-C, developers were accustomed to messy code and the system was not challenged. However, with Swift, a clean new start began to sweep over iOS developers. With cleaner code, they started looking for cleaner architecture solutions. Enter Modal-View-View Model (MVVM). MVVM has given a breath of fresh air into removing massive view controllers and creating testable code. This session will cover the advantages of MVVM and how to get started with this architecture in your Swift project

    Kim Arnett
    2:20 - 3:30
    Building Your Own R2 Unit in Ruby

    There is another massive shift happening with how we interact with companies through software. Users feel comfortable naturally talking with their applications through chat bots. Chat is the next generation of the user interface. Companies like Slack, Facebook, WhatsApp, and WeChat have some of the most popular apps in the world and they are all betting on a messaging interface. Ruby and it's ecosystem of libraries can support these new types of interactions. In this session, we will see how we can build scalable, realtime web applications (or “botsâ€_x009d_) using the Slack API. We will see what a good bot architecture looks like and how we can integrate with existing artificial intelligence services to make our bots smarter.

    Jamie Wright
    3:40 - 4:40
    A Web for Everyone: An Introduction to Accessability

    The web is traditionally a visual medium: designers, UX specialists, and developers think in terms of visual cues and interactions when building a website. For most users, this is enough: they can read the content, see the images, and click on links and icons to perform actions throughout the website. Blind or visually impaired users, however, need alternatives. Screen readers can read text content on a website out loud, but can't “readâ€_x009d_ images or icons. Visually impaired users need to, for example, increase the font size of the content. A user with color vision deficiency may have difficulty reading text on a background that may look perfectly distinguishable to someone with normal color vision. How do we build websites that are accessible to these groups of users without sacrificing our visually appealing designs, and why should we do so? Ignoring the visually impaired population can be costly: According to the report for the 2015 National Health Interview Survey, 23.7 million American Adults age 18 and older reported experiencing vision loss. [http://www.afb.org/info/blindness-statistics/adults/facts-and-figures/235] That's a lot of potential users. Legal recourse can be even more costly. The Wall Street Journal reports that more than 240 business have been sued in federal court over inaccessible websites. [https://www.wsj.com/articles/companies-face-lawsuits-over-website-accessibility-for-blind-users-1478005201] The W3C has already written the standards for an accessible web, but they can be daunting to approach, difficult to understand, and confounding to implement. This talk will explain why accessibility on the web is more important than ever, show considerations for designing accessible websites and user experiences, and outline techniques and resources for developing accessible websites. Examples of real websites will be used to demonstrate effective (and ineffective) methods. Attendees will leave with a deeper understanding of web accessibility, techniques for building accessible websites, and resources for learning more.

    Alli Treman
    4:50 - 5:50
    Strategies for learning React

    In this talk, we will discuss strategies for learning React and some of React's core principles. From there, we will discuss how taking a component-based view of our front-end can help us build an application architecture that scales over time. Finally, we'll discuss some important libraries in the React ecosystem and what problems they are working to solve and when you should consider bringing them in to your project.

    Ryan Lanciaux
    9:50 - 10:50
    How an HTTP Request Becomes a Phone Call

    The anatomy of a phone call We all use phones every day of our lives, but how many of us know how phone calls actually work? What do you have to do to make a phone ring? How does your voice travel through the ether to reach the other end? Empowering developers Twilio has taken the previously arcane world of telecommunications and opened it wide up to developers of all kinds. How did we do this? What does it look like under the hood? Thinking at scale Twilio’s APIs power businesses of every kind imaginable around the clock. How can we seamlessly scale to meet whatever demand our customers throw at us, while simultaneously delivering the highest quality and reliability?

    Eric Anderle
    11:00 - 12:00
    Making ReactJS work with ASP.NET Core MVC

    ReactJS offers a powerful way to build complete applications using client-side rendering and routing. So, why would you even still want a sophisticated server-side stack like ASP.NET Core and MVC? In this talk, I will demonstrate how to be more productive when creating and hosting ReactJS apps. ASP.NET Core MVC goes well beyond just being a fileserver for your static files: it offers special packages for React developers that cleanly integrate what's going on in the client (routing, validation, data access, etc.) with equivalents on the server. It lets you wield the full power of the server to do what's impossible on the client alone, such as improving the startup performance of your ReactJS application by orders of magnitude and even pre-rendering ReactJS apps on the server.

    Arlan Nugara
    1:10 - 2:10
    From Dull to Dazzling: How Visualization enhances data comprehension

    Our applications and devices are gathering and storing data at unprecedented levels. Once the information is in our data centers we need tools to help us understand the hidden knowledge contained in that stockpile. We've got business intelligence tools that can help but at some point in the data analytics cycle you need to show results to the stakeholder. That's when choosing the correct visual representation of the data becomes vital. Do it wrong and the data is merely wrapped in pretty graphics; do it right and the user perceives their information in clear and meaningful patterns. There has been an explosion of research on ways to present data in graphical form in the last decade. This is often called Data Visualization or Information Graphics and it is becoming a must have skill for UI developers. This session explores the overall visual concepts that make data easier to grasp. Do you know the best way to show data to your users, so that the information is clear and understandable? Come to this session to learn how to make your data shine.

    Walt Ritscher
    2:20 - 3:30
    Lightweight Pub/Sub for Web Applications using MQTT

    MQTT is an extremely lightweight publish/subscribe messaging transport. It is commonly used as a machine-to-machine connectivity protocol for IoT devices, and usually runs over TCP/IP using sockets. But, recent efforts have implemented the protocol in JavaScript using web sockets, making it possible to use MQTT from within a web browser. This session will introduce the MQTT protocol, discuss various brokers, talk about messaging and Quality of Service, and provide examples of how to use Pub/Sub to enhance your web application and interact with IoT devices.

    Jason Follas
    3:40 - 4:40
    The Art & Craft of Secrets: Using the Cryptographic Toolbox

    In 1970, a small group of activists broke into a draft board office in Delaware to steal records. These records were stored in a secure room, and none of them were able to pick the lock. Instead, hours before the planned robbery one of them pasted a note on the door reading "Please don't lock this door tonight." After hours when they arrived, the door was open. The moral of the story is that security is not about picking the right lock. It's about how the different pieces all come together to make a complete system. Securing any software system usually isn't about picking a better cipher algorithm (i.e. a better lock.) It's about the way that cipher works with a sophisticated suite of related security tools to provide trust and privacy. Even the simplest website now uses public key cryptography, signatures, password hashes, key exchange, and stream ciphers - at a minimum. We often take this diverse suite of tools for granted. This session will build an understanding of how this ecosystem provides security for our applications. We'll start with a quick review of what the tools in the toolbox are: * Asymmetric and symmetric encryption * Hashes, password hashes, and salts * Signatures * Certificates * and so on And then we'll focus on how these tools come together with our applications in order to achieve user-visible functionality like: * secure sessions * user authentication * single sign-on We'll learn about real implementations by digging under the hood of HTTP requests to popular websites. These tools and technologies are not new, or shiny, or hip. But they are complicated, critical, and ubiquitous. Understanding the tools in the toolbox will make you better equipped to create, debug, and deploy your applications.

    Michael Swieton
    9:50 - 10:50
    A Swift introduction to Swift 3.1 (pun intended)

    Swift is Apple's innovative programming language for iOS, watchOS and macOS development. Upwork, the world's largest freelancing website, lists Swift as the 2nd fastest growing skill (https://goo.gl/Xd8o2B). Coupled with Xcode, Swift is now the ideal way to develop apps for your Apple devices. Instead of pouring through a bunch of slides with code samples sprinkled in, this session will be hands on. Bring your Mac laptop with Xcode 8 installed and we'll swiftly walk through the Swift 3.1 syntax using Xcode's Playgrounds. Attendees will leave this session with a working knowledge of types, operators, control flow, functions, closures, collections, classes, and error handling. Along the way, I will point out where Swift has changed in version 3.1. This session is for developers experienced with an object oriented language like Java or C#. Previous experience with Xcode is helpful too but not required.

    Keith Wedinger
    11:00 - 12:00
    Become a Remote Working Pro

    There is no doubt about it, working remotely can be an amazing experience – no commute and wearing pants is optional! Of course, it’s not all rainbows and unicorns since there are challenges to overcome and of course work to be done. This interactive session will answer questions like, “how can I convince my boss to let me work remotely?”, “how can I make sure they don’t forget about me once I start working remotely?” and many more. It will equip you with the tools and techniques for being a successful remote team member.

    Michael Eaton
    1:10 - 2:10
    Life of a goat: Bridging the dev and ops gap

    When I started out as a developer who didn't have an operations team, I dug into how to manage servers and run every aspect of the software pipeline.. When I worked on teams that put up silos between development, QA and operations, I would also do my best to punch through the walls and make sure that my code is working as well as it can in the environments that operations built for it or to ask the QA teams how I can better write tests so that they don't have to deal with stupid mistakes in builds. Throughout this talk, I will offer advice on how to explore the other teams that work to build and deploy software and also on how to be more empathetic towards those people. The biggest takeaway that attendees will have is to strive to be a goat and in a more practical way, to explore things that don't necessarily relate to their actual work. If they are a developer, I will encourage them to look at things like how to package their code into artifacts to deploy and if they are an operator, I will encourage them to look at things like continuous integration to help developers get from idea to release faster.

    Dave Long
    2:20 - 3:30
    Docker for Developers

    Docker has been a popular point of conversation for a few years now, but if you're a developer you may think that you don't need to know about it. I would say you're wrong. Not just because your applications will likely be deployed via Docker in the next few years, but because it can help make your life easier. Imagine a world where your development environment, testing environment, and production environments are all based on the same thing. Twelve-factor can be hard when you're using Windows/macOS to develop, but deploying your code to Linux. Thankfully, with Docker & containers you can have your cake and eat it too. Develop the way you want with confidence that it *will* run in production.

    Keith Thompson
    3:40 - 4:40
    I'd Like to Write the World Some Docs

    It takes a special kind of person to enjoy writing documentation; not only do I have to write [ideally] working code, but now I have to write words that a human being can understand? What is this madness?! Luckily, good documentation lives on outside your codebase. By following common documentation standards, we can generate comprehensive manuals that instruct others how to integrate with our software. After all, to code is human, but to document is divine.

    Steve Grunwell
    4:50 - 5:50
    Don't Think When You Code

    Yeah it sounds crazy, but I'm serious. If you are thinking while writing code, you are doing it wrong. Before you move along, let me explain. By optimizing the way you write code, you will produce more with less effort. Elite athletes learn to react faster than they can consciously think. They do this by identifying situations, then training themselves to respond with a set of actions. You will learn how to become an expert at high-speed decision making. We will also talk about how a "quiet brain" can save you when you are faced with a high pressure situation like production is down! Last, we will talk about how developing a shared mental model with your team can improve communication and simplify design conversations. www.joelkarr.com @joel_karr

    Joel Karr
    9:50 - 10:50
    A Multi-Cloud Solution using Azure & AWS

    While some cloud users are evaluating AWS vs. Azure, many enterprises are planning to use both cloud providers to avoid vendor lock-in and latency while creating redundancy. While Azure is now the clear #2 in public cloud behind AWS there are some notable differences between how the two hyper-clouds operate and the best practices for deploying workloads in each to create a multi-cloud solution that can optimize for cost and performance. The session will cover: 1) AWS vs. Azure differences for compute, networking, storage and pricing. 2) Recent and coming enhancements for AWS Lambda and Azure Functions. 3) Multi-cloud environments can be complex so let's discuss the best practices for cloud deployments when using both AWS and Azure.

    Arlan Nugara
    11:00 - 12:00
    Develop Yourself Through Meditation

    Developers spend a ton of time worrying about system performance or application architecture, but how much time do we spend on ourselves? Programming languages like Ruby, with a focus on developer happiness, have lead to massive productivity and meditation can take that even further. Learn how you can take a few moments for yourself to become a better developer, mentor, and community member.

    Keith Thompson
    1:10 - 2:10
    LINQPad: More than a Scratchpad

    Wait. What? A talk on LINQPad? Isn’t that just the .NET scratchpad thing? How can there be a talk on that? Well, LINQPad may often be referred to as the “Ultimate Scratchpad for C#, F#, and VB” but chances are that if you’ve used it you weren’t using it to its full potential. LINQPad is chock full of hidden features that on their own don’t amount to much but taken together can truly boost your productivity. Whether you’re exploring a problem space or simply want to query some data LINQPad is a great utility and this session will help you get the most out of it by introducing important features like password management, caching, output customization, and much more.

    Dave Fancher
    2:20 - 3:30
    Let's Learn CSS Grid

    CSS Grid Layout is gaining more browser support everyday! But what is it? How does it work? Why should you use it? And what are some practical ways you can incorporate it into your project? I'll show you how CSS Grid is a better solution for some problems, and how CSS Grid is not the end all, be all solution too.

    Tim Smith
    3:40 - 4:40
    Embrace the Suck: Thoughts on Perseverance from a Junior Dev

    How do you push through when the client just threw you under the bus for making changes they approved, when Xcode has crashed for the tenth time today, and your boss just said “Java, JavaScript, same thingâ€_x009d_? Research has shown that grit and perseverance are better predictors of success than self-discipline, but what if you don't feel like a particularly gritty person? The good news is perseverance is a skill that you can foster and grow. Through tales of both triumph and woe, we will dive into research-based strategies that can be put into practice tomorrow. Whether you're looking to pull yourself up by the bootstraps or help those you mentor conquer the next hurdle, this talk aims to add some tangible perspective to the elusive concept of grit.

    Ellen Mey
    4:50 - 5:50
    King Tut Architecture: Pyramids, Patterns, and Tests

    Mike Cohn introduced the Testing Pyramid in his 2009 book, Succeeding with Agile, as a model for thinking about tests and test automation - focus, ROI, TCO, etc. - when developing a software product. It’s been a powerful visual for guiding teams to craft test suites that are sustainable and effective, regardless of whether they automate or not. But what if we thought about it as application design or architectural guidance? Building a product that is well covered by tests, in the ratios described in the Testing Pyramid, requires specific designs and architecture. In this talk we’ll cover modern techniques and patterns that allow for architecture and development to be guided by the Testing Pyramid. We’ll also address the “Am I only doing this for testability, not for value delivered?” question. The audience will leave with new ways to think about the Testing Pyramid, new patterns for developing a well-tested application, and new ways for architects, testers, and coders to work in a truly cross-functional agile team.

    Gary Pedretti
    9:50 - 10:50
    Leveling up your bot with language intelligence!

    Jump into the new and exciting world of chat bots. Understand how this unique conversational platform is changing the way people interact with computers and artificial intelligence. In this session we will dive into the Microsoft Bot Framework; where you will learn the basics of building a simple chat bot in C#, how to publish it on the proper bot platform and how to upgrade its natural language processing using LUIS (Language Understanding Intelligent Service). After leaving this session, you will have all the resources you need to build your very own bot.

    Kevin Leung
    11:00 - 12:00
    Fun with Application Security

    Development used to be fun: get an idea, open up your favorite development environment, code something, build it, test it, ship it - users are happy. Enter the hackers. Now even savvy middle school students can download free, and powerful, open-source hacking tools. These tools can find the holes in quickly written software and enable the miscreants to execute mischief that can either be simply annoying, break things, or expose data that we really didn't want to be exposed. But with some knowledge, skills, and helpful tools, development can be fun again, and without a huge amount of extra effort. By adopting a security-infused development process, the most common security threats and attacks can be largely mitigated. Implementing a design that includes an understanding of common secure-coding guidance is a start. This can be facilitated by using static and dynamic analysis tools that are integrated into your IDE and build pipeline. With a little effort, and some cool (and relatively inexpensive or free) hardware and software hacker tools, developers can become junior pen testers and try to penetrate and hack their own software. This testing can be done during development and testing, and before releasing applications into the wild. By doing some up-front security-infused design, ongoing analysis while developing and building, and doing pre-production pen testing, your releases can focus more on making users and customers happy, rather that recovering from outcomes of insecure software. The modern attacks, patterns, protocols, monitoring, hardware, and pen test tools used in this session will be platform independent, and applicable for any platform being used for modern development. The static and dynamic analysis and build pipeline tools discussed and demoed will be on the Microsoft platform.

    Bruce Abernethy
    1:10 - 2:10
    Building a Multi-User Todo App with React Native, Swagger, and Couchbase Mobile

    Want to build a cross-platform app that works offline, syncs robustly across devices, and scales? Those are some tough requirements to meet. This talk will show you how. React Native enables building cross-platform apps using JavaScript. Swagger defines a specification for describing REST APIs that allows automatic generation of documentation, sandboxes, and SDKs. Couchbase Mobile is a complete data stack for building offline-first applications that also sync across devices. In this session we’ll walk through building an application showing how to integrate all these technologies. You'll leave understanding the core elements of each, and how to approach creating an offline-first experience that both syncs and scales securely.

    Hod Greeley
    2:20 - 3:30
    A Fundamental Formula for Microservices using Docker

    “Microservces are small services with independent lifecycles that work together” -Sam Newman. In this talk I’ll be presenting some core principles I think represent what makes microservices work well using Docker. After a brief introduction of what microservices are and why they are important, we’ll spend the bulk of the time looking at how BDD, CQRS, and Event Sourcing coupled with modern CI/CD techniques can help you deploy containers to a Docker swarm in any cloud. We’ll explore best practices, code, and tooling to get the job done right. I’d say that beginners will get a sense of what microservices are and what makes different, whereas more experienced practitioners will get an insight into practical advice into how to implement them.

    Ian Philpot
    3:40 - 4:40
    Developing for Apple Watch with Swift

    Apple Watch development is pretty different from other mobile development. From the fact that screens are tiny to the fact that every watchOS app must be embedded inside of an iOS app, there’s a lot to think about before writing a watch app. In this talk, we’ll see an overview of what goes into watchOS development: laying out our UI, sharing data with our iPhone app counterpart, and hooking into the health sensors of the Apple Watch. We’ll look at what makes an watch app good and answer the question, "Should I develop an Apple Watch app?"

    Jeff Kelley

    Newsletter Sign Up

    No Spam - Only latest news, price and activity updates

    Tickets

    Get yours why they are still available



    Early
    Conference Only (Early Bird)
    $40
    • 33% off late registration
    • Access to all Saturday sessions
    • Lunch provided
    Sale Ended
    Workshop Only
    $180
    • Access to a Friday workshop of your choice
    • NO access to Saturday event
    • Lunch provided
    Sale Ended
    Conference + Workshop
    $200
    • Access to a Friday workshop of your choice
    • Access to all Saturday sessions
    • Lunch provided both days
    Sale Ended
    Hot!
    VIP All Access Pass
    $265
    • Access to a Friday workshop of your choice
    • Access to all Saturday sessions
    • Lunch provided both days
    • VIP GR Brewery tour (Friday Night -or- Saturday night)
    Sale Ended

    Register for Beer City Code now!

    Don't miss out on the fun. Sign up right away to hold your spot for all the fun, learning, networking, and beer.



    Sale Ended

    Hotels

    find a place to stay


    Baymont Inn & Suites Grand Rapids Airport

    2873 Kraft Ave SE, Grand Rapids, MI 49512

    (616) 956-3300

    Staybridge Suites Grand Rapids-Kentwood

    3000 Lake Eastbrook Blvd SE, Grand Rapids, MI 49512

    (616) 464-3200

    Wyndham Garden Grand Rapids Airport

    4495 28th St SE, Grand Rapids, MI 49512

    (616) 464-3200

    Clarion Inn & Suites Airport

    4981 28th St SE, Grand Rapids, MI 49512

    (616) 464-3200

    Holiday Inn Grand Rapids - Airport

    3063 Lake Eastbrook Blvd SE, Grand Rapids, MI 49512

    (616) 464-3200

    Our Sponsors

    We couldn't do it without their support. Want to become a sponsor?

    Platinum
    Gold
    Silver

    Venue