I’m taking part in this Q&A as part of an effort to introduce the world to the Engineering team at Optimizely. If you’re interested in joining, we’re hiring Frontend Engineers in San Francisco and Austin!
Tell us about yourself! What’s your name, what do you do at Optimizely, and how long have you been here? Tell us a bit about your trajectory to get here.
My name is Jess, and I’m a Senior Software Engineer working on Product at Optimizely. I’ve been here for 2.5 years. I got here via the I/Own It scholarship program, which was originally conceived to grow our WomEng population. I cannot overstate how much this scholarship changed my life.
Last year everything came full circle when I ran the program for the second time. You can read more about it here.
How did you figure out that this was what you wanted to do?
I started making websites in 1999, when I was 13 years old and still using dial-up. I would spend hours poring through tutorials on htmlgoodies.com, painstakingly positioning tables and frames, exchanging design ideas and HTML tips with my Internet friends, and uploading my sites to domains that were owned by other teenagers. It was empowering, and I was part of a supportive community.
I’ve actually blogged about my “Internetolescence”, a core part of my teenage identity, but it never crossed my mind that I could make a career out of making stuff on the Internet until I was well into my adulthood. In high school I was drawn to the arts and social sciences, and I studied Geography as an undergrad at Vassar because it addressed the core questions I had about the world, namely: “How/why does where you are born impact how you live and how you die?” I didn’t know of anyone who was pursuing software engineering in school, or, in fact, as a career. In truth, the only formal computer science education I’ve had was my seventh-grade computer class, where I made a calculator with Visual Basic. I was definitely most excited about styling the calculator (It was purple and yellow, and labeled ~*JeSsIcA’s fUnkEe caLcuLatOr!!*~).
Somehow I turned my middle-school hobby of making websites into a career. I freelanced for several years making websites before I landed at the job where I used Optimizely.
What’s it like to be a Frontend Engineer at Optimizely?
My day-to-day consists of doing code reviews, reviewing engineering design docs from my peers, scoping work, 1:1s, and of course, writing code.
As a Frontend Engineer, I see myself as the final gatekeeper before a feature reaches an audience. I have to ask myself many questions as I’m developing: Is the code I’m writing performant? Is the UI I’m building or reviewing for a coworker intuitive to use? How can I make this easy for the next person to build on?
Frontend engineers are distributed across different “squads” or teams, but we convene every two weeks at the Frontend Community of Practice (or Frontend COP), which is led by individual contributors. Anyone can put whatever they want on the meeting agenda. We’ve talked about things like ES6 conversion, security, data validations, tests, code coverage, code organization, and interview questions for incoming candidates. We’re in an interesting moment because we’re in the midst of shepherding a migration from VueJS to ReactJS. We handle application state using NuclearJS, an open-source project first developed here at Optimizely by Jordan Garcia. What I’m learning is that the engineering challenges are not exclusively technical; many of them are interpersonal. For example, how do you sell people on an idea? How do you convince people with competing (and often conflicting) agendas that refactoring is a good thing?
What have you been working on lately?
The last few quarters, I’ve been midwifing Multivariate Testing to completion. One of my squad’s main goals is to get Optimizely X to feature parity with Optimizely Classic, and Multivariate Testing is one of the remaining pieces. Multivariate Tests allow customers to test multiple different factors on their sites to see what combination of factors has the best outcome. We made full-factorial Multivariate Testing generally available in March, and are about to release partial-factorial testing. I hope that customers love it. I’ve been monitoring the usage dashboard for our product (we use a Chartio built by our inhouse Chartio wiz Jon) and watching more and more customers use it.
It’s been really cool to drive Multivariate Testing, especially because I used it in Optimizely’s Classic product, when I was a customer! It’s also been a cross-functional effort, requiring work on the backend, frontend, event infrastructure, QA, and client. By far the best thing about working on this project has been my team.
I’m also fresh off of a two-week rotation as a Support Engineer for my squad. As Support Eng, we’re required to basically drop everything that we’re doing and focus exclusively on resolving bugs. I love the adrenaline rush I get when I can reliably reproduce a bug and solve it… but I’m always relieved to come off the rotation because working with a constant sense of urgency (or panic) is exhausting and not sustainable.
Outside of the Eng org, I also co-chair the Diversity and Inclusion group here and ran the second iteration of the I/Own It scholarship. Last year I was the Ambassador for the ADEPT organization for Optimizely.org, our company’s social impact arm. I think John Leonard, who manages Optimizely.org, does very impactful work driving volunteer activities and giving us ownership to run programming ourselves. Last year I ran a day where we hosted high school CS students and ran a couple of clothing drives for St. Anthony’s. I also volunteered as a mentor with BUILD; we worked in small groups to help high schoolers build skills in marketing, technology, and entrepreneurship. The programming that we do in partnership with BUILD is run completely voluntarily by my colleagues — it’s really special.
What’s unique about engineering at Optimizely?
I am surrounded by smart, passionate, collaborative, and wonderful people who genuinely want their peers to succeed. I feel like my peers 110% have my back. We also have a tremendous amount of ownership over our own work.
I feel supported by my manager, Asa, and am constantly pushed to do things that I’m afraid to do. I was lucky to have the chance to be a tech lead/epic owner on two features and to work on the same team as some of the most generous, fun people here.
This isn’t so much related to engineering, but I suppose it’s illustrative of how I’ve been encouraged to grow: I have a terrible fear of public speaking. In seventh grade, everyone had to give speeches in class; as soon as I opened my mouth to deliver my speech on dreams (wherein I kept pronouncing ‘Freud’ Frowd’), the piece of gum that had been marinating in my saliva for an hour fell onto the floor. Knowing about my fear of public speaking, my managers found opportunities for me to lead onboarding sessions for technical new hires, and I’ve had the chance to speak on several diversity-related panels here.
Another thing I love is that our leadership is incredibly open — we all have a direct line to Bill, our VP of Engineering; every time I meet with him, I come away with the sense that my opinions matter, and that my feedback will turn into action.
The Engineering organization is very democratic. I love the energy that fills the room any time we run an ADEPT-wide retrospective. It’s like a weird family reunion, but with lots of Post-Its and Sharpie fumes, and the knowledge that our feedback will be heard, considered, and acted upon! I like that we’re not dogmatic about our approaches to work, and that we are flexible.
Lastly, I love that engineers also have a lot of input into product. We’re encouraged to come up with test ideas and to dogfood our own product. (I hate that term. I prefer “drink our own champagne” even though that sounds very Marie Antoinette-ish).
Also, I’m part of a group called WomEng. We meet at least once a month for lunch and other activities. A few weeks ago we took a self defense class! I love that we have such varied interests — yoga, running, improv, skiing, sewing, art, pool.
What advice do you have for other engineers?
- Debugging is your best friend.
- Have compassion! Realize that everyone comes from a different background and perspective, but that ultimately, everyone wants a good outcome at the end of the day.
What do you do outside of work?
Outside of work, I like to sew, knit, read, make Kombucha, bike, watch TV shows whose target audience is teenagers (cough Riverdale cough), and write incredibly lame limericks about work. Here are a few:
TODAY I LEARNED I TALK TO MYSELF.
“Excuse me,” says Matt, from my right,
“But I’ve overheard much of your plight.”
“I’m talking?” I ask.
“Yeah! Throughout your whole task!”
(I’d assumed my thoughts were out of ear sight!)
Johanna spent hours on the spreadsheet.
She filled it in all nice and neat.
But no autosave
Meant the outcome was grave…
Next time she’ll hit Save on repeat!
SUPPORT ENG ROTATION
The line changes were meant to be few
for the bug at the top of the queue.
It was very unpleasant
to find my assessment
was so poor, it made James stew!