Interested in working with us? We are hiring!

See open positions

My Journey to Engineering

Sadie Wilhelm Written by Sadie Wilhelm, October 29, 2015

AdRoll — Part I

As a high school math teacher, I never imagined that I would become a software engineer, but here I am.

After teaching and running a math tutoring business for five years, I began to yearn for a new challenge and started to tackle Codecademy’s Python course. By the end of the section on for loops, I was hooked; the structured way of thinking that programming required jived with my math brain, and I knew that I needed to find a job that would allow me to explore this new interest. I began to apply to analyst roles, while simultaneously cramming SQL into my brain. After a couple months of working on these basics on my own, I managed to pass the AdRoll interviews and convince the CFO to let a math teacher help him with company analytics.

In my Business Intelligence (BI) role, my appreciation for programming soared to even greater heights. I devised scripts, in both R and Python, that ultimately allowed me to automate elements of my job, eliminating approximately 60 hours of work per month. This role afforded me the freedom to learn new technical skills that allowed me to excel in my work, while also helping me discover my passion for coding.

Given this revelation, I decided that I wanted to transition to a full-time engineering role, but I was acutely aware that there were fundamental gaps in my knowledge base that I would need to fill before qualifying for such a transition. In order to acquire this knowledge, I knew that I would either need to engage in several months of self-study outside of work or fork over thousands of dollars to attend an accelerated engineering bootcamp. Ultimately, I chose the riskier approach, leaving my secure job and selling my Mini Cooper to fund Hackbright, a 10-week software engineering fellowship.

Hackbright

At Hackbright, I had the luxury of focusing all of my time on coding for 10 weeks, which allowed me to build a more cohesive foundation of knowledge. The first five weeks were classroom and lab-based education focused on the fundamentals of modern day web development, and in the second five weeks, I built a full-stack web application from scratch.

With an enriched skillset, bolstered confidence, and a web app built, I began the process of studying for technical interviews. This was an incredibly daunting task - how would I learn all of the things?! Did I need to know pre, post, and in order traversals of binary trees? Did I need to know how to write merge and quick sort?

I quickly came to realize that I would never learn all of the things. It’s not possible, and frankly, it’s what I love about this field of work. There is an endless supply of things to learn, and for this reason, I’ll never get bored. So for the purposes of studying, I just started chipping away at a list of concepts. Repetition proved to be deceivingly valuable, stumbling through a problem the first time, doing it faster the second time, and maybe even discovering a more optimal solution the third time.

Once I had accepted that I would never know all of the things, I understood that I would also never feel “ready” to start interviewing. So I just had to start. This was the most terrifying part of the whole journey, as I knew that I would fail some interviews, and I was very concerned that I wouldn’t get back up after a rejection. What if I didn’t know something in an interview, knew something but completely blanked, thought of the more optimal solution as soon as I left the building? All of these things happened, but shockingly, it didn’t hurt that badly when I fell, and I did get back up because I was hungry and determined.

AdRoll — Part II

After interviewing and receiving a couple of offers, I decided to return to AdRoll’s engineering team, most significantly because of the supportive culture here. Throughout my time on BI, my hiatus at Hackbright, and my interview process, there was always a team of my peers and superiors who were cheering for me. Knowing that I would have that encouragement as I embarked on this career transition was truly pivotal in my decision.

In addition to the aid of the supportive environment in which I have the privilege of working everyday, I have also personally taken measures to ensure my smooth transition to engineering. Firstly, I quickly constructed a support team that I could go to with a wide array of questions - everything from setting up my dev environment to codebase specific concerns. I took a “spread the love” approach with these folks and would rotate through them. In this way, I was able not only to be proactive about my learning, but also to establish relationships and allies within engineering immediately.

Additionally, without the warm, fuzzy blanket of Hackbright wrapped around me, I quickly learned to be my own cheerleader and celebrate my victories, even the tiny ones. I chose this path because it is hard, and the challenge is part of the thrill, so it is hugely important that I allow myself some (smug) satisfaction when I finally get that unit test to pass. Those are the glorious moments that make this type of work so rewarding.

Lastly, I had to fight off the self-constructed notion that I was an impostor or a fraud and convince myself that I could contribute right away. Whether it’s teaching someone a new built-in Python method or my fresh perspective on a piece of code that uncovers a gap in test coverage, I have been able to add value, and I will just continue to add more.

In closing, I can honestly say it has all been worth it. The long hours, the leaps of faith, and the various unknowns have all led me to what I have been searching for: unending intellectual stimulation (with a paycheck). I am eternally grateful to those who first gave me a chance at AdRoll and to those who have continued to support me throughout my tenure here.