The Rock & Roll with Ember band - Alex LaFroscia
29 January 2021
The "Rock & Roll with Ember band" interview series introduces readers of the similarly titled book. They tell us about how they got acquainted with the framework, how they learned it, what they use it for, and share a few more details about the non-tech related side of their lives. I hope you enjoy reading them as much as I did.
Could you introduce yourself in a few sentences?
My name is Alex LaFroscia, and I am a Front-End Infrastructure engineer living in Pittsburgh PA. I have worked on teams using Ember.js since 2012, from big names like Netflix and Google to little start-ups. These days I work remotely full-time for a company called Movable Ink, based in New York City.
Which part of the world are you from?
I grew up on Long Island, about an hour outside of New York City. I moved to Pittsburgh, Pennsylvania for college and then spent 3 years in the Bay Area. Last year I moved back to Pittsburgh and plan to stay here!
What do you like to do in your free time?
Off of the computer, my interests include cooking and backpacking. Both provide a great way to disconnect from technology and share fun experiences with the people I care about!
When and how did your Ember journey begin? How did you learn about the framework?
My first experience with Ember came from a company called Mysterious Trousers. I was a fan of their iOS apps, which were some of the best on the platform when the App Store first launched. Their apps had this quality about them that was simply delightful and taught me early on about the ways that a focus on user experience can really set software apart. I connected with them around the basis of my interest in iOS development, which transitioned to Ruby on Rails. After pestering the team with enough questions about Rails, they offered me a part-time internship where I could learn it properly.
My role at Mysterious Trousers quickly switched to a focus on building a new front-end application using Ember. The rest, as they say, is history; I fell in love with front-end development and Ember specifically, and that has been my focus ever since!
How did reading the Rock & Roll with Ember book help you? Can you recall something that you learned from it?
By the time I read Rock & Roll with Ember, I had been working with the framework for a number of years. We are using it as a training tool at Movable Ink as a way to give a "refresher" to developers that do not work in Ember full-time and as a teaching tool to get people that are new to the framework up to speed. We have even used it to run a weekly book-club where we all went through it a few chapters at a time, ending the week with a discussion of questions we had or things we learned.
One of the things I like best about Rock & Roll with Ember is that it always reflects the "state of the art" of the framework. Our app has been around a lot of years and contains a mix of modern Ember and legacy patterns. I love having the book on-hand as a reference for what is currently the best-practice approach!
Other than reading the book, how did you learn to “speak" Ember?
During college, while at my second job as an Ember developer, I had the opportunity to be mentored by Taras Mankovski. Taras worked with me in an number of ways, but two particular things stand out to me to this day.
Any time I got stuck on a problem at work, he would pair program with me on it, helping me frame the problem in "the Ember way". This helped a lot with learning about how Ember wants to be used. Developing a sense for how to approach problems using Ember in a way that works with the framework rather than against it is a really important skill to learn early on with the framework.
Additionally, Taras was my bridge into the Open Source community. I worked with him on ember-ajax and eventually took that project over as the primary maintainer. This really helped build up the confidence to release software that other people would use. Not only did this help me learn about how Ember addons work, but the experience got me comfortable enough to work in public on many other projects in the future.
What Ember feature/RFC/etc. are you most excited about?
Embroider is the project that has me the most excited right now. Our app is quite large and builds very slowly. My hope is that the new tooling opens up the possibility for faster builds. The new route-based bundle-splitting should also be a great opportunity to ship less code to users. Some parts of our app will really benefit from that.
Is there something you’d like to see covered or explained in more detail in the book?
One area that could be useful to expand into is working with
ember-concurrency. It's such an important part of building Ember apps these days. Understanding when and how it's useful as part of the Rock & Roll book would give new Ember developers a solid foundation for using a tool they will certainly encounter in the wild!
Are there any (side-)projects that you’ve built in Ember? What is it (are they) about?
These days I don't have many side-projects in the coding world, and where I do have time, I tend to invest it into learning other tools or languages. However, I do maintain a number of Ember addons and other packages used in the Ember community. My GitHub profile is littered with different Ember-related projects!
One of my oldest and "favorite" projects is ember-steps, which I built while working on the Nest Store at Google. It provides a declarative API for defining a Wizard- or tab-like experience, where there are several groups of elements and only only a single group should be visible at a time. I love the level of flexibility that a low-level tool like that provides to developers, who can then build their own experiences on top of a solid groundwork!
Another favorite is qunit-wait-for which is not strictly Ember-related but came out of issues I experienced testing Ember applications. It is largely inspired by work that The Frontside did on BigTest and conversations that they had on their podcast about building a robust UI testing framework. This plugin gives you the ability to perform "convergence testing". This approach allows you to automatically re-try an assertion until either it passes or a timeout goes by, after which the assertion fails. This can really help to stabilize flakey tests that are impacted by UI elements that load in lazily or based on user input.
How much time do you have to work on that project?
Over the years, my time on open-source work has fluctuated a lot. I have had periods of time where I was doing that every day, but these days I keep programming to work hours. Thankfully my current role allows me to do open-source work as part of my job!
If people would like to follow you (or your project), where can they do so?
If you want to know about me, my Twitter is probably the best bet. I also have an infrequently-updated tech blog on my website.
If you want to know what I'm working on, follow me on GitHub!
If you've read the book, and would like to give a similar interview, please drop me a line at firstname.lastname@example.org.
If you'd like to join the Rock & Roll with Ember band, check out the book of the same name to learn Ember (and be part of a band).Share on Twitter