If I could travel back in time, I'd get a coding job much faster because I'd avoid many mistakes.
At first, I tried learning by watching tutorials and memorizing everything. I had to pause and self-reflect on my learning techniques. Afterwards, it took me 6 months from starting to learn coding to getting my first job, and I didn’t go to any live bootcamps.
I tried lots of things, from free YouTube videos to costly courses, but they didn't help me become good enough for a job. I want to share what I learned from my mistakes, including my top tip for creating projects quickly and the moment you go from a beginner to someone who can learn any coding stuff.
Step 1:
The first step is to pick a flexible programming language that lets you choose between different career paths. This increases your chances of finding a beginner job. I recommend Python or JavaScript as your first programming language. Python is becoming really popular and is good for backend web programming, data science, and machine learning. With all the excitement around AI and ChatGPT, Python skills are in high demand.
JavaScript is versatile in web development. It used to be just for the front end, but now it's also used for backend work. You can't go wrong starting with Python or JavaScript.
Whichever choice you make, don't make my mistake. When I was learning, I hopped from Java to C# to C++ to PHP, and then Python and Django. This jumping around isn’t a good idea. Better to stick with one language to get a job, then you can try others later.
There are free resources to help you decide between Python and JavaScript. I suggest trying freeCodeCamp as they have free online IDEs where you can get a feel between Python and JavaScript. Avoid long tutorials at first and instead, get hands-on practice with both languages and see which one feels right. Even if you start disliking your choice after a few weeks, keep at it. This is key to landing your first job. All languages get tough at some point; that's why people often switch but sticking with one is important.
Step 2:
Once you've chosen a language, find the best way for you to learn coding. This could be through books, YouTube tutorials, or Udemy courses. Each has its pros and cons. Books offer lots of information, YouTube is free, and Udemy courses are detailed and interactive, though they have an attached cost. For Python, try Mosh on YouTube or Angela's 100 Days of Code on Udemy, see which is your favorite type of learning between the two.
A top tip to learning code is to type along with tutorials. It's okay if you don’t get it right away. When you feel doubtful, take a break, go on a walk or take a quick power nap. Coding requires a big shift in thinking and is tough for beginners.
Remember, there's no need to rush. Rushing can lead to frustration or quitting. Coding is a long journey, not a quick race. Aim to get a little better each day and continue believing in yourself.
Step 3:
After you get through some beginner Python or JavaScript courses, start building projects but start simple, not with big projects like an Amazon clone. Make web apps like a to-do or note-taking app. This reinforces what you've learned. If you do not know how to make a web app use a framework, which makes coding easier and faster.
Framework’s will help guide you into learning how to do some more advanced stuff. I absolutely love the quote “you don’t know, what you don’t know”, so take this as an opportunity to expand your mind even more. When it comes to frameworks, if you are using JavaScript I would recommend NodeJS or React and if you are using Python I would use FastAPI.
I would now find another course or tutorial on the specific framework you chose. This will help you create projects even faster to have access to reusable code.
Now FastAPI is my bread and butter which is a top framework for Python, if you are curious how to build web applications in Python that the whole world can use, I have created a best selling course on this topic.
Step 4:
Once you're comfortable with a language and a framework, add all your projects to your portfolio or GitHub. This is important when job hunting. You need to stand out with the quantity and quality of your projects.
Next, try building a unique app on your own. It'll be easier than you think, because you can reuse code from your previous projects. Saving different templates on your computer is a fast way to start new projects.
Reusing code is essential in software development so do not think you need to know how to do everything from your head with no help. You now have multiple projects, use the code and alternate things slightly to create a completely unique application yourself. Always remember to not throw away all the code you have now wrote, because a lot of it can be reused.
When I was learning how to code, I would save multiple different templates on my computer and based on what I wanted to create, I would choose which template or theme I wanted to use. This is the absolute fastest way to creating your own application and my number 1 tip to creating new projects quickly. Reuse code.
Step 5:
Now that you have created some unique applications, I think this next step is one of the most important and that is deploy your applications. Deployment means making your application accessible online. Google how to deploy Python or JavaScript apps. You can use AWS, Azure, or Google Cloud, among others.
When applying for jobs, look for positions asking for 0-2 years of experience. Don't worry if it says 2 years; just apply. Companies want to see you've worked towards becoming a developer and you have.
Your resume is key to getting interviews. Don't be shy about sharing everything you've learned and the projects you've made. Soft skills matter too, so show your personality. Use free resume templates online instead of starting from scratch.
Always apply directly on company websites, not through third-party sites like Indeed or LinkedIn. After applying, you can message the recruiter on LinkedIn to stand out.
Throughout all this, be yourself. Hiring managers can tell if you're not being genuine.
Good luck on your coding journey!
Cheers friend,
Eric
My husband and I talk from time to time about me learning to code, and he stated the other day if I wanted to dive in, he'd start me on Python for the same reasons you said.