Never Too Late to Learn: My (meandering) path to a career in software engineering
Tags: beginners, career, javascript, webdev
Published: 2019-08-27 21:02:22


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.

![The Weather Channel logo](https://thepracticaldev.s3.amazonaws.com/i/89wioabkouyurz7s208p.png)
*Old school Weather Channel logo. Oh, the memories!*

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](http://www.met.psu.edu/) 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.

![Fitness modeling profile](https://thepracticaldev.s3.amazonaws.com/i/bbkazznuc3qc37d4iibf.jpeg)
*Fitness modeling photoshoot circa 2007*

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***

## Hollywood dreams

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.

![The Hollywood Sign](https://thepracticaldev.s3.amazonaws.com/i/wy5nm9e8yxsmy4oe5jg9.jpeg)
*The backdrop to an interesting 15 months of my life*

After arriving in LA, I found a job working as a graveyard shift Front Desk Agent at a [hotel on the Sunset Strip](https://www.morganshotelgroup.com/mondrian/mondrian-los-angeles). 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](https://en.wikipedia.org/wiki/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***

## Avoiding risk

I passed the first two actuarial exams on my own which led to an opportunity to work at a [local insurance company](https://www.hanover.com/). 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.

![Example actuarial exam problem](https://thepracticaldev.s3.amazonaws.com/i/tajpu9w0dt7rfy7yhbrf.jpeg)
*A sample problem from an actuarial exam. I do not miss those days!*

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***

## Embracing risk

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](http://outliermagazine.co/matt-dionis-conquerfit-interview/).

![ConquerFit app prototype screenshot](https://thepracticaldev.s3.amazonaws.com/i/1nkbi447p621uk762wti.jpeg)
*An early prototype of the ConquerFit app*

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 dove in head first starting with [Codecademy](https://www.codecademy.com/) which I found to be an excellent first resource. After working through all of the JavaScript, HTML, CSS, and SQL material on Codecademy, I moved on to [Treehouse](https://teamtreehouse.com/).

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](https://git-scm.com/) and [GitHub](https://github.com/), [npm](https://www.npmjs.com/), [browser dev tools](https://developers.google.com/web/tools/chrome-devtools/), 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!

![MobSeen app screenshot](https://thepracticaldev.s3.amazonaws.com/i/4ptwwv5t8d318b7zf4fn.png)
*The MobSeen app showing photos at Super Bowl XLIX!*

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 😁**

***Skills gained which would eventually help my engineering career: HTML, CSS, JavaScript, git, GitHub, npm, browser dev tools, debugging***

## 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](https://hired.com/) 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](https://www.circle.com/).

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 😁**

## Giving back

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](https://twitter.com/MattDionis) or [mattdionis@gmail.com](mailto:mattdionis@gmail.com) with any and all questions.

## Resources that have helped me (and could help you)

### Learning platforms
* [Codecademy](https://www.codecademy.com/) (solid for beginners)
* [Treehouse](https://teamtreehouse.com/) (great next step after Codecademy)
* [Pluralsight](https://www.pluralsight.com/) (more advanced, deep dives into frameworks/libraries)
* [Egghead.io](https://egghead.io/) (awesome JavaScript content)

### Instructors/bloggers
* [Samer Buna](https://medium.com/@samerbuna) (especially love his Node.JS material)
* [Dan Abramov](https://overreacted.io/) (incredible deep dives into React)
* [The Apollo GraphQL blog](https://blog.apollographql.com/) (great for beginner and experienced GraphQL devs alike)

### Twitter follows
* [Sarah Drasner](https://twitter.com/sarah_edo) (animations, VueJS, and so much more)
* [Shirley Wu](https://twitter.com/sxywu) (data visualization awesomeness)
* [Nadieh Bremer](https://twitter.com/NadiehBremer) (⬆️ ditto)
* [Shawn Wang](https://twitter.com/swyx) (JAMstack!)
* [John Papa](https://twitter.com/John_Papa) (Angular!)

### Podcasts
* [React Podcast](https://reactpodcast.simplecast.fm/)
* [React Round Up](https://devchat.tv/react-round-up/)
* [Undefined](https://undefined.fm/)
* [Fullstack Health](https://fullstack.health/)

***Good luck!!!*** 👨‍💻