# Brick by Brick: What Lego Taught Me About Great APIs
It had been over a decade since I put together a Lego set. But a recent gift changed everything and I quickly found myself captivated building a new Lego model. As I went, I realized so many of the wonderful things that make Lego amazing apply beyond the boundaries of plastic brick building. They apply directly to APIs! Join me as we delve into the Lego building experience and the lessons we can learn along the way to make our APIs Lego-level great.
# Rebuilding the Plane Mid-flight: Lessons Learned Refactoring
The moment we ship software, we need to maintain it. Eventually, that maintenance will require some or all of the code to be refactored. What happens when that refactor covers large parts of your code? How do we approach such a project? What do we have to take into account? How do we set ourselves up for success? Join me as I walk through the lessons we’ve learned at SalesLoft refactoring our primary web application across UI frameworks. Together, we’ll cover practical principles you can use to plan, execute, and finish well when refactoring.
# GraphQL in a Serverless World
"GraphQL" and "Serverless" generate a lot of industry buzz separately. Combining slick serverless paradigms with the statically-typed goodness of GraphQL may just break the internet...but that's what we're going to do. Together, we'll briefly cover what "serverless" means and how GraphQL works. Then, we'll construct a simple GraphQL API from scratch using open-source tools and deploy the API to multiple serverless environments. Finally, we'll discuss the benefits and tradeoffs of deploying a GraphQL API in a serverless fashion.
# Reconfiguring Our Mindset from "Self-taught" to "Community-taught"
We learn from those around us, whether it be through articles, walkthroughs, well-written code, videos, meetup and conference talks, Twitter, StackOverflow, etc. No matter our educational background, we have all benefited greatly from the vast number of resources available in the community. Together, we’ll see how shifting our mindset from "self-taught" to "community-taught" recognizes these resources as well as the responsibility we all have as members of the community to be responsible in and with it, to help sustain it, and to make it available to others who are in different stages of their educational journey.
# Using Gatsby to Supercharge Your Static Sites
- OpenSource 101 2019 (Slides)
- WeRISE 2018
- ConnectTech 2018
Static site generators have been around for the better part of a decade, but they've seen a resurgence in popularity recently and for good reason. Static sites provide significant benefits - performance, security, durability, ease of deployment - to developers, content creators, and consumers alike. Not all static site generators are created equal, however. Gatsby supercharges the process and brings many unique strengths to the table, including a strong plugin ecosystem, a data fetching layer based on GraphQL, the ability to collate data from multiple sources, and Progressive Web App functionality infused into the static sites it generates. Together, we'll explore these strengths and more as we delve into why Gatsby is one of the top static site generators in the industry.
# Tame the Async Redux Beast with redux-logic
Keeping our Redux applications tidy can be difficult once we start adding business logic, especially asynchronous code. Where do we write it? How do we write it? And how does our code interact with Redux? Together, we'll answer these questions and more by exploring how redux-logic lets us "bring our own code" and integrate it in a structured, declarative way with Redux.
# CSS-in-React with styled-components
- ConnectTech 2017 (Slides)
# Exploring Modularized and Componentized CSS
CSS. Some of us love it. Others...not so much. However, we can all agree that maintaining CSS in production applications is difficult. It doesn''t have to be. Together, we will explore the paradigms of "modular" and "componentized" CSS and the benefits they bring. We will look at methods and libraries available today that enable us to write scalable CSS in our React applications. And we will walk through multiple practical examples of CSS refactoring using CSS Modules, Aphrodite and styled-components showcasing how you can implement "modular" and "componentized" CSS.