Charles Lowell
Founder / Head of Research & Development
More than 25 years ago, Charles torched a promising career in biochemistry and joined the dot-com revolution. After coding daily on systems big and small, he founded Frontside in 2005 based on the belief that good software development patterns are universal. Charles currently researches testing platforms and structured concurrency to power up every developer’s daily coding life.

Blog Posts
- Announcing Effection 4.0
- The heart breaking inadequacy of AbortController
- Is graybox testing a myth?
- Announcing Effection 3.0 -- Structured Concurrency and Effects for JavaScript
- The await event horizon in JavaScript
- Deno is the best tool for maintaining NPM packages
- Ingestion tests in Backstage Part 2: Safely refactoring an LDAP integration
- Deno is "blazing fast" for humans
- Testing Backstage Catalog's ingestion
- Announcing GraphGen: the search for the graph factory
- Interactors: the design systems testing ally
- Beyond Mocking: Decoupling teams through Simulation
- The Triple Threat to Testing — Part 2: Reliability
- The Triple Threat to Testing — Part 1: Speed
- Four reasons to use append() instead of Object.assign() and Object spread
- Functional Rephrasing Using an Async Function Functor
- Math is Just Another Framework
- One Helpful Way to Think About JavaScript Decorators
- React Native and Chill: A tale of stupid made fast
- Functional Templating in Ember
- Reactive Modeling with Ember
- The Ruby Racer Rides Again
- Implementing a Jenkins Extension Point with the Native Java API inside a Ruby Plugin
- Ruby for Jenkins Goes Pre-Alpha
- The Ruby Racer isn't threadsafe... yet.
- What it takes to bring Ruby to Jenkins
- Wrapping each Hudson distribution in its own RubyGem
- We must come together to honor the command line
- Accessing Javascript Objects from Ruby
- RYE: Repeat Yourself Enough
- In Search of a Better Autogrowing Textfield
- Please Stop Using Global Variables in Ruby
- Patiently waiting for JavaFX
- mod_rewrite: Remeber that the version counts
- Trans-Global Pair Programming
- Taming the Rhino
- Live Stylesheets
- Learning Javascript from the Command Line
Podcast Episodes
- OpenTelemetry with Austin Parker
- Paying Open Source Contributors with Puneet Lath
- Product Roadmaps and Tooling Planning with Steve Pereira
- Data, Trust, and Transparency: A COVID-19 Vaccine Story
- Type systems with ReasonML London organizer Marcel Cutts and Shane Wilson
- Intro to Rush.js with co-author Pete Gonzales
- Big Ideas & The Future at The Frontside
- Transparent Development
- Svelte and Reactivity with Rich Harris
- Security with Philippe De Ryck
- An Analysis of NativeScript Mobile Platform
- Deployment with Luke Melia, Aaron Chambers, and Mattia Gheda
- Pull Requests with Joe LeBlanc
- Frontend/Backend Team Collaboration with Sam Joseph
- Team Collaboration with Jacob Stoebel
- What’s in a UI platform?
- 117: The Frontside Podcast 2019 Reboot Preview
- 115: Testing Issues and BigTest Solutions
- 114: The Business Case for Experimentation with Elm with Dillon Kearns
- 113: There and Back Again: A Quest For Simplicity with Philip Poots
- 112: Language Formation with Amanda Hickman and Amberley Romo
- 111: Accessibility in Single Page Applications
- 110: Mentorship 3.0 with Saron Yitbarek
- 109: What Do You Need in a JavaScript Framework?
- 107: Microstates Part II
- 106: Microstates
- 105: Automating GitHub with Probot
- 102: FOLIO with Harry Kaplanian
- 101: Fullstack / Backend / Frontend: What’s the Difference?
- 100: 100th Episode Celebration with Brandon Hays
- 099: Funcadelic with Taras Mankovski
- 098: Experience First Development
- 097: Language Server Protocol with Erich Gamma and Dirk Baeumer
- 096: Outside-In Development
- 094: Machine Learning with Katharine Beaumont
- 093: Monoids, Monoids Everywhere! with Julie Moronuki
- 092: Venture Capital and Investing with Sam Cates
- 091: RxJS with Ben Lesh and Tracy Lee
- 090: Big Testing in JavaScript
- 088: The Craft of Developer Experience with Kaylie Kwon
- 087: The JSON API and Orbit.js with Dan Gebhardt
- 086: Routing in Ember with Alex Matchneer
- 085: WebAssembly with Jay Phelps
- 084: redux-observables with Jay Phelps
- 083: Learn Haskell, Think Less
- 082: Peeple with Chris Chuter
- 081: Knocki with John Boyd
- 079: Web Security and Keeping Developers on the Cutting Edge via Trainings and Workshops with Mike North
- 078: Kasita with Jeff Wilson and Jason Jaynes
- 077: The Internet of Things Cometh
- 076: "Devsigners" with Drew Covi
- 075: Babel with Robert Jackson
- 074: Mission Driven Businesses with Anissa Willyard
- 073: Summer Interlude
- 072: Single Page Apps with Accessibility in Mind with Kris Van Houten
- 071: Labor Organizing and Open Source Sustainability with Audrey Eschright
- 070: Kubernetes with Joe Beda
- 069: Redux Part II with Toran Billups
- 068: How We Do UI Testing Here at The Frontside
- 067: ember-concurrency with Alex Matchneer
- 066: 10 Pounds of Dirt in a 5 Pound Sack with Michael Coté
- 065: Data Loading Patterns with the JSON API with Balint Erdi
- 064: Empathy in Sales with Ginger Whalen
- 062: UI for U and I
- 061: Accessibility with Marcy Sutton
- 060: Ember and Fastboot with Jonathan Jackson
- 059: Build Useless Stuff
- 057: Demystifying Software with Liz Baillie
- 056: Ember vs. Elm: The Showdown with Philip Poots
- 055: Redux and Ember with Toran Billups
- 054: The Ember Ecosystem & ember-try with Katie Gengler
- 053: Glimmer 2 with Godfrey Chan
- 052: Emberitas with Lydia Guarino and Shannon Byrne
- 051: Rust and APIs with Steve Klabnik
- 050: Learning to Program with Kyle Simpson
- 048: Farewell, Brandon
- 047: Taking Payments on the Web with Noel Rappin
- 045: The New Theory of Teams with Sarah Mei
- 043: Growing Communities and Businesses with Leah Silber
- 042: Apprenticeship in Real Life with Taras Mankovski and Lennex Zinyando
- 041: The Technical Skills of a Senior Dev
- 040: How We're Refactoring Our Business
- 039: How to Integrate Jr. Developers Into Your Company
- 038: EmberConf 2016 - Recap and Highlights
- 036: Composable UI with Trek Glowacki
- 035: How We Hire
- 034: What We Learned in 2015
- 033: Immutability
- 032: Working Remotely with Allison McMillan
- 031: Family and Programming Life Balance with Mando Escamilla
- 030: Building Great Communities with Jamie White
- 029: Ember & "Big OSS" with Robert Jackson
- 028: Open Source, UX, and Ember with Trek Glowacki
- 027: Communication at Work
- 026: What is a Senior Developer?
- 025: Getting to Ember 2.0 with Matthew Beale
- 024: Overcoming Impostor Syndrome
- 023: Ember Islands with Mitch Lloyd
- 022: Deploy to the Future with Luke Melia
- 021: Best of EmberConf 2015 (part 2)
- 020: Best of EmberConf 2015 (part 1)
- 019: Origin Stories with Tom Dale and Alex Matchneer
- 017: Hiring Junior Developers: The Ukelele Method
- 016: Ember 2.0 and the Indie Web with Yehuda Katz and Tom Dale
- 014: Literally everything we learned in 2014
- 012: Is it OK to not love programming? (with Sarah Mei)
- 011: Hype Cycles and Reprogramming Your Brain
- 010: Reactive Modeling with Ember
- 009: How to tell if a jQuery plugin is about to stab you
- 008: The Brandon Hays Advice Dispensary
- 007: The Ember Router (with Alex Matchneer)
- 006: Myth of the Lone Genius Programmer
- 005: Backbone, Ember, and the "build your own Voltron" bias
- 004: EmberConf Recap
- 003: Refactoring toward Ember
- 002: Devil's Advocate
- 001: Hit me baby one more time