9 min. read

May 25, 2021

Anyone Can be a Software Engineer

I’m not supposed to be here. At least, that’s how I feel sometimes.

Kaleb-McKelvey

Kaleb McKelvey, Software Engineer

Growing up in a small rural town during the late 1990s and into the 2000s meant having only dial-up internet speed (0.056mbps) for many years. We eventually leveled up to DSL (~3Mbps) around my first year of high school; which, as you can imagine, was still slow.

Our high school had an intro to technology class, but it centered around Microsoft Office without the inclusion of macros in Excel; no programming classes were offered.

Further, It wasn’t as easy back then to load up YouTube for tutorials on any topic. There were resources online to learn programming, but I wasn’t grokking it much on my own. My main focus at that time was a balance of playing video games and sports, as receiving a basketball scholarship and attending university was my main objective.

As it became clear that my basketball scholarship wasn’t forthcoming, getting accepted at the only school I put in an application for, James Madison University (JMU), became ever more important. 

The acceptance letter finally arrived in snail mail and…I was waitlisted. I felt my future crashing down around me - how could I learn programming if I didn’t get into my school of choice? Why didn’t I take more time on the application? 

Fortunately, as I visited our guidance counselor, he helped me write a letter explaining my situation and why I would love to be accepted. A few months later a phone call came from JMU - they asked me to accept!

I was an average college student.

I still remember struggling with my intro to programming class assignments. Our Teacher’s Assistant (TA) Zaid assisted in truly helping me understand the code I wrote. He would say: “don’t just hit run and hope it works”. Our intro class programming assignments were due every two weeks; I quickly learned that if I visited the TA’s in computer labs on the first week, the labs were pretty much empty. 

With procrastination being a thing most of us knew well in college, the few evenings before assignments were due the labs would be packed. In other words, If I didn’t procrastinate, then I would have a lot more time with the TA and end up with better grades. I tried taking full advantage of that!

My university years passed by in a blur and my final GPA was 3.01. As a college student working 20+ hours a week, I was proud, even though I didn’t make top marks. I’ve since learned that my grades weren’t everything though, since many other lessons and knowledge came from my various experiences during that time.

It was because of that 3.01 and my work experiences (my internships and first full time job helped me grow so much), I landed a job at General Electric in their IT Leadership Program. This led me to travel the world, learning from amazing leaders, and working with so many great people; something I would not have guessed would happen to me.

As a few years passed, my time at GE came to an end. I moved to New York City, where I eventually found my way to Disney Streaming Services in early 2020, a few months after the launch of Disney+. Working on a product I sign into and watch amazing shows on regularly has been a dream come true for me. 

Even so, I find myself pondering how this happened. I wasn’t top of my class in high school or college, nor am I the best tech expert in the world. Instead, I recognize that one, I was very lucky in some of the timing of opportunities brought my way; and two, it was my attitude and grit that has led me through many parts of the journey.

It’s not about being smart, it’s your grit

Computer science and programming don’t require being a wiz at math or being the smartest technical expert. Of course, these things help. Learning to speak the right jargon and knowing data structures is very important, but without grit when fighting through a new challenge or learning something new, you will only fight so hard before giving up.

Many of us struggle finding our way through tough bugs. We sometimes battle learning a new subject or technology that isn’t making sense. It can be frustrating. 

Like wanting to throw your computer out of the window frustrating. 

But once solved, whether it’s a few hours or a few days later, the rush of dopamine from the accomplishment is unmatched.

This same feeling happened many times while learning how to program. Some would say learning to do so is impossible for them - I’d disagree! Persistence and grit is key, which is in your control :). 

The key is continuously learning and staying positive throughout! Trust me, it’s worth it.

Programming isn’t just math or writing if statements; instead, we get to own the creative process we use to solve tough problems without straightforward answers. We learn and research every day while collaborating with teammates, high-fiving or fist-bumping with happiness when something finally works. Together our teams create art and display our elegance as a story we tell in code. 

We are in charge while expressing ourselves and solving problems; it’s amazing!

Thinking About Grit in My Own Career

Grit and attitude shows up throughout my own career.  First and foremost, I listened to feedback from people smarter and more experienced than me. It’s not always easy when someone gives constructive criticism, and you don’t have change every time someone does, but listening and reflecting to determine whether or not to incorporate the feedback is key. Having an attitude of growth and learning will take you far!

Secondly, reading books about soft skills, leadership, and personal development helped me develop the correct mindset as a life-long learner. People are experts and author books based on a whole life’s worth of experiments or expertise; we’re lucky enough to have the opportunity to learn from it from the pages they write!

Lastly, I tried my best to look at each challenge as a growth opportunity. This meant being comfortable being uncomfortable, leading to failures and successes that taught me important lessons that I will never forget.

Anyone Can Become a Software Engineer

There are countless people in the industry who have similar stories: People who switched careers in their 30s, 40s, or 50s. People who had no formal schooling that became great engineers. I’ve met high schoolers at hackathons, learning and developing. Colleagues who went from spreadsheets and macros to learning SQL and managing databases, because they found it more fulfilling.

We continue to see the growth of demand for software engineers, while the supply can’t keep up. There are jobs with great salaries and benefits, working on great products that help change the world. 

There’s a misconception that working in tech or even at a great tech company means being the absolute best technically speaking, but there is much more to being a Software Engineer than technical expertise. Being able to adapt and learn, work well with others, and persist through tough challenges are just as, if not more important. I’ve put together a guide for interviewing in the past - learning those fundamentals and growing your soft skills can be done by anyone, not just “smart” people.

By sharing my story, I hope to inspire and show that being a Software Engineer demonstrates one doesn’t need above-average smarts or super math skills. All you have to exhibit is a positive attitude, some grit, and a continuous learning mindset.  Three things anyone can do!