In this installment of the Cosmic JS Developer Spotlight Series, we sat down with Leslie Cohn-Wein, a Front End Developer and Austin native now residing in Dallas, Texas. Leslie most recently worked as a Front End Engineer for Canvas United, a New York City-based digital agency, prior to starting as a Front End Developer at Netlify. Follow Leslie on Twitter or LinkedIn and enjoy the Q/A.
When did you first begin building software?
I taught myself basic CSS in the early 2000s in order to customize my MySpace and LiveJournal backgrounds. To my surprise, that experience kicked off an enduring interest in code.
After studying digital media in college and interning at the Denver Open Media Foundation theming Drupal sites for nonprofits, I moved to NYC for a role as a communications manager. I successfully made the transition into full-time front end development a few years later, working at ad agencies with clients like Nintendo, Comedians in Cars Getting Coffee, and Crunch Fitness. I’ve been building software professionally for the past 5 years.
What is your preferred development stack?
In the agency world, I found that I was able to get new projects started more quickly by leveraging static site generators like Middleman and Gatsby, which gave me scaffolding, a templating system, hot reloading, and more without all the tedious setup. Deploying to Netlify was as easy as hooking up my GitHub account and pushing my code (full disclosure: I now work as a front end dev at Netlify).
The JAMstack put the power of developing and deploying dynamic apps in my hands, no back end dev or server maintenance required. I am such a fan of developing with the stack that I jumped ship from agency life back in October to join the Netlify team.
What past projects are you most proud of and why?
Aside from my recent work on the Netlify app, I'd have to say that one of my favorite agency projects was a website build for The Parker Palm Springs hotel in California. I worked for a Ruby on Rails shop at the time, so we chose to develop with Middleman, manage content with a headless CMS, and automatically deploy to Netlify with a standard Git workflow.
Building with the JAMstack meant my time was spent pairing with my art director, refining the interactive storytelling experience on the homepage ー not wiring up views or coordinating with DevOps to get a staging site live. I loved working on a purely front end stack with such a playful design, and it didn't hurt that we ultimately won the 2018 Communication Arts Interactive Award for it.
What were your biggest challenges in building apps in an agency environment at Canvas?
Shipping a new, self-contained site every 2 or 3 months was exhilarating, but that process demands an incredibly well-coordinated workflow. Using static site generators to speed up the build process changed the game for me.
In an effort to ship work even faster, we worked on developing a reusable, easily skinnable component library that would help avoid building duplicate functionality for each new project (because who wants to build another hamburger nav, amirite?).
Contrary to popular opinion, we also found that trying out new tech on occasion improved our velocity. Moving from CoffeeScript, jQuery, and CDN-hosted includes to ES6, React, Jest, and npm did require an investment in learning, but ultimately improved
our team's dev experience and significantly shortened the QA cycle.
What was the inspiration for joining Netlify? How has your experience been thus far?
I was scrolling through my Twitter feed last year when I saw a retweet from the smart and prolific Amelia Bellamy-Royds about a front end opening at Netlify. I applied immediately.
Joining the team last October was oddly familiar; I'd been in touch with Netlify's support team for guidance several times over the past few years, and had recently worked with the sales team to power up my agency's capabilities. I'm still getting up to speed, but the tech, too, is familiar: the front end of app.netlify.com is build with React, and ー of course! ー deployed to Netlify. So meta.
I just returned from our week-long all hands meeting in San Francisco, where we reviewed the company roadmap and started concepting some of the new features I'll get to help build. Unlike the agency world, the Netlify team truly believes in an interdisciplinary
approach ー I have the opportunity to work side-by-side every day with designers, API and platform developers, technical writers, and other front enders to bring a new vision of the web to life.
What are some technologies you are excited about or want to learn more about?
There are too many to name them all! I actually keep a "learning plan" where I outline concepts, courses, and articles I want to dive deeper in to, and have an accountability buddy at work to keep me honest in my progress.
A few of the highlights right now:
- Serverless is blowing up, so learning more about functions as a service (FAAS) is high on my list.
- New React features like Hooks and Suspense are close to primetime, so I want to focus in on some practical examples.
- I've been using GraphQL with Gatsby for many months, but there's always more to master!
- My coworker swyx got us into using Cypress for integration tests, and I've slowly been picking it up.
- I tested out CSS-in-JS on my last agency project and think it's worth exploring further.
- The design team at my last agency was still using the Adobe Creative Suite, so I'm continuing to level up with Sketch and starting to play with Figma and Webflow.
Do you have any tips for working remote in a team environment?
I've been working remotely for over 2 years now and while it was tough to adjust at first, I can't imagine going back. I've found that a consistent routine is necessary; I get ready as if I were going into an office (minus the slippers!), work from the desk in my dedicated home office, and walk my dog Mack over lunch. This has helped compartmentalize "work time" vs "play time" and usually keeps me from pushing sloppy code from the couch at midnight.
A daily stand-up ensures I get at least a few minutes of "face to face" time every day (thanks, Google Meet!). Slack has also been a huge help in this regard, allowing me to "drop by someone's desk" whenever necessary. As a remotee, I believe it's better to err on the side of over-communicating.
Occasional in-person meetups, both with coworkers and in my community, have been priceless for team bonding and combatting loneliness. It's also a great opportunity to step outside your own bubble and keep a pulse on what's happening in the wider world of software development.
The Cosmic JS Spotlight Series is dedicated to showcasing developers that are building apps using modern tools. Learn how to Contribute here. To stay connected with us follow us on Twitter and join the conversation on Slack.