How I Taught Myself How To Code

& got into tech without a degree

Where I Started

In 2015 I graduated High School with a 3.6 GPA, with a single extra curricular: Building Trades.

What is Building Trades?

In my high school we had a program that allowed you to learn construction and build a house for auction every year. I did this for 4 years (9th - 12th grade) and learned everything from drawing plans, to estimating material, and of course… how to build a house.

The main catalyst for joining this program was because I knew early on I had no desire to go to college, and I always liked to build things, and wasn’t afraid of hard work.

I’m grateful that I went to a high school that had this program, and hope it exists for when my kids are of age to enroll.

Each day we would go to “class” and put on our tool belts, meet with the teacher, and begin working. It was incredibly fun, and was a great way to learn a new skill.

What Happened After Graduation?

I was one of 50 classmates… yeah 50. It was an incredibly small school. I played football, and was one of the more “popular” (gross) kids in my grade… I guess.

Well, me and my high school sweetheart (now wife) got the statistical surprise of being pregnant in High School… oops.

I think most kids would be terrified, but I was excited. I grew up rough, and had to mature early.. so it wasn’t as scary as it was exciting for me.

But… this completely eliminated College as an option for me, I needed to figure out how to provide and quick.

I graduated on May 15th, 2015, and joined a well-known construction company in my area on the following Monday.

I made $10 an hour, and fortunately because of Building Trades, I had plenty of experience right after school to do well.

I was a top performer, and over the course of 5 years I had got $7 in raises… not bad.

But it still wasn’t enough. I was working overtime, away from home, and constantly missing out on the little things with my now 5 year old.

If you have never worked construction… it’s hard. Brutal even. But it is honestly very fun, fulfilling, and you make some great friends along the way. I don’t regret starting in construction, and I learned some lifelong skills that will continue to pay dividends to me and my family.

Okay.. but what changed?

I was working late one evening, on a Saturday, at a job out of town. This was the 4th week in a row where I was working 6+ days a week, and 12-15 hour days. The money was… great, mostly. At that time I had this mindset of if I want to earn more money, I need to work more. Period.

That was the entire mindset in the company, and not to sound like I wasn’t grateful… but I was LITERALLY trading time for money, and it was hard work. Long hours, lots of manual labor, and frankly… I was tired.

I was venting to some gamer friends in a Discord server I had made back when I was streaming on Twitch (maybe I’ll share that one day), and basically said “okay, I’ve had enough”.

Fortunately I had a friend named Brad, who had started working in Tech right after High School, and he met with me on a call to tell me how I should get started.

His advice was to learn CompTIA, and get my A+ certificate so I could do IT Support/Help Desk work. Well, that paid less than what I earned now, but I knew it was a decent start to get my foot in the door.

I studied every evening, and went to take the first half of the test… and failed by 2 points…. damn.

This was a wake up call for me because I realized that I always enjoyed building things, and the idea of help desk and support roles were… unappealing to me. So I started looking into code!

Why I Decided to Learn to Code

I knew that if I wanted to earn more, I needed to learn a higher paid skill. Since IT wasn’t appealing (despite wasting time taking a test), I started looking into code as a career.

The main things I wanted out of a new career was:

  • Flexible hours

  • Higher pay per hour

  • Home more often

As a young father, I was pissed at myself for not being home enough, and it was putting a strain on my marriage. I was also carrying around 15k of credit card debt because the bills just weren’t adding up, and we had a VERY frugal lifestyle.

I was done. This clock in clock out mentality and not having enough to cover the bills? What about retirement? Will I work the rest of my life…. just to die eventually? (morbid, I know).

So I started looking into how to even get a job as a programmer and quickly realized I had 3 paths:

  1. College

  2. Bootcamp

  3. Teach myself

College VS Bootcamp:

There’s a ton of content online about bootcamps versus college, and frankly… I don’t have a clear definition on what makes the most sense for you, or anyone for that matter.

The main things that made me decide to teach myself is…

College is expensive, would be on their schedule, and would require me to work less.

Obviously, this wasn’t an option. Sure.. the payoff would be huge, and it would be a short amount of time considering everything, but how on earth would we continue to survive and pay our bills with me working LESS and paying for school?

“I could get a second job” - I thought

“We could move in with your parents?” - I proposed to my wife

Okay, maybe a shorter transition is best?

So I started looking into bootcamps and realized quickly that it was nearly JUST as expensive as a college degree, and despite their claims online… their job placement rate was very very low. (Read the Reddit horror stories)

And while I was researching all of the same question kept popping up in my head…

What if I don’t like it?”

This ultimately was the deciding factor on the path I would take, at the time I had decided that I would learn for free first, just to see if I really enjoyed it before making a larger commitment to something else like college or a bootcamp.

This felt like the obvious decision, because if I enjoyed it enough I could make a more informed decision on the kind of commitment I wanted to make.

The Resources I Used

It can be overwhelming to know where to start when learning how to code, and the best place in my opinion, is YouTube.

YouTube has TONS of creators that share coding tutorials, and educational content about learning, and I’ll share the creators that I started with as a jumping off point:

FreeCodeCamp

FreeCodeCamp is a wonderful resource for learning the basics, and honestly you could use them entirely to learn enough and build somethings, but what I found with free code camp is that it’s not structured enough.

Traversy Media (previously Brad Traversy):

Brad has several courses that are 100% free on YouTube (and some paid on Udemy), that cover web development and several other tools like Git and is the first creator that I followed closely.

I learned the MERN stack first, and pretty much used his content exclusively for 6 months. I built some projects, but was not enjoying Web Development much… it was boring.

But I also purchased some paid courses from him on Udemy, which you can wait for the “sale” event, and get for under $30. Udemy goes on sale quite often, and he also has promo codes in his videos for discounts as well.

These are the Udemy courses I finished from Brad:
MERN Stack Front To Back: Full Stack React, Reduc, and Node.js

If you’re just starting out, any amount of learning of Web Development is useful, as the internet is built on web… shocker I know.

Then I started learning Mobile:

After finishing this course I started to network with other Web Developers on LinkedIn (Do NOT sleep on LinkedIn… I still get my jobs from this platform)

I had noticed that despite building on Web I was primarily visiting it on my phone, and then I got an itch to learn how to build a mobile app.

So I began researching that and decided to learn Flutter!

What is Flutter?
Flutter is a cross platform technology developed by Google where you can build iOS, Android, and Web Apps all from a single code base.

What’s more, is when distributed with Firebase… you can host all of your projects pretty easily and deploy each platform.

Since I enjoyed Brad’s course on Udemy, and I knew the basics.. I decided to find another course on Udemy. I wish Brad had one, but he was primarily focused on Web Development.

I found Angela Yu, and cannot recommend this course enough if you want to learn Flutter.

The Complete Flutter Development Bootcamp with Dart

What I learned the most out of this course is that I LOVED building mobile apps. After going through this course I had a few portfolio projects, had learned a lot about software development as a whole, and decided it was time to take things to the next level.

Freelancing.

Why Freelancing Is The Best Way to Learn

Before I dive into how I got started freelancing, landed my first clients, and all of that… I want to put a few ideas into your head that may change your view on freelancing.

  1. It’s not as difficult as you think:

    You can get some difficult clients, but overall you can commit to projects you feel comfortable with, and grow from there.

    Don’t feel overwhelmed like you don’t know enough, you do. Just start.

  2. Get paid to learn:

    Truth is 90% of what you learn is from NEW problems and building something valuable. Those tutorial projects and course projects are great for learning the basics and the “how”, but you won’t really know enough to get a job until you build something valuable.

    Freelancing is the lowest barrier to entry for this.

  3. Get Testimonials:

    Assuming you do well enough, you can get client testimonials that will actually help you get a job in Tech if you decide to continue down that path.

How To Land First Freelance Jobs

There are several freelance platforms out there, but I really only recommend Upwork.com

Freelancer.com is a SCAM, do not work there. Trust me.

I will make a larger post about this in the future, but here are the 4 rules I follow TO THIS DAY, for landing jobs on Upwork.

  1. Find Low Competition Jobs

    In Upwork, you can use filtering to find jobs with:
    - Low proposals (less than 10 ideally, but <20 for sure)
    - Based on experience (entry to start)

  2. Check client activity first


    In Upwork, you can view client activity. This is important because if the job was posted say… 3 weeks ago, and the client last viewed it 3 weeks ago. Chances are they are no longer looking. Move on.

  3. Watch out for Scams

    Starting out it can be difficult to know what jobs to actually apply for, and which are legit and not a scam.

    In general, I would recommend ONLY working with clients who have payment verified and have hired before.

  4. Custom Proposals

    DO NOT just submit a half-ass proposal. Read the requirements, and sell yourself. This is no different than applying for a job via a Job Application. You HAVE to stand out.

    Here is a introduction idea:

    Hey there! I am very interested in this project because [INSERT REASON]. I am new on UpWork, and trying to get my first clients. As such, I am willing to work below the rate you have submitted to get some testimonials.

    Here are some things I’ve built that show I can do this project:
    - [PROJECT LINK]
    - [OTHER PROJECT LINK]

    What separates me from the rest:
    - [Sell yourself here]

    My Promise:
    - [Insert guarantees like no payment if you aren’t satisfied]

Landing My First Job

While I was freelancing, I was sharing the things I learned on LinkedIn, and also any client work I was getting. This is incredibly important, because it shows that you are actively working and open to new positions.

That being said, each day I would find companies that I wanted to work for, and try to connect with people doing the job I wanted, at this time it was Flutter, but I also branching out to find iOS, Android, and even Web jobs.

It’s not that difficult, go to a company, go to people, search by role:

Then, just go to their profile and click follow and connect.

Interact with their posts, make an effort to speak with them, and if you get a successful connection request, spark a conversation via messages!

What was my first job?

I landed my first job as an iOS Developer with First Orion in October of 2021, through networking and speaking with recruiters directly through LinkedIn.

Since I had client work, testimonials, and a portfolio… I just had to pass the technical assessment.

I’ll make a post about that in the future, because prepping for those is a full time job in itself.

Conclusion

This was my first post on this platform, and I have a lot of learning to do, but if you’re wanting to learn how to code, I promise you it’s still possible to do it on your own.

The economy is in rough shape right now, that’s not a secret, and landing a job in tech is even harder than it was 4 years ago, but it is possible.

You can do it without a degree, you can do it on your own, and you don’t have to enroll in a bootcamp.

Guess what? The interview process is exactly the same, regardless of your path. It’s truly up to your own preferences, how dedicated you are, and the resources you have.

Your situation may be different, perhaps you can’t dedicate yourself to teach yourself, perhaps you can afford college, perhaps… you want a bootcamp and the network that comes with it.

It’s entirely up to you. Just start.

Reply

or to participate.