My web development journey started in my last year of UNI, I was a Business major and realized that I couldn’t do this for the rest of my life, so naturally, I started researching things I could do from home and make money.
From Zero to Freelance: My Journey of Learning to Code and Landing My First Job
8 min read
I skipped the whole "5 easy steps to make money today" or "Pay $10 now and I will give the secret to making 10k per month" and decided to go for an actual skill.
At first, I tried learning social media but gave up only after 3 weeks. After this I decided to give programming a try, this was in September 2018 as the last year of UNI was starting.
Before this I had only played around with some game development back in high school, so I had some basic understanding of coding but at the time I was a complete beginner by all means.
The first language I started learning was Ruby with the book Learn Ruby The Hard Way.
The approach I took was:
What I loved about this book was the hands-on approach, it makes you go out there and take action before you can move to the next step, which Is the most important thing to keep in mind when learning to code. It's not about how many tutorials you watch or books you read, but rather how much time you spend behind the keyboard.
After 1 - 2 months I felt like a had a basic understanding of the language and decided it was time to move forward, researching I found out about Ruby on Rails and that knowing this framework was a must if I wanted to get a job.
I found an online course on Udemy and started doing it, coding alongside the instructor and also coding my own project after finishing up with lessons, this is the best tip I can give you and I think it's what made a difference for me, not only should you code with the instructor but you should also start your project the earlier in the course the better.
The application we were building was a blog, for my own project I decided to build a portfolio website as this I thought was the most similar to a blog. The point of building your application is to try to copy the concepts of the course but on your own, while doing it on your own you will struggle of course and that's how you know you're growing.
After finishing this course, with all the confidence I had I decided to try to get a freelance job, however when I tried to find something on Upwork I saw that job posts for ruby devs were looking mostly for senior devs.
I also noticed that Javascript jobs were way more frequent and beginner friendly, this is when I decided that I wasn't job ready and I needed to learn JS and become more proficient with HTML and CSS before trying again.
So I did the same steps as before now with more confidence, this was January of 2019 my plan was to learn what I needed, finish UNI and get a freelance gig by September.
I got to work, since my time was very limited I allocated 1 hour in the morning where I would watch a course or read up some tutorial, and 1 - 2 hours in the evening where I would apply what I learned that morning.
To be honest, this system worked most of the time, I admit that there were days when I skipped it altogether. But my aim was to do this for at least 4 days per week.
Skipping ahead, I firstly learned JS, then moved to NodeJs and built a web app that lists events and speakers, for a school project using Node, it was a simple app but it helped me grasp the backend side of this more firmly.
After this, I had a break from coding for almost 4 weeks, as I had UNI work and was about to finish. Then summer came and I found out about React, so I bought a course and did my usual work, by the end of the summer I had finished React and built a simple ride share web app with it, where a user could add a specific time and date, point A to point B, and other users looking for a ride in that specific time could find it easily.
By August, I had 4 personal projects that I built while learning, all that was missing was a portfolio, I got my hands dirty and started working on it, I had a friend who helped me with the design, so by September I was ready to go.
However, when I started applying to gigs on Upwork I wasn't getting any responses from any clients. Seeing my history now I realize that I applied to more than 30 jobs before finally getting it. The thing about Upwork is getting your first client is the hardest thing to do on the platform, after you get that it's way easier getting your second or third.
An important tip for standing out is to have your profile with 100% completion, when I started applying I had written some vague description of myself, added the projects with just one picture of each, and a bunch of skills that didn't really represent what clients were looking for.
After failing with more than 20 applications, I decided to fix things up, first thing I did was to look for other devs that had a similar experience as me on Upwork and copy their style, doing this and learning more about how clients see proposals, how experts layout their profile helped me make mine more look more professional.
When I propped up my profile, I still got no responses for the next 5 - 10 applications, I almost gave up. Until one morning I receive an invitation to interview, I felt like that was the best moment of my career. I replied immediately, which I think it's something clients really appreciate, the sooner you can reply the better.
The message read: "Thank you for your reply. please complete this exam. we would like to test your abilities. It should take around an hour to complete.", I immediately sat down and got to work, the exam was a simple one.
The web app they were working on was a food ordering platform based in NYC, the exercise I had to complete was a simple fetch from an API, which returned some types of food, which I needed to sort and display by category.
I took 2 hours instead of the allocated 1 as I wanted to make it as perfect as I thought I could. And I sent it in, 2 days passed and they: "Hello Damian, my developer has reviewed your code. Can you please skype me @client-name".
In my head I was like this is it, I go out to the balcony take a deep breath come back, and start the call. At first, I was scared and barely said a word, and after 5 minutes of a monolog by my client it was time for me to speak, I decided to be completely honest, and told them my story, and we ended up talking for about 45 minutes and they said that they would let me know by the end of the work day if I had made it.
20 minutes later I get an offer of $8/h, accepted it and my Upwork journey started. I ended up working with them for over 1 year and made it to $14/h, the senior dev there was amazing and helped me a lot throughout the whole journey.
Upwork and freelancing changed my life In ways I didn't think possible. The freedom it gives me to work from anywhere at any time is something I wouldn't change for any job. Now three years later and I am getting contracts worth $50/h, and it makes me think that anything is possible later down the road.
The biggest advice I could give you is to find long term clients, and have at least 1-2 long term clients that will give you consistent work, in this way you can sure you're not sitting on your ass, and that you have at least a few hours of work per week to keep you motivated.
For me, this was the key to success, after the first above-mentioned client. I was out of work for 3 months, I took this time to work on my skills, it was way easier with a year of work experience. After that, I got my current long-term one, and it's been going on for more than 1 and a half years.
That's it, I hope you enjoyed my story.