If you’ve ever considered pursuing a career in software engineering but thought you were too old or that your education and career path up to this point weren’t a fit, think again! My path to a career in software engineering is detailed below and let’s just say it was not a straight line, but it was well worth it!
The weather geek
For as long as I can remember I have been fascinated by the weather. Some of my fondest memories as a child were peering out the window as a severe thunderstorm rolled in or waking up in the morning to a raging blizzard outside. My favorite number was, and still is, 56 due to the fact that The Weather Channel was 56 on our cable package.
Throughout my teenage years, I was the local weather spotter for Boston’s ABC affiliate. I would call in local conditions and snowfall amounts during storms and would be mentioned on-air once in awhile. I knew my future career was going to be in meteorology and no one could tell me anything different.
I was a solid student throughout my childhood and decided to only apply to one school, Penn State University. Penn State has one of the best, if not the best, meteorology programs in the nation. I received my acceptance letter before Halloween of my senior year of high school. Everything was falling into place for this future meteorologist…or so I thought.
Total lines of code written by age 18: 0
Skills gained which would eventually help my engineering career: embracing a passion (meteorology) and being a self-starter in learning more about a field
A national tragedy and a change of course
Within the first month of college, my classmates and I were informed that there was a great chance none of us would graduate with a Meteorology degree. I remember all of us laughing out loud. We had all been weather geeks since we could walk. Noooo chance we would change majors.
By the beginning of my sophomore year of college, I started to get bored with my meteorology courses. I loved tornados, hurricanes, blizzards but these extreme weather events do not happen very often. I remember overhearing classmates arguing about whether that night’s low temperature would be 37º or 38º one day and all I was concerned with was where I was going to party that night. It was clear that I needed to make a change, but when you’ve been known as the “future meteorologist” since age five it can be very difficult to tell those you love that that dream is over.
I had my first Computer Science course scheduled for the fall of 2001 but after just one class I dropped it. I decided that computer science was just not for me and my time was better spent in a different class. Oh, silly 20-year-old me ;)
My sophomore year began in the fall of 2001 and on September 11 any childhood innocence I may have had left was gone. Meteorology suddenly felt even less important to me as I began to look for a major, and a future career, where I could have a greater impact.
Around this same time, I attended a free speaker series event on the University Park campus. Chuck D of Public Enemy fame was the speaker that evening. I still remember to this day when he looked out at the audience and urged us, students, not to “waste our time at a great university pursuing someone else’s dream”. That was the push I needed and the very next day I began filling out paperwork to change my major.
I moved to Washington D.C. after graduating from Penn State and within a year was working as a Data Analyst on an Immigration and Customs Enforcement (ICE) contract.
Total lines of code written by age 22: 0
Skills gained which would eventually help my engineering career: time management, advanced mathematics, improved logical thinking
Jaded and restless
I entered my career in Homeland Security with a vision that I would be “protecting the country from terrorists”. This is not what I experienced in reality. It quickly became apparent to me that my job was mostly busy work and that the contractor I was working for was much more interested in securing more Federal contracts while appearing to “fight terrorism” than actually fighting terrorism. In my 2.5 years on the job, I can honestly admit that my work contributed to zero terrorist apprehensions.
I was pretty frustrated at this point but thankfully had the gym as an outlet. Every day after work I would spend a solid two hours lifting weights. I would then go home and prepare eggs, oatmeal, chicken, and sweet potatoes for the next day’s meals. This lifestyle eventually led to a couple of local photoshoots and the opportunity to work with a manager to further this side career. I did some work for Under Armour and Simpson Racing and quickly got the itch to move West to Hollywood to see what I could make out of this opportunity.
Total lines of code written by age 25: 0
Skills gained which would eventually help my engineering career: even stronger self-starter skills, ability to focus on the task-at-hand and remove distractions
I quit my stable job with great benefits while my parents were vacationing overseas and broke the news to them over the phone the day they returned. I do not recommend this strategy for breaking news like this. It did not go over well, to say the least.
After arriving in LA, I found a job working as a graveyard shift Front Desk Agent at a hotel on the Sunset Strip. My plan was to work nights, hit the gym in the morning, and audition for acting roles in the afternoon. This plan turned out to be very naive. I auditioned for a grand total of zero roles as I had failed to take sleep into consideration. I never really got accustomed to the overnight shift and felt like a zombie most days.
I made the decision to move back to my hometown in late 2008 just as the economy was collapsing.
Total lines of code written by age 26: 0
Skills gained which would eventually help my engineering career: the ability to fight through adversity, communication skills, “debugging” (in this case in support of solving hotel guest issues)
Return to the East Coast
I moved back to the East Coast at the very end of 2008 when the economy had hit rock bottom. It took me almost a full year to find another job. In hindsight, I wish I had begun learning to code at this point but it never crossed my mind.
I worked as a Data Analyst on a temporary contract for a little over a year. I had no benefits: no healthcare, zero vacation days, no opportunity to advance. Thankfully, my wife encouraged me to pursue a career in actuarial science. I had a solid math background and actuarial careers pay well so I started studying!
Total lines of code written by age 29: 0
Skills gained which would eventually help my engineering career: analytical skills
I passed the first two actuarial exams on my own which led to an opportunity to work at a local insurance company. This was a huge step up from my prior temp role. This position is where I began to dabble in some “programming” in a way. Most of my days were spent in massive Microsoft Excel files updating and improving macros. I found that I really enjoyed this work although it still felt fairly tedious.
I struggled mightily with the third actuarial exam and ended up transitioning off of the exam track and into an actuarial technician role. This role afforded me the opportunity to begin working with SQL Server. I took to this from day one and had a lot of fun learning SQL.
Total lines of code written by age 32: 0 (unless you count Excel macros and SQL)
Skills gained which would eventually help my engineering career: “programming” Excel macros, SQL
Around this same time, one of my best friends from high school and I decided to work on a health and fitness startup. The basic idea was to connect the millions of health and fitness-related photos shared on social media (meals, supplements, workouts, etc.) to health and fitness companies. You can think of it as a healthy living rewards platform. We called it ConquerFit.
We outsourced development of the ConquerFit app to a local dev team and they delivered exactly what we wanted for our MVP. We quickly realized, however, that our friends and family funding had been blown through and we had a lot of features that needed to be added to the app before it was ready for general public release.
I decided to teach myself to code in order to build the “v2” version of our app.
I felt confident at this point and began hacking on some small sample projects. I cannot stress enough how important it is to begin working on an actual project early on in your learning journey. Working through tutorials is one thing, building an app is quite another. You’ll quickly get familiar with git and GitHub, npm, browser dev tools, and much more.
The sample project I spent most of my time on was something I called “MobSeen”. This application focused on sports events and allowed users to view Instagram photos shared in and around sporting events in near real-time. In order to build this app, I needed to gain a deeper understanding of Node.JS, AngularJS and setting up and managing a database. This turned out to be a great learning experience!
I loved the process of learning, building, stumbling, learning some more, and repeating over and over again. What I found that I did not love was running a startup and thinking about fundraising, marketing, accounting, etc. ConquerFit would fade away but my newfound passion for web development would propel my career forward.
Total lines of code written by age 32: many 😁
Given a chance
I was very hesitant to apply for software engineering jobs at first as I never quite felt “ready”. Thankfully, my wife urged me to go for it and I followed her advice. I was able to get on the Hired platform in the spring of 2015. I originally was only interested in jobs in Central Massachusetts as I wanted to avoid a commute. My recruiter, however, convinced me to expand my search area to Boston and I am so thankful that I did. I interviewed with a half dozen companies before receiving and accepting an offer from Circle.
My first role in this field was as a Software Engineer on the internal tools team at Circle. I was, and continue to be, incredibly grateful to the team at Circle for giving me a chance. I had an awesome manager and was surrounded by an intelligent, hard-working and collaborative team from day one. I can’t say enough about how comfortable they made me feel and how much I learned over those first couple of weeks, months, and years in the industry.
Total lines of PRODUCTION code written by age 34: many 😁
I have spent the last eighteen months in Tech Lead/Engineering Manager roles which have allowed me to further improve my communication, prioritization, planning and management skills. I am focused on giving back to more junior developers and career-changers at this point through blogging, speaking at conferences, building video courses, and mentorship.
Take it from me: you are not too old to start coding, and your seemingly unrelated career path to this point will help you to be a better engineer in the long run. Start learning, start building, and never stop asking questions! In fact, feel free to reach out to me @mattdionis or email@example.com with any and all questions.
Resources that have helped me (and could help you)
- Codecademy (solid for beginners)
- Treehouse (great next step after Codecademy)
- Pluralsight (more advanced, deep dives into frameworks/libraries)
- Samer Buna (especially love his Node.JS material)
- Dan Abramov (incredible deep dives into React)
- The Apollo GraphQL blog (great for beginner and experienced GraphQL devs alike)
- Sarah Drasner (animations, VueJS, and so much more)
- Shirley Wu (data visualization awesomeness)
- Nadieh Bremer (⬆️ ditto)
- Shawn Wang (JAMstack!)
- John Papa (Angular!)
Good luck!!! 👨💻