You read the title right!  I was offered a development position with a  company and after some negotiating I accepted their very generous offer!

I am beyond blown away, excited, happy, and (if I'm being 100% honest) terrified - in a good way though.  I'm still in disbelief that this is really happening but ecstatic to start working on production code.

I've had a lot of people ask me to distill my journey into an article to share and help others.  So, buckle up because here we go.


Getting Started

I've always been interested in computers, tech, etc. Like many people my age, I got to 'cut my teeth' with development by creating a GeoCities site and later by personalizing my MySpace page with some basic CSS.

I didn't know it at the time but this was development, a crude version of it but still development nonetheless. At that time, I didn't know that people would pay for this kind of work or I might have stuck with it. So, I went to college and got a degree in nothing tech related - psychology. Not a useless degree, but one I ultimately never put into professional use.

Finding My Calling

Fast forward to the summer time in 2016 where I found myself with an abundance of free time on my hands outside of work.  I had always wanted to teach myself to code/program and decided now was the time - no more delay.  With the amount of free and accessible resources online to teach myself how to code it was the perfect time to jump in.

I started by searching for resources and came across Codecademy. I took handwritten notes by copying the entire question, answer, and result into a notebook.  I wrote down everything thinking that I would need it. I came back to these notes from time to time to review them. It's also interesting to look back on them and compare what I considered difficult then to what I consider difficult now. ?

A friend introduced me to freeCodeCamp because he knew I was self teaching and told me this platform was built for people like me.  I had planned to check it out, maybe do one or two lessons and then go to bed.  I finished the entire section on HTML that night!  I was hooked.

The more I learned the more questions I had.  I felt this urge, this pull to find answers to those questions.  So I continued on working through the lessons and projects.  I finished 2 projects before the curriculum was overhauled and revamped on freeCodeCamp.

I was finding any excuse to learn and work on projects.  While I was standing in any line waiting for something I would pull out my phone and instead of looking at social media, I began to read web development articles or watch a development related video.

I feel like this was a major shift in the way I viewed downtime as compared to previously where "mindless consumption" ruled my time. (If you enjoy social media or funny animal videos I'm not calling you mindless, I'm simply saying that type of consumption typically doesn't require you to be engaged.  It's the type of consumption that you can do on auto pilot and frankly I still do it from time to time.)

During that time I had bounced around the various different sources and was like a kid in a candy store.  At one point I had a folder that had roughly 300 links to material I had planned to work through.  I now know that finding a resource and sticking with it is far better than hoping from one resource to another.

I was doing all of this at night when my wife and daughter were asleep.  I was staying up until 12:30 AM sometimes as late as 2:00 AM and then having to get up at 6:00AM to do my normal day job.  At first, when the topics weren't as mentally taxing this was not an issue.  But as I started moving into JavaScript, learning the basics of networking, servers, accessibility, etc I noticed that the later it got, the more difficult it became to keep my brain engaged.

Needless to say, this routine only lasted a few months before having to change it.

I didn't want to stop working on projects/learning but I needed to alter my schedule in order to benefit my well being.  That's when I decided to go to the other end of the work day spectrum.

I started getting up at 4:00 AM, instead of staying up late, to learn and work on projects before going to the gym then starting my day.  I must say, this was a pivotal moment in my journey because I started to retain more of the information I was learning and that ultimately helped me move forward with more projects/material.

Also, this is the time when I started to buy up every resource I could find (Udemy courses and books mostly) dealing with any aspect of web development.  I can tell you that this isn't a wise (or financially sound) choice to make.  If you find a resource you like and that you're learning from then stick with that resource until it's exhausted.  The last thing you want to be doing is jumping to the new resource each time you find one like I did.

Grow With Google & Udacity Scholarship

GrowWithGoogleDeveloperChallengeScholarship
The image that came with my acceptance e-mail

In January 2018 I applied for and was awarded a scholarship to Udacity's Front-End Nanodegree program.  This was not only an awesome opportunity to help propel me towards my goal but a humbling experience as well.

I came into this program with a basic knowledge of HTML, CSS, and a small portion of JavaScript in the vanilla flavor.  In this course I was introduced to jQuery, functional programming, object-oriented programming (OOP), test driven development (TDD), accessibility, servers, API's, basic networking, React, AJAX, and so many more facets of web development that I hadn't previously been exposed to.

I'll be honest, it wasn't always easy or fun and there were times I seriously considered dropping out.  I felt like I would never learn these concepts and that I was in over my head.

I'm happy that I didn't quit because no one ever accomplished their goals by quitting - first and only cliche statement I promise :D

I had the chance to build many awesome projects like the Card Matching Game, Arcade Game Replica, Restaurant Review App, and the Neighborhood Map App.  More than the projects though, I got to meet many great people and valuable experience collaborating with other developers in the course.

Without this course, I can truly and honestly say that I would not be where I am today.  I gained many valuable experiences and lessons in this 9 month course.

Job Hunting...dun dun duuuuunnn!

sven-mieke-fteR0e2BzKo-unsplash-1024x683
Photo by Sven Mieke on Unsplash

At this point I had been working diligently (sometimes slacking off as well) for about two years.  I did not feel as though I was job ready but a friend who became my mentor told me that I'll never feel ready.  He said that I should apply and if I get interviews then let them tell me I'm not ready if that's the case but to not exclude myself from an opportunity.

So, with a metric ton of fear, anxiety, and doubt I decided to start applying for jobs.

At first, I was only applying for jobs where I met the majority of the qualifications.  I can tell you now that this is not the way to do it, however, at the time I was terrified that someone would actually call me about an interview. (Later down the road I was applying for anything that interested me.  Senior developer - sure, I applied for that.  Front-end ninja with React skills - yep, threw in an application for that as well.  API developer with SQL experience - oh yeah!  I applied for that one as well.  I did this because you never know what will come of your application.  Maybe you don't get hired for that senior role but maybe they like you and your personality so much that they ask you to interview for their junior role.)

That's exactly what happened after I'd been applying for about 3 months.  I got a call for my first interview!  I was so happy and scared at the same time.  Now the pressure was really on.

I read articles, brushed up on my interviewing skills, read books, asked my wife to quiz me on topics, and tried to run through different scenarios that I thought would come up in the interview.  I also prepared questions for interviewer because I wanted to know what it was like to work at this company.

Ultimately, I did what I wasn't supposed to do; I convinced myself that this was the perfect job and I wanted it.  I wanted it more than anything I could ever remember wanting.  I built it up as something that I had to have.

The day of the interview came and to say I was nervous is an understatement.  I was sweating bullets.  I answered all of the questions and when it was my turn I asked the questions I had prepared.  After it was over I left feeling like the interview went well.

Ultimately, I didn't get the position and I was crushed.  I felt like everything went like it should have but for some reason the stars just didn't align.  Little did I know that this would be a common pattern among my interviews.

I decided not to let these disappointments define or destroy my confidence.  I started working harder, learning more, using that disappointment I felt to fuel my passion.  I would do whatever it took to ensure that one of these interviews would end with a full time offer.

Here are some metrics about my job search:

  • Applications submitted across all platforms: 271
  • Any form of contact from company after application: 28
  • Phone Interviews: 7
  • In person interviews: 8
  • Job offers: 3 (one was contract with the (small) possibility for full time, one a part time freelance gig, and the eventual offer that I took for a full time position
  • Companies that ignored me after expressing interest: Too many to count

If you are applying for jobs, in any field, don't let the numbers discourage you!  Yes it is disheartening, yes it can be daunting, yes it stinks to fill out an application and never hear anything back, but don't quit!  You can do this!  I'm proof!

This is by no means an exhaustive list of tips/tricks but below are some pieces of advice I've picked up along my journey to getting a job in development:

  • Develop thick skin - it's a must!  Companies will disappoint you
  • Apply for anything you're interested in
  • Apply even if you don't meet all of the requirements (this is what I did and also how I landed my first developer job)
  • Spend time perfecting your resume
  • Just because companies turn you down doesn't mean you're a failure
  • Show companies you can do the work by building projects outside of tutorials
  • Ask for help if you need it (this was a hard one for me to learn)
  • Apply for jobs on all of the major platforms but don't forget that platforms like GitHub jobs also exist
  • Ensure you take care of yourself - get enough sleep, exercise, eat healthy (it's important for overall health!)
  • Don't be afraid to take breaks
  • Don't compare yourself, your job search, your situation, or your skills to others
  • If it takes you 3 months or 3 years (like me) remember, this is not a race
  • Work hard, learn well, and never give up!

As always, I wish you nothing but the best in all you do.  If you need advice or help I'd be glad to do what I can.  Connect with me on Twitter or LinkedIn.  I'm always willing to help and I love meeting new people!

I also run a personal blog where I write articles related to web development.  While you're there consider signing up for my newsletter that I send out once a month with articles and great finds from around the web.

Have an amazing day and happy coding!