From pre-medicine track to software engineer in 2 years

I had no degree, and no job prospect. But, I knew a career switch, would be worth the risk. And so I began my journey to the tech industry.

What's up! Who are you and what do you do in the tech industry?

My name is Steven Natera and I am a Senior Software Engineer at Harry’s. I was born and raised in New York city. I rep The Bronx whenever I can! My family is from the Dominican Republic which makes me Dominican (que lo que). I went to DeWitt Clinton High School in the Bronx. I am a first generation college graduate who studied at Connecticut College. Later, I graduated with my Masters from Washington University in St. Louis.

At Harry’s, I am responsible for building the system's infrastructure for our core services. My team sets standards on monitoring, observability, and distributed systems architectures on our Kubernetes clusters. We manage our AWS infrastructure via Terraform, attend conferences, and give internal training on how to build applications on top of Kubernetes.

Before I joined tech, I was a biochemistry major in undergrad on track to become a doctor. I learned how to code the spring of 2014, my junior year. I was hooked on coding. By the time I graduated, I decided I wanted a career as a full-time software engineer. I had no computer science degree, no job prospects, and no connections in the tech industry. At 21, I started my journey to become a full-time software engineer.

What's your backstory and what motivated you to join tech?

My introduction to tech started first semester sophomore year of undergrad, when I met a transfer student studying computer science. After hanging out a few times, I started asking him questions about his major. I was unfamiliar with computer science mainly because my immigrant mother convinced me--after years of repetition--that the medical profession was the only career that would pay well. Man was I wrong.

In one of our conversation, he shared with me how much money he was getting to intern at Amazon for a summer. I almost fell out of my chair. Amazon gave him a full-time software engineers salary for only the summer. The company even paid for his housing; a nice hotel nearby. He showed me the bill for the summer. Amazon paid an unbelievable $21,000 for the summer. When I saw those numbers I was amazed. I knew a college degree would earn you more money, but never did I imagine you could make $150,000-$200,000 in total compensation at 21.

He said the demand for software engineers was so high you could get a job, that paid $100k minimum, without a college degree. Those were the most motivating words I heard, but I was stuck. I was deep into the rigid coursework of a biochemistry student on a pre-med track. A degree change was out of the question. However, in the back of my mind, I plotted ways to move into the tech world.

The opportunity to test the waters came in the spring of 2014. In that semester, I had finished my core degree requirements. I had room for 1 elective course, and that was when a light bulb went off in my head. I signed up for Introduction to computer science.

After the first assignment, I was in love. I enjoyed creation. Coding exposed me to a form of artistic expression I never knew was possible. I had the ability to create applications from my imagination. From that point on I took 4 more courses before graduation to get as much academic exposure as I could. By graduation I wanted a job as a software engineer. Even though, I had no degree, no job prospects, and few contacts in the industry, I knew this career switch, would be worth the risk based on the conversations with my friend.

How did you break into the tech industry?

Since I had no real plan to execute at the moment, I moved back home. The biggest challenge, to be honest, was convincing my immigrant mom I did not waste my time in college. She was supportive but made a point to remind me--frequently--about the new direction. She would ask every time I gave her an update, if I wasted my time in school or if school was worth it. Each time I explained things to her I became emotionally exhausted. With time, I blissfully ignored her comments. I knew she wanted me to admit college was a waste but I held onto my convictions. I knew this career change was the best path forward for me.

I spent the summer after graduation searching for a full-time software engineer job. I created a resume targeted a software engineer jobs, with the 5 computer science classes I completed. In the mornings I applied to jobs. The afternoons are when I would self-study computer science fundamentals using MIT OpenCourseware, and other computer science university syllabi. Or I would practice coding puzzles. I worked on projects in the evenings (the most enjoyable part of my day).

With this system, I got 0-2 interviews a month. Though, I never got past the technical phone screen. I bombed those coding interviews so bad I would cry often. There was no tangible way for me to assess if I was getting better. My hopes were crushed each time I failed. The promise land seemed impossible to reach. (Here you see tech industry gatekeeping at its finest.)

At some point I managed to secure an unpaid software engineer position at a 5 person startup. I figured it would be good for the resume. My only expense for the job was buying a Metrocard to get from the Bronx, to Brooklyn. The gig lasted 2 months. You can only burn so much money until it starts to hurt. With my options running low, my life savings running dry, I got a job at the Bed Bath & Beyond near my home. I worked there until I figured out what to do next.

Every day at work, I would contemplate my lack of computer science degree. Was this piece of paper costing me a job and a better life? The other thought that crossed my mind was that I was a person of color. What is the probability that I could finesse a job in the tech industry without a degree compared to a white person? Chances were slim. Grad school now seemed the only viable option. But, where would I even start?

After work, I would look for Masters programs in computer science. To narrow down the list of schools, I looked for GRE optional programs because I had no patience to prepare for the GRE. I filtered for spring admission because I was impatient with the uncertainty in my life. A few schools showed up on the list. I applied to City College of NY (my safety school) and Washington University in St. Louis (my reach school). I heard nothing from either school until November.

I got denied from City College. Just my luck to get rejected from a safety school. Ironically though, WashU accepted me. That’s right, I got accepted to the expensive, private school with a more exclusive selection rate. I never heard of the school up until that point, nor had I ever been to St. Louis, which apparently was one of the most dangerous cities in America. I had no better options. In December, I booked a flight to St. Louis, used a student housing group on Facebook to find an apartment, and left to start a Masters program in January 2016.

Once grad school started, life felt darker. I took $109,000 in student loans to attend WashU. I had few friends since I joined mid school year. I had no car to get around. One semester I got placed on academic probation; I could’ve been kicked out from the school. I got held up at gunpoint while walking to the grocery store. I stopped going to school for 10 days. The trauma of a threat of death by being shot left me shook. Two weeks later, my grandmother died. I flew to NYC for the funeral. More school days were missed. Fortunately, I survived.

Life did not break me. I made a few good friends inside and outside of school. They became part of my daily routine, we hung out, and they held me down in my hard times. They kept me sane. I am eternally grateful for the stability they brought to my life. Once I graduated in May of 2017, I had enough money from loans to cover rent and expenses. I used that money to take two months of vacation--best gift I ever gave myself.

What was the interview process for your first tech job?

Around July 2017, I started searching for a job. I fixed the resume with my degree, coursework, side projects, and the limited startup experience I had from unpaid jobs I took in the summer. I took the shotgun approach to job searching. I applied to every software engineering role. I started with job listings on On LinkedIn, I would friend request anyone at a target company with the title software engineer. Once connected, I would ask if they were hiring. I found some success in getting the initial phone screen scheduled, but again, I kept bombing those coding interviews.

Eventually I messaged a friend, who I met at a startup I worked for (unpaid), that was working at Harry’s. He told me about a level 1 software engineer role on their internal job board. He explained to me the role. I told him I was interested, gave him my resume, and heard back from a recruiter a few days later. She explained the role in-depth, asked me salary expectations, and then scheduled a phone screen.

The phone screen was a front-end challenge using JSFiddle. I shine most when I can build a live project. The interview went well and I was invited onsite. They flew me out from St. Louis to NYC and got me setup with a hotel near the office the night before. The next day I arrived at the office, for their interview series.

The onsite interviews consisted of 5 sessions. The first one was with a Director of Engineering. We did another JSFiddle coding exercise. The next interview was with a product manager. These questions were behavioral, focused on how to work in a cross functional capacity. The next interview was with HR--more behavioral topics. Next, I had another JSFiddle exercise focused on ReactJS with another Director of Engineering. The final interview focused on systems design. After the onsite, I got an email follow up from the recruiter asking for references, and for updates to my job search. I sent my references and I told her I had an onsite interview for another company coming up, but that this job was my top pick. (I think that worked in my favor.)

I flew back to STL to wait for final decisions. One day later, I received a phone call from the recruiter she told me the offer over the phone. I was excited. I told her, I’ll get back to her after I talk with my family. Two days later, I signed the offer letter, and we scheduled my start date. Four years since I first learned how to code, two years since I graduated with a Biochemistry degree, and three months after graduating from my Masters in computer science, my dream to be a software engineer came true. Yay!

Since you’ve started your tech career, how do you deal with imposter syndrome?

It never feels like you get over the feeling of being an imposter. I center myself by realizing all that we know, is learned. We learn by personal experience or from the experience of others. Therefore when I don’t know something, I know I will encounter an experience at some point in my life, that will better inform me of what I should know in that moment. (And I’ll watch a ton of Netflix because that brings me joy!) All I know is that I worked hard to get here. I am a software engineer and nobody can tell me otherwise.

What resources did you use to prepare for this journey?

The best part of this list is that each one of these items is free!

  • MIT Open Courseware. I lived on this site for months after I graduated. Since I didn’t have the degree, I needed another way to supplement my missing fundamentals. I watched a lot of the lectures on algorithms, data structures, discrete math, and anything else focused on fundamentals. I would read the syllabus to understand what I should know, then go learn from sites, books, or other university syllabi found on Google.
  • One month. I learned how to build multi-tier web applications with Ruby on Rails.
  • Heroku. I deployed my portfolio apps on this platform.
  • Digital Ocean. These docs are great and helped me understand how to work with a cloud server as well as navigating the Linux OS, which was helpful when I debugged my first application in production.
  • Leetcode. Though I'm weak at coding interviews, I found this website to be most helpful. I practiced for interviews using this site, but in general I focused more on learning practical applications of programming by building and deploying web applications.
  • I used this site to apply to startups when I needed experience and they wanted someone to do unpaid work. In general I never stayed more than 3 months at a place that was not paying me a software engineer salary.
  • Pramp. This site is perfect for mock coding interviews. Do these 1 or 2 times per week when you are interviewing. It’s immensely helpful to be in a live setting coding with a buddy.
  • LinkedIn. Connect with recruiters or view their profiles to come up on their radar. Connect with other engineers to expand your network and also have more people that can refer you to positions.
  • Twitter. Good for learning in public, connecting with other people on your journey, and building your personal brand.
  • Meetups. Good for visiting offices to see how it would be like to work there, connecting with other engineers that you can share your story with, and finding leads on where to apply. You might not be working with them at their company but attendees could refer you to other places they’ve worked.

What advice do you have for others who want a career in tech or are early in their career?

Take that first step today. Take that programming class you've been thinking about, go to that meetup you’ve been scared about going to because you’re new, watch that tutorial you’ve put off, write that blog post you’ve been sitting on, apply to that job you think you’re unqualified for, or apply to the bootcamp you’ve heard about recently. Whatever it is you need to do to move you one step closer to getting that job in tech do it now. Don’t wait. Everything will start to fall into place the moment you take the first step. Opportunities will open for you.

Interviewing is hard. It’s exhausting. Coding interviews are the worst of this industry. But know it’s part of the process, unfortunately. You will get rejected, often. But remember even you’re starting out, engineers are in high demand, since you are one, you are in high demand. They want you. Now show them you’re smart enough to do the job.

Where can we go to learn more about you or keep in touch?

You can follow me on Twitter @stevennatera. I love tweeting about Kubernetes, ReactJS, and GatsbyJS. You’ll find tweets on entrepreneurship, diversity and inclusion, and other people who are killing it. My DMs are open!