I went from English Teacher to making 200k at Uber in SF, then I left it all behind for my freedom, becoming a remote freelance developer.
We all need income to survive, and being able to profit from development allows you to focus on it as a full-time effort. Most of us just don't have the luxury to go full-time on something before we're getting paid to do it.
Real learning doesn't really start until you're doing real-world projects. Once you can start focusing on this full-time, and doing real-world projects, that'll bring your learning to a much higher level.
Let's be honest here, none of us have unlimited motivation. Your chance of success is much higher if you only need to focus on something for three months, rather than a year straight, or more. This is especially true when that effort requires giving up your nights and weekends to learn.
My final point here: do you want to work at Google? I'll be the one to be honest with you, regardless of what anyone tells you, your chances of getting into Google for your first job are almost zero. But you can, and should, work your way up to that by getting some real-world experience first.
So if being a remote software developer is your goal, or if you want to start making money online in a reasonable amount of time, with a reasonable amount of success, then this is the article for you.
Now I want to tell you that in 2021 I started Freemote.
Freemote is the remote developer Bootcamp that takes you from zero to profitable freelance developer. If that sounds interesting, just check out the link below this article.
I know you're smart so you're thinking, "this guy's just trying to sell me something, how can I trust his opinion?" But the fact is, the opposite is true here. My opinion on freelancing being the right choice is so strong that I invested six months of my life into creating Freemote, but I'm still telling you how to get into freelancing for free. So let's get started!
We're going to cover three parts: the problem, the solution, and the best approach to becoming a software developer.
First, let's talk about the problems that almost everyone runs into, including myself: why do most people fail, and why does success actually take so long? I'll make this simple, most people think they have to learn more than they actually do to get a job. Most people start by looking at a college CS degree and thinking "okay I just need to learn all of this stuff somehow." 20 different classes, untold numbers of concepts and programming languages, and all of this before getting paid a dime for programming.
I hate to say it, but even if you learn all of this, unless you're doing it full-time for four years, you still won't know as much as a computer science major. So trying to compete head-to-head is just a losing battle.
The good news is you don't need 90% of this to get your first job as a developer, specifically, if you focus on being a Front-end and not a Back-end developer.
By learning only what is critical to get your first job, you can get employed and start getting paid to learn more.
This basic approach is what Coding Bootcamps set out to do. Many people see this as a magic bullet to get that first development job, and Bootcamps are a step in the right direction to be sure, but they come with their own set of issues:
We're going to talk about the barrier to entry for getting different jobs in the software industry.
First, let's talk about Google. The barrier to entry here is sky high, the highest. For many, getting into Google is the holy grail. Just getting an interview, let alone passing it, is extremely challenging. The only people I know who were hired at Google for their first job have technical degrees from highly prestigious universities.
The next most challenging is what we'll call a full stack developer job. Bootcamps say they teach you how to get these jobs, and they certainly try to. But as we've talked about, the scope of this is very broad and it takes a long time. And because you're not getting that real world experience, you lose a lot of knowledge before you can really use it.
This also means there is a lot of competition with computer science majors for these jobs. Realistically, bootcamp grads are more often competing for the next, lower barrier, which is Web Dev/Front-end jobs. But this barrier is growing larger every year due to the huge amount of competition of people learning that same stack.
Trust me, I coded on hiring software at Uber. All the bootcamp graduate resumes look the same, and we get an absolute ton of them.
The point is, if you're trying to study to go straight to one of these jobs, good luck! It's going to take you a long time, if you can get there at all. Even Web Dev is going to take you quite some time, with the most focused, React approach probably taking you around four months to get it nailed down.
But let me ask you this: what if there was an even lower barrier that you could start with, from which you could then work your way up? What if that lowest barrier even had the same pay as all the other ones?
It's true! There is another type of developer you can become first, it's called a platform developer. Regardless of whether your goal is to work your way up through these stages, or you plan to build an empire as a platform developer, this, if I was starting over, is where I would start.
Even if you don't follow this strategy, I'm sure you'll learn a few interesting insights.
Effectively, what is a platform developer? Basically, it's Web Development plus a niche. This sounds like more than Web Development, but you're actually going for a narrower slice, which has a lot of benefits for you as a beginner developer.
The reason this is the best for developers starting out is because the platform takes care of a lot of complexity for you. On the Back-end, there is a content management system that is intuitive and easy to use, and on the Front-end, there are templates which you can modify, rather than building from scratch. So for you, as a beginner, it's much more streamlined and accessible.
Now even though flexible, these platforms do have limitations. That's good news because they require customizations, integrations, and extensions. In other words: code. You might think that, because this development is straightforward and not that complex, the pay must be lower. And it's actually not.
The reason is because there's so much demand for this development and because of the type of people who are demanding it. People using these platforms are usually two things: busy and not technical. As long as you have more technical knowledge than they do, or if you can save them time, then you can offer them a valuable service.
Since Wordpress and platforms like Shopify are quite user friendly, that means the total amount of people using them is much higher compared to, let's say, people building software and service apps using React.
Every person who builds with one of these platforms is potentially going to need development work from you. Effectively, you can start with bite-sized tasks that are at your skill level. That will help you build up your confidence, start learning, and start earning. You can even start doing this while you still have a job, or are in school.
You can get going with this and only take on jobs that you're comfortable with, at first. This means much less friction and much less imposter syndrome. Doesn't sound too bad, right?
The good news is, this info is quite available online. You can get it a number of different places for free, and it's really high quality. The only problem with these resources is they cover so much, in so much detail, that it's actually hard to finish them.
They are intentionally broad because they want to hit the widest audience possible. In fact, Web Development itself is quite broad with how fast it changes all the libraries, frameworks, and tools.
So just be careful you don't get in over your head trying to take too many courses. In terms of learning, just watching is not enough. You can't be passive about this.
In fact, as soon as you learn something new, you should be implementing it, or coding it yourself.
This is a step where many people fail because they go straight from watching someone build a project to trying to do one of their own from scratch. That is very challenging to do.
So, again, if you can find a course that gives you "training wheels projects," that is, giving you a similar project first and then a prompt, or doing parts of it for you and then making you do the other parts yourself, that's going to set you up really well.
Frankly, this is one thing that coding bootcamps do very well, but I see it a lot less frequently in less expensive courses. Anyway, cloning popular websites or landing pages will always be a good way to get practice. Just build your own version from the ground up. Try to figure out how to build each section, that's a good way to move forward. The bottom line for web development is this: the most important part is not what course you take, but rather how you leverage what you learn.
With basic web development down, step two is choosing a platform you want to be a developer for. So how exactly do you choose? I already mentioned a few: Wordpress, e-commerce, Salesforce, and blogs like Ghost. Let's go through these one by one, then I'll give you my recommendation.
First, we've got blog platforms, which are often run by individuals. Unless the blog is really popular, they probably won't have much cash to throw around. Usually, once they have the blog the way they want it, they won't want to tweak it too much.
Next up let's talk Wordpress, which is a really broad platform that's used to build all kinds of different websites. In fact, much of the Internet is built on it, so there's a ton of work to be found with Wordpress jobs. But your coding skills do have to be quite good because things can get a bit complex with all the plug-ins, and you're probably going to have to learn some php, too.
Let's talk about crm platforms, specifically Salesforce, which I would say is quite a good choice. Unfortunately, Salesforce is used by mostly larger companies, so there's going to be a lower overall volume of jobs. That said, one major advantage it has is you'll be working with businesses rather than individuals.
Lastly, we have e-commerce which, in my view, is the best choice. This could be WooCommerce, Big Commerce, or Magento, which are just Back-end platforms, or Shopify, which has Front-end and Back-end. I put e-commerce development far above the rest for a few reasons:
You've chosen your platform, how do you actually master it?
Well, you go to places like Skillshare, Udeme, and the tutorials the platform themselves built and take in these resources as if you were going to be the one using this platform for real. Effectively, in this stage you want to become a pro level user who knows all the ins and outs, but instead of doing it for yourself, you're going to be doing that for other people, You should be building real practice projects here, so real e-commerce stores, blogs, or Wordpress sites, depending on what you chose.
One thing that will help you take this seriously is putting your projects in a real portfolio, with the full intent of showing these to future clients.
In any case, once you've built several projects and read up on best practices, believe it or not you can now offer consulting support to help people get set up and solve problems on the platform.
At first, I know you won't believe this is possible. But consider this: you spent the time learning this, but many other people just don't have time. They have businesses to run or they just don't want to. They might have complex specifications or a large number of pages, products, or blog posts; therefore, they need support to confidently do it right.
And finally, while you're tech savvy, don't underestimate how many people are technologically illiterate, meaning they just suck with computers and could never figure this out on their own. What's obvious for you might not be obvious for other people.
We're getting there. Stage four is to learn platform development. You have all the pieces. So this is the glue to bring it all together. You want to learn, specifically, how development works on your platform and you'll want to get familiar with common tasks and services that people need.
Knowing when to do development is just as important as knowing how, meaning you're able to decide when installing an app or a plugin might actually be the better option than coding the solution. What you have to learn here is highly platform specific, so I won't get too far into it, but just to give an example, on Shopify you have to learn the liquid templating language as well as theme kit, which helps you do development for Shopify themes, how themes themselves work, and how to do a development workflow.
Learning how to do all this in one place is slightly hard... but Freemote bootcamp actually teaches you all this stuff in a structured way.
Finally, we're on stage five, which is getting paid for your web development platform skills. At this point, instead of grinding to pass the technical interview and sending hundreds of job applications, you can start bidding on real world jobs, or finding direct clients right away. The best part is, you can start finding tasks that are very simple, or rather, at a beginner skill level.
These can be simple things, like changing styles or adding little widgets which, even as a beginner, would be easy for you, but impossible for someone who can't code.
Of course, these are going to pay less, but they will pay. And most importantly, you will be building up real world experience and a portfolio. Overall, your time to first dollar with this approach could be one to two months, whereas the next lowest strategy, the Web Development strategy, is going to take you at least three to six months.
Your learning accelerates when you get real-world projects.
Even if your goal is to get that $400k at Google and the respect of all your friends, this is still a step on your way there. In fact, it will probably get you there faster than studying directly for a high level job.
Let me also say that even if you choose to stay as a platform developer for your whole career, that is a perfectly viable option. In fact, some people even charge up to $250 an hour for e-commerce development, and you can do the math on how much that is per year.
I'll say again that this is exactly how I would get into development if I started over today. So if you want to do it on your own, for free, all the information is here, in this article.
But if you do want more structure, all the resources in one place, a community, and two dedicated technical mentors, well that's the main reason why I teamed up with Jan, a dedicated e-commerce developer with three years of experience, to create Freemote: the remote developer bootcamp. We cover the A to Z of web and e-commerce development, as well as how to make your first dollar freelancing. You'll also be in a community of remote developers from around the world.
Forgive me for the self-promotion, but I've been working my ass off on this for six months, and dumping everything I know into it.
Click to the button below to check it out. Regardless of whether you go for this strategy, I hope I've helped you be more realistic and you're thinking about your learning in a strategic way.