Below is a list of all of my talks. Most of them I’ve either given or will give at an upcoming speaking engagement. However, there are some that I am still hoping to give at some future conference and/or meetup!
I am open to speak about anything I write about here in my blog or that I have previously spoken about. I also have plenty of experience not currently expressed in a blog post or previous talk. If you’re interested in having me speak to or hold a workshop with your group, thank you! That means a lot that you find me worthy enough to share with your group. Please feel free to contact me via Twitter, email or AMA.
- The async future is present
- Backbone to React: an epic journey
- Components of the highest order ⚔
- ES.next features that’ll make ya 💃🕺🏾
- ES.next Fundamentals Workshop
- Help! My React app is slowwwww! 🐢
- isReactDev === isMobileDev
- Let’s web dev like it’s 1999!
- Native Flexbox
- Navigating the React Solar System
- React + ES.next = ♥
- React Exposed! 😮
- React Fiber for the rest of us
- React Fundamentals Workshop
- React in style 😎
- React Properly
- Sweet ES6
- Wait… the Web can do what?1?!
- Why choose React?
The async future is present
Backbone to React: an epic journey
React has exploded in popularity. Its declarative syntax and DOM abstraction for components make it an obvious choice for client-side development. But switching from your current framework over to a React-based stack leaves a lot of open questions:
How do you convince Management that React is the right strategy? Should you transition our app(s) all at once? How do you train up the team? Does your app need to be “isomorphic”? What are some coding best practices to follow?
For the past year, Eventbrite has been migrating our frontend stack from one centered around Backbone/Marionette over to React. Learn from both our wins and challenges in switching so that you too can make a successful transition.
Components of the highest order ⚔
Official talk description about React higher-order components coming soon!
Demystifying Conference Speaking
“I don’t know what I’d talk about.”
“I’m not good enough to compete with the ‘pros’.”
“Well, I don’t even know how the process works.”
“No one will be interested in what I want to talk about anyway.”
These are just some of the reasons that keep potential speakers from sharing their knowledge by giving a talk. Conference speaking is great for networking, personal growth, as well as conquering fears. But when you’re an aspiring speaker, the process to become one is unclear. In this session, let’s debunk myths about conference speaking by learning what it takes to go from wanting to speak at conferences to actually delivering your first conference talk.
ES.next features that’ll make ya 💃🕺🏾
ES.next Fundamentals Workshop
Flexing your Flexbox muscles
Building linear layouts in CSS has been hard. Tables are bad, inline-block has quirks, and floats are insufficient. Thankfully the CSS flexible box layout module, aka Flexbox, enables us to elegantly solve our layout problems. While the specification has been around for over four years, increased browser support has finally pushed Flexbox mainstream. Even Bootstrap and Foundation have included it in the latest versions of their layout systems. Let’s deep dive into Flexbox: what it is, why you should use it, how it’s configured, and where it’s most useful.
Help! My React app is slowwwww! 🐢
React’s sophisticated reconciler (aka the “Virtual DOM”) makes updates to the UI feel fast because it optimizes interactions with the DOM. As a result, we no longer have to worry about how to transition our UI from one state to the next. However, the reconciler is not a silver bullet; even the new Fiber Reconciler. Our React apps can still get sluggish, especially as they grow in size and data. Let’s discuss some causes for slow-downs and tools to diagnose problems so that we can speed up our apps.
Isomorphic React sans Node?? 🤔
isReactDev === isMobileDev
Official talk description about transitioning from React to React Native coming soon!
The Junior Dev Dilemma
Software engineers that can hit the ground running when they join an organization are in high demand, but the supply of these professional hires is low, especially of seniors. Historically, junior devs came out of college CS programs, but now developer bootcamps are a new source of quality talent flooding the market.
But how do you interview these junior developers when they don’t have any prior professional experience? And once hired, how do you mentor them in order to set them up for success? What are some ideas for helping them grow in their career. Is it even all worth it?
Through missteps and wins, Eventbrite has interviewed, hired and grown the careers of many bootcamp grads. Come and learn some processes we used to successfully bring on junior devs. Or as a junior dev yourself, the types of organizations you should look out for.
Let’s web dev like it’s 1999!
However, when web development was in its infancy two decades ago, things were drastically different. Sites had hit counters, used frames for navigation, and were updated manually via FTP. We used the blink tag and scrolling marquees! Let’s take a walk down memory lane (or have a history lesson) and have some laughs cringing at how sites looked, how they were built, and the rudimentary tooling we had to develop them.
Although CSS Flexbox has been around for over 5 years, Flexbox familiarity is still low because legacy IE browsers have prevented its widespread use. In this session geared towards those already familiar with React Native, let’s deep dive into Flexbox so we can finally get a solid understanding of all its features. Leave confident to begin building flexible layouts in your apps across all screen sizes.
Navigating the React Solar System
React just exploded in popularity. But it’s only a UI library, not a full-fledged framework like Angular, Ember or [insert latest JS framework]. We need to create our own “framework” by picking from the plethora of libraries in the React solar system. But which ones should we choose? Or better yet, which ones do we actually need? Do we need a Flux implementation? What about handling ES6+, bundling and routing? How does it all come together?!1?!
Let’s walk through the tools and helper libraries that surround React. You’ll get the most out of the session with familiarity with React and its concepts, but you don’t need to be an expert. By the end of the session, you’ll have a solid understanding of the ecosystem, know which libraries you should prioritize learning first, and confidently build your own React-based stack.
React + ES.next = ♥
React Exposed! 😮
React’s seemingly “magical” features make developing sophisticated web UIs easy by doing so much heavy lifting for us. Unfortunately, without knowing how certain parts of the “magic” work, we run into confusing React warnings/errors.
Why can’t we have “if blocks” in our JSX code? Why do we need to wrap multiple sibling components in a container component? Why do we need to include a “key” attribute on components that are in an array?
In this session geared towards those familiar with React, let’s answer these questions by digging deeper into JSX syntax, virtual DOM diffing and other “magical” features. Not only will we be able to prevent errors with a clearer understanding of the “magic,” but we can potentially boost rendering performance as well.
React Fiber for the rest of us
Fiber was introduced in version 16 of React. It is a ground-up rewrite of the React scheduler, typically mis-referred to as the “Virtual DOM.” The Fiber-based scheduler supports “cooperative scheduling” and allows for other output renderers besides the browser DOM. In this session geared towards those familiar with React, let’s learn about what React Fiber is and why it exists through the lens of how it will impact your React development and the performance of your apps at runtime.
React Fundamentals Workshop
- Write readable, reusable and composable components
- Use JSX syntax
- Work with the Virtual DOM
- Handle user interactions and synthetic events
- Leverage ES6 to maintain application state
- Make API calls
- Apply component styling
- Hook into the component lifecycle
- And more…
React in style 😎
Eventbrite recently transitioned from a Backbone/Marionette stack over to a React-based one. We developed many React best practices from the very beginning to provide code consistency and prevent immediate technical debt from poorly written code. In this session geared towards developers already familiar with React, let’s walk through the guidelines and rules Eventbrite adopted so we can apply them to our own teams and projects.
Sugar & Spice and everything nice about ES6
Learn how to write cleaner code using arrow functions, destructuring, rest parameters, and other sweet ES6 features. Oh, and don’t worry if you didn’t understand any of those terms — you soon will after this session.
Why choose React?
As the Frontend Platform team at Eventbrite switched from Backbone/Marionette over to React, it had to convince other developers, managers, directors, and non-engineers that React was the right path. And the rationale for moving wasn’t just because React is insanely popular. There are many tangible benefits that make the effort of migrating worthwhile.
New to React and want to learn a little about how it works? Seeking ammunition to convince your team to make the change? Come learn about why we made the decision to transition to React, through an introduction of how to build user interactions with React.
Wait… the Web can do what?1?!
ES.next, React, CSS Grid, Service Workers and other new technologies are getting all the attention within the frontend community. They enable us to easily build sophisticated UIs across all devices. But there are even more, lesser-known Web APIs that help us further blur the lines between browser and native apps!
In this session geared towards frontend engineers of all skill levels, let’s learn about some Web APIs that you may have never heard of before! We’ll look at audio, video, interaction, and device diagnostic APIs — where they are supported and how you can apply them in your next project.