👩🏻‍💻 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 read
Engineering

This time is different. "Clean slate. Solid foundations. This time I will build things the right way."

Read more

Does It Spark Joy?

February 17, 2020 · 7 mins read
Personal

I'm heading for a new adventure!

Read more

Type Narrowing in TypeScript

December 28, 2019 · 7 mins read
Engineering

This 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 read
1:1s

Here 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 more

Migrating from Medium to Gatsby

March 17, 2019 · 9 mins read
Engineering

I 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 read
1:1s

I 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 more

Exploring the Strongly Typed Graph

October 28, 2018 · 6 mins read
Engineering

The “Strongly Typed Graph” is something I’ve been thinking about lately. I believe it could significantly improve developer productivity in…

Read more

Commit to Commit

February 28, 2018 · 1 min read
LeadershipManagement

Commitment can be terrifying. Broken promises are the surest way down the waterslide of low morale.

Read more

An Engineer’s Guide to Communication

February 26, 2018 · 5 mins read
LeadershipManagement

It’s far too easy to be misunderstood. Trying to get your idea or point across to someone can often feel frustrating and difficult.

Read more

Skeleton Screen Loading in Ember.js

October 11, 2017 · 6 mins read
Engineering

Skeleton screen loading (also known as placeholder loading) is a technique that enhances the perception of loading in your application…

Read more

I Am Still Learning

May 30, 2017 · 4 mins read
Leadership

Learn to welcome fear. Learn from fear. No one learns and develops skills in a bubble.

Read more

Rise From the Ashes — Incremental APIs With Phoenix

August 12, 2016 · 5 mins read
Engineering

Much has been said about the Elixir language and the Phoenix framework —Phoenix’s performance without compromise makes it a compelling…

Read more

Component dependency injection in Ember.js

June 28, 2016 · 5 mins read
Engineering

The Dependency Injection (DI) pattern is a subset of Inversion of Control, and is a useful technique for decoupling the creation of a…

Read more

Bringing Ecto Changesets into Ember.js

June 17, 2016 · 9 mins read
Engineering

The 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 more

Declarative Templating in Ember with Composable Helpers

April 21, 2016 · 7 mins read
Engineering

Previously, 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 more

Route Closure Actions in Ember.js

April 21, 2016 · 5 mins read
Engineering

In my previous post, I wrote about moving singleton state in Controllers into Services that back components. This means being able to…

Read more

Warning — Breaking Changes

January 13, 2016 · 2 mins read
Leadership

In the world of software releases, programmers call a significant change in existing behavior a breaking change. Typically, this means that…

Read more

Ember.js — Goodbye MVC

December 03, 2015 · 7 mins read
Engineering

At EmberConf 2015, Yehuda Katz and Tom Dale announced the arrival of certain changes to Ember 2. Most notably, the routable components RFC…

Read more

Ember.js — Functional Programming and the Observer Effect

November 16, 2015 · 9 mins read
Engineering

My awesome colleagues have written about patterns and best practices we use at DockYard, covering everything from the Ember Object model…

Read more

Applying the Adapter Pattern for Analytics in Ember.js Apps

August 07, 2015 · 10 mins read
Engineering

At 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 more

Declarative Breadcrumb Navigation in Ember.js

June 01, 2015 · 9 mins read
Engineering

Breadcrumb navigation isn’t a new concept, in fact, it’s usefulness has been endlessly debated about by UX designers all over. Today, I…

Read more

Creating an Ember CLI addon — Detecting Ember.js Components Entering or Leaving the Viewport

April 17, 2015 · 15 mins read
Engineering

I 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 more

The Importance of Being Experience First

April 10, 2015 · 4 mins read
User experience

We’re in the middle of a digital renaissance that has software eating the world. Like the industrial revolution, the digital revolution…

Read more

Ember.js & Reactive Programming — Computed Properties and Observers

January 16, 2015 · 12 mins read
Engineering

Reactive Programming (or RP for short) is a programming paradigm that gets thrown around a lot, but its clear that there is much confusion…

Read more

My 2014 in Review — Or How I Beat Impostor Syndrome

December 28, 2014 · 10 mins read
Leadership

I’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 more

Submit an Ember TextArea with Command or Ctrl + Enter

December 22, 2014 · 4 mins read
Engineering

You might have an Ember TextArea in your app somewhere, perhaps as a comment form or some other input, for submitting multi-line strings…

Read more

Lazy Loading Videos in Ember

December 14, 2014 · 8 mins read
Engineering

If 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 more

Adding Flash Messages to an Ember App

November 30, 2014 · 6 mins read
Engineering

One of Jakob Nielsen’s 10 heuristics for user interface design is Visibility of System Status, or in other words, keeping users informed…

Read more

Ember.js — Detecting if a DOM Element is in the Viewport

November 21, 2014 · 6 mins read
Engineering

Detecting whether or not an element is visible is very useful when it comes to triggering animations or events. Before you drop in another…

Read more

Ember – Simple text search computed property macro

November 19, 2014 · 3 mins read
Engineering

Every 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 more

Slack-style loading messages in an Ember app

November 15, 2014 · 4 mins read
Engineering

If 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 more

Using Highcharts.js in an Ember app

November 13, 2014 · 4 mins read
Engineering

Highcharts is one of the better supported and developed front end charting libraries out there, and it makes creating standard charts a…

Read more

Ember.js and HTML5 Drag and Drop

September 25, 2014 · 4 mins read
Engineering

It’s fairly trivial to add a ‘drag and drop’ interface to Ember.js with html5, without the need for external libraries, although…

Read more