My Journey Into Software Engineering

Leonardo Diaz
6 min readJun 23, 2021
TLDR

April 2019

Universal City, California. It’s past 2 AM and the silence is abruptly shattered by my car dashing out of the parking structure. The windshield immediately fogs up as I enter into the night and turn onto Cahuenga Blvd. There isn’t a car in sight. It’s the perfect atmosphere to re-evaluate my life.

I graduated from California State University Long Beach in 2018 with a bachelor of arts in Narrative Film Production, a degree that means nothing to the industry but everything to a first generation college graduate and a son of immigrants. I don’t regret going to film school. In fact, I loved it. The classes offered were interesting enough, but the best part about school was working with and learning from other eager creatives. I owe a lot to the instructors that saw potential in me, and prepared me as much as possible to hopefully find consistent work in the film industry.

By the end of 2018, I landed a job as a Runner at a well known visual effects studio. I worked like hell and never complained about the tasks assigned to me. My contract was only a few months with a chance to be extended if I earned it. A month in, it became clear that I did not want to stay past my contract. I had ambitions on becoming an editor and wasn’t seeing any upcoming opportunities.

Fortunately, a few days before my contract ended, I caught a break. A creative director at the company had just started ramping up on a highly anticipated project. He quickly found out I can cut and was signed on to be an Assistant Editor on a tremendous project for NBC Universal.

I thought about where I saw myself in 10 years. Initially, working on film sets or for a post-production house was what I envisioned, but my perspective on life had changed.

I turn onto Barham Blvd and cruise on. All the lights are green, or quickly turned green for me. I’m fortunate and humbled to have this project as my first assistant editing job. The editors working with me were talented and willing to teach me on the job. After this gig, I would have an easier time finding my next one and be on track to eventually making the switch to editor, but I didn’t want to. On this pensive drive, I made up my mind to try something else.

I started learning web development on my free time.

May — October 2019

The project wrapped and it turned out really well. I was proud of it. I continued learning web development throughout the summer. I took a course in college so I had some reference to look back to but most of the learning consisted of resources online and for free. By the end of the summer, I became familiar with the basics of Javascript and started looking into learning a framework.

Like before, I stopped to re-evaluate if web development was where I saw myself in five years. I heard it’s a lot easier to land a software engineering role having the skills of a web developer but that wasn’t what I was after. I use my mobile device more than I use my computer. Working on an app that I use and others use sounds more fulfilling to me.

By the end of October, I began learning iOS Development.

November 2019 — April 2020.

I approached learning iOS development the same way I approached learning web development, with free online resources.

I had more confidence going into Swift, because of the basic programming I learned with JavaScript.I can’t describe the feeling I felt when I first successfully ran Xcode to see a basic label in the simulator, but it gave me the confidence needed to keep going.

I made it a point to study iOS development at least five to six days a week. I found that this was the line between making fast progress and not getting burned out.

I wasn’t writing code everyday, some days I would spend learning fundamental computer science but the important thing was being consistent with applying what I learned.

Around this time the pandemic was rising and stay at home orders were beginning. I viewed this as an opportunity to further improve my skills.

I enrolled in a remote iOS bootcamp.

April 2020 — July 2020

Programming bootcamps are not cheap and are a bit of a financial risk. Students are not guaranteed a job at the end of graduation and most bootcamps require all the money up front or take a cut of your paycheck [when / if] you land a software engineering job. With the money I had saved up as an assistant editor and moving back in with my parents, I took the risk.

Solid arguments can be made on why people shouldn’t go to a bootcamp and I know plenty of working self-taught developers that made a career change. However, I went into the bootcamp with the mindset of, “what I put into the bootcamp is what I’ll get out of it.” In hindsight, going to a bootcamp was worth it for me; for the most part.
I met some incredible mentors and students, published two apps in the App Store, and got a brief introduction to technical interviews.

Interviewing for Software Engineering roles is a skill itself. Knowing how to write Swift code and how to use Apple’s APIs is great but already expected and makes up a fraction of the interview process.

September 2020 — February 2021

I waited about a month after graduating my bootcamp to start applying to jobs. Partially because I was feeling slightly burnt out, but mostly because I was scared. I didn’t feel ready to apply for jobs. I keep learning the hard way that I will never feel completely ready to do something new. The best way to get better at something is to just do it and embrace all outcomes.

Applying to jobs with no relevant work experience is like writing a letter to Santa Claus. You get excited initially to send it, you get anxious as days are going by, and most of the time you don’t hear back.
If you do hear back it’s some generic template with your name attached to the top to make it feel personable. (The upside with writing to Santa Claus is you get a higher probability of receiving gifts.)

A couple weeks went by and I started hearing back from recruiters. I was getting asked to do initial phone calls with recruiters at start ups and small companies. More weeks went on and I was hearing back from HUGE companies and started getting further in interviews.

Interviewing at larger companies also comes with larger amounts of stress.
These companies will often have interviews focusing solely on Data Structures and Algorithm, architecture, and live coding. I hustled on Leetcode and Hackerrank everyday but in the end, luck has a part in what kind of questions you will be asked and hopefully it’s similar to a question I have practiced.

With every rejection, I found myself improving how to better explain my personal projects and programming concepts. My perception of interviews shifted an intimidating examination to a technical conversation with potential coworkers.

That being said, getting rejected sucks. It sucks even more when you make it to the final round several times. The best thing to do is thank the people that interviewed you and leave yourself opportunities to apply again. Impressions are huge and if you leave a good impression everywhere you go, it will open more opportunities.

I applied to about 240 jobs and received my first offer in February 2021.

--

--