Wayfair Tech Blog

Q&A with Nicholas Dreckshage: Tech Lead on Frontend Framework Team

Nick Dreckshage

Meet Nicholas

What is your current role?

I am the tech lead of the Frontend Framework team on Storefront. 

What does your team do? How does it fit into the world of Wayfair? 

The Frontend Framework team is responsible for (1) the core frontend libraries that power Wayfair.com and our internal sites; (2) building, testing, and deploying frontend code to production; (3) the frontend development tooling that all Wayfair engineers use to develop frontend code. We are currently leading frontend decoupling which is an essential part of Wayfair engineering’s overall decoupling initiative.

The “frontend decoupling” initiative breaks down our monolithic resources codebase into logical units, and is most notably marked by the transition from an in house, monolithic code bundler to webpack, an industry standard bundler. This gives teams greater ownership over their codebase and allows them to develop faster.

How long have you been at Wayfair?

I first started at Wayfair in 2011, but my time has been split up over a few different stints for a total of 7 years.

What was the first 90 days like starting here?

Wayfair was my first job out of college so I was nervous to start, but excited to be part of a growing team. I started on the Joss & Main team (a small startup within Wayfair at the time) as an intern. I remember being in meetings with John Mulliken (who later became the CTO of Wayfair) in the first couple of weeks, brainstorming ideas for Joss & Main, and researching what our competitors were doing. I felt extremely encouraged that everyone's ideas (even mine, as an intern) were taken seriously, and I think that more than anything encouraged me that anyone can make a difference here. Also in my first 90 days, Wayfair.com officially launched as a site, which was fun to see!

How has your role changed since you started here?

My role has changed pretty dramatically since I started. I joined as a Design/Photo editing intern, switched on to the CSS team (only 3 people at the time), started the initial JavaScript team, have been on product and A/B testing teams, and now lead the Frontend Framework team (with a lot of other roles in between...). I've really enjoyed working with so many different people and teams, and think that broad view has helped me in each subsequent role. Wayfair is encouraging if people want to switch teams, and it is often beneficial for people and the company.

Additionally, my employment status has changed a lot over that time—I went from an intern to a full time employee to an independent contractor (with employees and Wayfair as a client) and am now back as a remote full time employee (I work remotely from Chicago). My path has been fairly unique, but I love that Wayfair lets people go by the beat of their own drum as long as they can find a way to contribute!


Nicholas’s Day-to-Day

Every day is different, but can you outline what a typical day looks like for you?

As a remote employee, I typically work from a small coworking space close to where I live (but currently work from home given Illinois stay at home order). I have a standup via Google Meet at 9:30 am my time (10:30 am in Boston). I then usually have around three 30 minute meetings throughout the day focused on decoupling the monolith—one of our core initiatives right now. I take a lunch break to walk my dog. I'm constantly monitoring Slack channels, both on my phone and computer, to assist people when they have problems. I typically look at a few code reviews each day. And then I spend at least half of my time coding. If I'm working on something fun, I get my best work done around 2AM, so I sometimes stay up late and take that time off in the day!

Do you have any tips for others currently working remotely?

Being a remote employee has its challenges, but I really like it. I have found working out of a coworking space to be really helpful—it is nice to see coworkers each day, even if working for different companies. I do often work from home though; I’ve found having a dedicated workspace, ideally with a door, is really helpful (rather than working from your couch in front of a TV). Additionally, I’d suggest outfitting your home office to make it enjoyable for you to spend time in - I have a standing desk and colorful lights (Philips Hue)!

My team is also remote first. We have most of our meetings on Google Meet, where everyone is wearing their own headphones (rather than having some of the team meet in person). This makes me (and other remote team members) feel included and part of the group. I also try to be overly engaged on Slack. The net effect of all this is I’ve been able to form great relationships with lots of other employees, who sometimes don’t even realize I’m a remote employee!

Are there particular seasons of the year that are busier than others? If so why?

Some times of the year (holidays) are more important and sensitive to code changes, but engineering work on a platform team is pretty consistently busy. I am most busy when a challenging problem comes along that I am having trouble figuring out, which can happen on any random day.


Collaboration Across Wayfair

What are some of the different teams that you work with?

The Frontend Framework team works most closely with adjacent frontend teams, like Frontend Infrastructure and Design Systems. However, we are working closely with any engineering team that is working towards decoupling their section of the codebase, which recently includes internal teams that work on admin features, teams that work on the supplier/partners site, and teams that work on storefront features. This includes working with engineering teams specifically, but also working with their product and QA team.

What is your role in your relationship to product?

Frontend Framework supports product engineering teams in providing tools and libraries that they use in development. However, we also work with them directly to "eat our own dog food" when we are developing new framework tools. I think it is really important for infrastructure teams to take an expansive view of their responsibilities, and to be as closely connected to product teams as possible.


Nicholas’s Favorite Parts of the Job

What are some tech tools that you have enjoyed using at Wayfair?

I’ve used tons of tools here that I have found fun. I helped to bring React to Wayfair, and there were a lot of exciting challenges with that. We are also currently switching to Webpack (from an internal tool), which the Frontend Framework team is leading. Figuring out how to incorporate new stuff into an existing system is an interesting challenge. There is no shortage of fun technical opportunities to be involved with here.

What is the most interesting problem you are trying to solve?

My most interesting problem currently is determining how to switch from a monolithic codebase with a custom compilation system to a decoupled system powered by Webpack. This is a massive shift for an organization of Wayfair's size and I've really enjoyed working on it.

What recent project are you most proud of?

We have our own version of `create-react-app` which works for our use cases (server side rendering, translations, different brands, for example). I think we nicely balanced using industry standard tools in a way that works for Wayfair's individual needs, and I am really excited to see more and more developers at Wayfair using what we have built.