I was lost as a philosophy student and a small business owner. The day that I sat down to make a website for the business was my best day of work in that whole three year stretch. I parked myself onto the couch with my dog at my side and made our Squarespace site as I sipped coffee and listened to music. It was then that I knew — this was the kind of life I wanted. At the time, though, it wasn’t even in the realm of possibility. I had a business to run. I had essays to write. I was too busy to even dream of changing careers.

Let’s fast forward four years. I’m now a full-time freelance developer. It took time to get here. As a lifelong learner, I understood that I needed new skills to ensure I wasn’t left behind. I thought: code or Mandarin? Obviously, I opted to learn code. I don’t know what I expected to happen when I begun. All I know is that in one afternoon I built my small business’s website and it changed the way I thought about work forever.

I want to share with you some of the ways that coding changed my life, and how I made decisions and took steps forward in that journey.

Step 1: Get Started

Start with the basics. HMTL and CSS are all you need to build a functioning website. Once you’re comfortable with them, you can start learning Javascript, PHP, Python, Ruby, or whatever you want. It seems like there are an endless number of languages and frameworks to learn. It can be daunting. So how do you know which ones to focus on? I say, try out a few, Codecademy and Code School are great places to start learning for free. See what sticks, and begin investing in more in-depth programs.

There are plenty of free and paid courses online. I did a Front-End, WordPress, and Visual Designer Blueprint with Skillcrush and a Complete Web Developer course through Udemy. But the most important thing to remember when you’re learning is to finish what you start. It sounds simple enough, but once you open up that first door into tech, you realize just how vast it is. It can be easy to get overwhelmed or distracted. I have a list to add new frameworks and languages that I’m interested in learning to avoid getting side tracked and I stick to the current lesson or program I’m on until it’s finished.

Step 2: Pick Your Specialty

So you’ve learned the basics, and now you want to specialize in a field or particular technology so you can level up for the job force? Awesome.

I’d like to highlight no matter what your unique relationship of skills and experience, there is a place for your in tech. It turns out I’m more visual than I used to realize, and organized to. So, I’m best suited to frontend work, design, and project management.

If you’re more interested in how the user experiences the website or app you’re building and you enjoy finding solutions to design problems, you might be best suited for UX Design. Some of you might prefer to dive into complex languages for hours at a time. No matter who you are, if you’re interested in tech, there is a place for you.

There are some great programming language overviews you can check out to learn more about what each language is used for, what kinds of salaries you can expect, and what kinds of applications or systems you might be building.

There are lots of great languages, fields, and technologies you can learn, it’s just about what suits your unique talents and interests best.

Step 3: Know When to Start Applying For Jobs

I got my first developer job before I had even completed the Skillcrush bootcamp. Once I understood the basics of WordPress, and I was fed up enough with the restaurant industry, I took the leap of faith and begun applying to Jr. Front End Developer jobs. I probably wasn’t quote unquote ready. But it was a great learning experience. In the 2018 Stack Overflow Developer survey, most developers expect a new employee to take 1 to 3 months before they can be productive members of the team! So if you get a new job, and you think you might not be ready, don’t worry, that’s perfectly normal! The on-boarding process takes time.

The most valuable thing you can remember here is that no matter what you’ve learned before going in for your first job, the biggest skill that you’ll need is knowing how to adapt to the current environment and how to solve problems. Let’s talk about each of these a little more in-depth.

Current Environment

Every industry, every team, every company has their own unique processes and workflows. While they may look similar from one to the next, there will be differences from company to company. When you’re hired, they teach you all of this stuff, so don’t feel like you need to know every project management software or feel comfortable with every text editor. When I got my first developer job, I expected to be using Github on a daily basis, but we had our own internal method of backing up our work. I didn’t open Github once while I worked there! Every company is different in their methodologies, and you won’t be expected to know it going in. Instead, you’ll be expected to show up, be ready to learn and adapt on the job.

Solving Problems

You may come into a job knowing a little bit of PHP, some basic Javascript, and a bit about WordPress development. You aren’t expected to know everything about every or even some languages. That’s unrealistic of even advanced developers. What you will want to know is how to search for the solutions to your problems. Stack Exchange is the most popular platform for doing this. Or, you might find yourself part of a few Slack teams or have a few friends in the industry that you can look to when you can’t find the solution you’re looking for. The best thing about working with other developers is that you’re a team, and you can solve problems together. Knowing how to pinpoint and solve problems is fifty* percent of the job.

*I just made up this number, but let me tell you, it’s important.

Battling Imposter Syndrome

So what if you’re tired of your job, but not sure if you’re ready to take the leap into tech? Here are some suggestions.

Take a few dedicated weekends to learning as much as you can. You can check out your area to see if there are any upcoming hackathons. This can be a great way to do a lot of coding in a short period of time, and meet other developers while you’re at it.

Create and launch your own website if you haven’t already. Not only will you gain valuable experience through the process of pushing a site live, but you’ll be able to showcase the portfolio of work you’ve done. If this doesn’t apply to you, getting any kind of portfolio together is going to be vital to getting the job or clients you want.

Update your social media profiles to include you new skills. This is especially important for Linkedin. There are recruiters searching for new talent here all the time. You can update your profile to say that you are currently looking. You might do the same on Stack Overflow and GitHub. Keep working on projects that you enjoy, and make sure you’re uploading them to your online portfolio for the world (and all the recruiting managers) to see!

Finally, just start applying. Even if you’re unsure of your skills, the hiring managers are the ones who ultimately decide this. Some jobs have coding exams in the interview process, some require one as part of the submission process, and some will take it on faith that you can do what you say you can do.

You might never feel like you’re ready to apply for jobs in tech, but I urge you to get started in the interview process when you have a good grasp of the languages or technologies you’re learning. I know this is subjective for everyone, but trust me when I say, showing up willing to learn, work, solve problems, and collaborate is everything. If you can do that, you’ll be a valuable team member in any tech field. We are all learning new stuff every single day, so don’t wait until you think you know everything.

Wrapping it all up

Learning to code has truly changed my life. That vision of me sitting on the couch drinking coffee, building my first website, well, that’s pretty much what I do every day now. And you can too!

If you want to know more about my transition from full-time developer freelancer, stay tuned…