How I Weighed My Education Options When Becoming A Software Engineer

I Used to Market Delightful Products and Experiences for People, Now I Build Them!

Amanda Aschenbrenner
Capital One Tech
7 min readMay 1, 2018

--

This post originally appeared on lemonwater.io.

Prior to switching career fields into Software Engineering, I was a top-performing Product Marketer and Product Manager at Capital One. I worked in the UK, marketing career opportunities and studying current and potential candidates for our Tech organization. I became extremely familiar with what it meant to be a strong candidate in these fields and what the day-to-day projects and expectations were like. And, while writing our recruiting literature, I started to question why I wasn’t filling one of these recs with… well, with me.

In college (‘uni’ for my UK readers) I pursued a Business Degree, but my electives showed a clear interest in Software Engineering; something I didn’t realize until much later. I had elected to take packaging science, history of computers, and web design courses with my extra credits, whilst many of my peers were selecting scuba diving or flower arranging. I had a passion for graphic design and math, passions I had expended in Marketing, but why couldn’t that be expended in Software Engineering?

So I started listening in and paying attention to different aspects of the meetups I was attending (with the original intention to attract strong candidates). I was mesmerized by content about chatbots and Serverless technologies. I started to take some free courses online and build applications to explore if this was as fun as it was in college. When it surpassed my expectations and I started declining social engagements to stay home and test my Alexa Skill, I started researching how I could go about switching careers. Becoming a Software Engineer was becoming a real possibility.

Assessing Options

Today there are many options to train to be a Software Engineer. These options include, but are not limited to: independent study, on-the-job-training, code school, and traditional university education.

I thoroughly evaluated all of my options to pick the right course of action for me for both short and long-term results. If you’ve decided to move into Software Engineering like I did, or are just gathering information as you consider the change, I hope this helps you understand the breadth of options available as you work to find the one that’s best for you.

For simplicity’s sake, I see the vehicles to become a Software Engineer falling into three main categories:

  • Independent study using various online resources.
  • Participate in a boot camp.
  • Earn a university degree.

Additionally, the criteria I used to help make my decision between the three included:

Likelihood of Job Placement/ Fit — Will my desired employer hire me with this experience? Entering into this new field, there are two cultures to consider: company culture and general tech culture. Will I like working in either?

Risk — What if it’s not all I dream it to be? What’s my re-entry strategy to my previous career or even another career if this one’s not for me?

L-T Marketability — My personal brand and the marketability of my skillset for this new position. Beyond how I felt, I also had to consider where I wanted to work and what the likelihood of being recruited would be.

Cost — There are two costs to consider here:

  • Monetary cost of the education.
  • Opportunity cost of my compensation while learning.

I did also factor in return on investment into my calculation. Compensation for Software Engineering is quite high and on the rise as the demand for this talent pool far exceeds the supply.

I encourage you to leverage this template to weigh the criteria as best suits you! In the criteria matrix below, “+” represents the least favorable option(s) and “+++” represents the most favorable options as I saw them.

Now, I’ll share some of the reflections and thoughts I had that influenced my personal scoring.

My Decision to Pursue a Boot Camp

For my personal needs, according to this criteria matrix, boot camps were the way to go. What was going through my head regarding that option?

Boot Camps — Likelihood of Job Placement/Fit

For Junior Software Engineering roles, I felt assured the boot camp route was a hirable one. I looked up numerous job descriptions for companies I was interested in and a majority of them said something to the effect of “BA/BS Computer Science degree or related technical field, or equivalent practical experience.”

In regards to fit, there is indeed a different culture in Tech vs. Marketing. Because a boot camp is shorter than other education options, it promised the ability to dive in and experience that fit in a shorter timeframe. Some cultural differences I’ve observed after finishing a boot camp and making the move into Software Engineering:

  • In Tech, communication is more frequent, but the communication is more digital. I find there is less face-to-face interaction and more computer-to-computer interaction. Slack has now become my current most used communication channel. This is sometimes hard for my bubbly, outgoing self though! I’ve adapted by getting my verbal communication fixes outside of work, instead of on-the-job like in my previous role.
  • In Tech, timelines for work are shorter and the work is more digestible. As a newbie, I feel an Agile environment helps me get to producing quality code faster as groomed stories thoroughly lay out the tasks required to meet the acceptance criteria. It’s very satisfying to check items off my “to-do” while completing JIRA stories. The daily check-in also helps remove some of the goo and raises impediments to the right folks quickly.
  • In Tech, the gender balance is in direct contrast to the marketing world I came from! On my team, three of our five members are female, but this isn’t necessarily the norm.
  • The culture is surprisingly subjective and creative. Because there are so many technologies, languages, tools, and ways to program a particular piece of logic, there’s a lot of subjectivity in how a project is designed.

Boot Camp Risk

The thought of leaving my role for a few months to a little under a year was scary. I rationalized that the reason for leaving was to pursue a passion and learn a valuable skillset. Additionally, if it didn’t work out, my marketing skillset would still be current. These factors would put me at a lower risk in regard to being hirable in my previous position if Software Engineering did not work out. This is a very subjective criteria with the potential to vary widely from person to person. Make sure to put adequate time into considering your own personal risk factors when deciding.

Boot Camp L-T Marketability

Boot camp and work experience are incredibly valuable, but even for a star engineer, some roles will have formal education requirements. In these instances, your marketability to those companies will be low. I encourage you to take the time to research this up front to make sure a boot camp would qualify for the companies you are interested in. Remember — you can always attend a boot camp now and do a formal university degree later when you’re ready to level up to more senior roles.

Boot Camp Cost

I was lucky as my chosen boot camp did not require a gap in work ( and hence income) and had low out of pocket expenses. Often, boot camp options are less expensive when compared to pursuing a degree, although this will vary from program to program. In addition to the cost savings of a boot camp, with a quicker timeline to completion, the boot camp route saves on opportunity cost in the form of lost income. Some programs operate solely through night classes, so that you don’t even have to stop earning while pursuing your additional education.

How Did My Journey Go?

In the end, I choose a program that combined a two-month on-site classroom training and a six-month on-the-job internship. During the classroom training portion, I learned coding languages, tools, and computer science principles and built three web apps. It a was super-fast 2-months, but I became familiar with the curriculum and learned how to adopt new technologies quickly.

During the classroom training I learned:

  • Languages — Java was our main language for back-end web development, while HTML, CSS, JavaScript, AngularJS shared the floor for front-end web development. We also learned to access and manipulate data using SQL and played around with Python, GO and Spring.
  • Tools — Some of the tools we became intimately familiar with included: GitHub, Cucumber, Gherkin, Postman, Chef, Jenkins, and AWS(S3, EC2, and Route53).

The learnings in the internship varied by placement — mine helped solidify my knowledge of Python, Java, AWS, and Jenkins; as well as adding Spark, Splunk, Docker, JMeter, and Ruby to my toolset.

I am incredibly satisfied with Software Engineering as a career — big thanks to my incredible Capital One network for encouraging and enabling me to make the switch!

At the end of the boot camp, I went from being a Principal Associate Product Marketer and Manager to a full-stack Senior Associate Software Engineer. On the other side of the boot camp, I could see myself returning to school one day to earn another degree. But at this point in my career I am learning a ton through work experience.

This post originally appeared on my blog lemonwater.io. Check it out for more content on getting started as a junior software engineer!

DISCLOSURE STATEMENT: These opinions are those of the author. Unless noted otherwise in this post, Capital One is not affiliated with, nor is it endorsed by, any of the companies mentioned. All trademarks and other intellectual property used or displayed are the ownership of their respective owners. This article is © Capital One 2018.

--

--

Amanda Aschenbrenner
Capital One Tech

Colorado native, Former Marketer turned Software Engineer, UF grad.