👩🏻💻 Hello! Lauren Tan is a leader, speaker, and software engineer ✨
Hi there! I'm a polyglot Software Engineer at Facebook and frequent public speaker. Previously, I was an Engineering Manager at Netflix. I'm the🏄🏻♀️ webmaster of this little website. I started my career in tech as a UI designer, but the allure of learning to bring my designs to life was too enticing. I write about leadership, JavaScript, TypeScript, Elixir, Rust, and more. Welcome!
This Time Is Different
May 12, 2020 · 5 mins readThis time is different. "Clean slate. Solid foundations. This time I will build things the right way."
Read moreType Narrowing in TypeScript
December 28, 2019 · 7 mins readThis blog post is to share a TypeScript tip I've picked up while creating a new programming language: type narrowing. Type narrowing gives TypeScript more information about the type being narrowed, and allows the TypeScript compiler to be more helpful to you. When used responsibly, narrowing types can make your code easier to understand.
Read more#2 Maximizing Success in Engineering Interviews
March 25, 2019 · 8 mins readHere is today's 1:1 topic -- finding success in software engineering interviews. The person I spoke to is new to tech and has been feeling frustrated understanding how to maximize their chances of success. This is largely because they haven't received much feedback on what to improve on post-interview. There is much that isn't right about the tech interview process, but I'll save that post for another time. This guide is for maximizing success in that interview that's coming up for you next week.
Read moreMigrating from Medium to Gatsby
March 17, 2019 · 9 mins readI recently moved my blog from Medium to a self-managed blog built with Gatsby, then deployed on Netlify. After a few weeks of fiddling around, I feel like I've landed on something I'm mostly happy with. I've also automated a bunch of things like performance testing with lighthouse which have made the experience quite great.
Read more#1 Should I Become a Tech Lead?
March 09, 2019 · 6 mins readI recently tweeted that I was starting an experiment. 26 people applied to try this out! Over the next couple of weeks, I'll be speaking to as many of them as I can in one-on-one (1:1) meetings over Google Hangouts. With their permission, I hope to be able to share some of the advice I've given them with you. Here is today's topic - growing as an engineer in the context of becoming a tech lead.
Read moreExploring the Strongly Typed Graph
October 28, 2018 · 6 mins readThe “Strongly Typed Graph” is something I’ve been thinking about lately. I believe it could significantly improve developer productivity in…
Read moreCommit to Commit
February 28, 2018 · 1 min readCommitment can be terrifying. Broken promises are the surest way down the waterslide of low morale.
Read moreAn Engineer’s Guide to Communication
February 26, 2018 · 5 mins readIt’s far too easy to be misunderstood. Trying to get your idea or point across to someone can often feel frustrating and difficult.
Read moreSkeleton Screen Loading in Ember.js
October 11, 2017 · 6 mins readSkeleton screen loading (also known as placeholder loading) is a technique that enhances the perception of loading in your application…
Read moreI Am Still Learning
May 30, 2017 · 4 mins readLearn to welcome fear. Learn from fear. No one learns and develops skills in a bubble.
Read moreRise From the Ashes — Incremental APIs With Phoenix
August 12, 2016 · 5 mins readMuch has been said about the Elixir language and the Phoenix framework —Phoenix’s performance without compromise makes it a compelling…
Read moreComponent dependency injection in Ember.js
June 28, 2016 · 5 mins readThe Dependency Injection (DI) pattern is a subset of Inversion of Control, and is a useful technique for decoupling the creation of a…
Read moreBringing Ecto Changesets into Ember.js
June 17, 2016 · 9 mins readThe past month or so, I’ve been working on an Elixir and Phoenix API for a client. I am blown away by how nice it is working with Elixir…
Read moreDeclarative Templating in Ember with Composable Helpers
April 21, 2016 · 7 mins readPreviously, I mentioned that Ember’s new Helper implementation landed in 1.13. In my opinion, helpers are one of the most useful, yet least…
Read moreRoute Closure Actions in Ember.js
April 21, 2016 · 5 mins readIn my previous post, I wrote about moving singleton state in Controllers into Services that back components. This means being able to…
Read moreWarning — Breaking Changes
January 13, 2016 · 2 mins readIn the world of software releases, programmers call a significant change in existing behavior a breaking change. Typically, this means that…
Read moreEmber.js — Goodbye MVC
December 03, 2015 · 7 mins readAt EmberConf 2015, Yehuda Katz and Tom Dale announced the arrival of certain changes to Ember 2. Most notably, the routable components RFC…
Read moreEmber.js — Functional Programming and the Observer Effect
November 16, 2015 · 9 mins readMy awesome colleagues have written about patterns and best practices we use at DockYard, covering everything from the Ember Object model…
Read moreApplying the Adapter Pattern for Analytics in Ember.js Apps
August 07, 2015 · 10 mins readAt DockYard, most (if not all) Ember apps we build for our clients require analytics in some form or other. For many of these apps…
Read moreDeclarative Breadcrumb Navigation in Ember.js
June 01, 2015 · 9 mins readBreadcrumb navigation isn’t a new concept, in fact, it’s usefulness has been endlessly debated about by UX designers all over. Today, I…
Read moreCreating an Ember CLI addon — Detecting Ember.js Components Entering or Leaving the Viewport
April 17, 2015 · 15 mins readI wrote a post last year about how I made an Ember Mixin that would let Ember Components or Views know if their DOM element had entered or…
Read moreThe Importance of Being Experience First
April 10, 2015 · 4 mins readWe’re in the middle of a digital renaissance that has software eating the world. Like the industrial revolution, the digital revolution…
Read moreEmber.js & Reactive Programming — Computed Properties and Observers
January 16, 2015 · 12 mins readReactive Programming (or RP for short) is a programming paradigm that gets thrown around a lot, but its clear that there is much confusion…
Read moreMy 2014 in Review — Or How I Beat Impostor Syndrome
December 28, 2014 · 10 mins readI’ll remember this year as the year I was challenged and grew the most — both personally, and professionally as a UI designer and front end…
Read moreSubmit an Ember TextArea with Command or Ctrl + Enter
December 22, 2014 · 4 mins readYou might have an Ember TextArea in your app somewhere, perhaps as a comment form or some other input, for submitting multi-line strings…
Read moreLazy Loading Videos in Ember
December 14, 2014 · 8 mins readIf you’re like me, every time you embed a video iframe into your app you feel a little bit dirty for having to load an entire html document…
Read moreAdding Flash Messages to an Ember App
November 30, 2014 · 6 mins readOne of Jakob Nielsen’s 10 heuristics for user interface design is Visibility of System Status, or in other words, keeping users informed…
Read moreEmber.js — Detecting if a DOM Element is in the Viewport
November 21, 2014 · 6 mins readDetecting whether or not an element is visible is very useful when it comes to triggering animations or events. Before you drop in another…
Read moreEmber – Simple text search computed property macro
November 19, 2014 · 3 mins readEvery now and then, you want to let your users quickly search for records that you’ve already loaded into your store. We can easily…
Read moreSlack-style loading messages in an Ember app
November 15, 2014 · 4 mins readIf you haven’t used Slack already, it’s an awesome chat app for teams that’s similar to IRC. I’ve been using it for a while now, and I’ve…
Read moreUsing Highcharts.js in an Ember app
November 13, 2014 · 4 mins readHighcharts is one of the better supported and developed front end charting libraries out there, and it makes creating standard charts a…
Read moreEmber.js and HTML5 Drag and Drop
September 25, 2014 · 4 mins readIt’s fairly trivial to add a ‘drag and drop’ interface to Ember.js with html5, without the need for external libraries, although…
Read more