Get A Developer Job In Six Months: 30 Tips From 60 Months As A Udemy Teacher

Are you looking for a guide on how to learn web development from scratch?

And not just any guide, but one to teach you the fastest way to get a developer job in 2023?

You’re in luck: I am a professional web developer with three years of experience building websites, and a Udemy teaching assistant with five years of experience teaching web development.

I put together this guide to help you avoid the pitfalls I see students waste time on day in and day out, and instead focus on a step-by-step process that brings you the best results in the shortest time.

Your time is precious, so let’s dive right in.

1. Learn To Code By Doing, Not (Only) By Watching

If you watch a pianist playing for 100 hours, you still won’t be able to play so much as twinkle, twinkle little star on your own. But if you had instead spent those hours practicing, you’d have already mastered several piano concerts.

Unlike typical school work, coding is less about memorizing, and more about thinking; less about theoretically studying something in general, and more about practically building something specific.

So don’t just watch courses or read articles, but instead, split your time equally between learning concepts, solving problems, and building projects. Your daily goals should be to:

  • Learn three new concepts or techniques.
  • Solve one new challenging problem or question.
  • Finish one new website component or section.

For example, if you have two hours and a quarter per day to learn how to code, spend forty-five minutes each to:

  • Watch online courses like on Udemy, consult syntax references like on MDN, and read articles with code examples like on CSS Tricks.
  • Solve code problems like those on Edabit, CodeWars, or LeetCode (great practice for the coding interview!).
  • Code a project of your own, such as developing a website based on the design examples in LandBook, coding individual elements and components inspired by those in ScreenLane, or experimenting with newly-learned techniques in CodePen.

2. Learn Smart, Not (Just) Hard

It’s not just about the hours you put in.

It’s about the quality of your focus, your interest, and your thought-process.

Learning while fully focused, intensely interested, and profoundly thoughtful will yield much better results than learning amid distractions, forced by circumstances, and daydreaming away.

How do you enter a state of flow when learning how to code?

  • When you’re thinking of procrastinating, just tell yourself you’ll only do this for five minutes. Just learn for five minutes. Then another five…
  • Create goals with deadlines for yourself. Mark the long-term parts in Google Calendar or the like, and the short-term parts in Microsoft To-Do or the like. This way, you’ll see how far you’ve got, and gain motivation and clarity to continue with the next steps.
  • If you dread a task you need to do, such as solving a certain problem, turn it into a fun game. Frame it as a challenge. Tackle it as you would the goal of your favorite hobby, be it gaming, sports, or anything else.

3. Have Fun Learning To Code

You may be learning to code while also studying something else. Or you may be thinking of switching careers while also working somewhere else.

You may be low on energy by the time you get home. And you may not have much time to spend every day.

How do you keep it up in the long run? By finding a way to make learning to code relaxing and enjoyable.

Some people like to listen to music while learning, while others prefer absolute silence. Create for yourself the environment that feels best to you.

Take courses that are fun in addition to knowledgeable, whose instructors exude positive energy.

Choose projects that feel fun to work on for you, that you would feel proud to accomplish.

Make a habit out of learning every day, so that you don’t need to summon willpower to initiate it, and can instead focus your efforts on doing it better.

Remove clutter and distractions so that you don’t need to exert effort to focus, letting you spend that energy on actually learning instead.

Energy management is as important as – or more important than – time management.

4. Don’t Neglect Your Personal Life

Now, you may be thinking “who is this guy to tell me what to do with my time…does he think he knows better than I do how to live my life?!”.

I don’t.

But I do know that I’ve been there, and done that.

I coded on Christmas instead of enjoying the family dinner. I smashed Udemy courses instead of going on dates with my girlfriend. I slept under my office table to put in half an hour of extra work.

The result?

Sleep-deprived, depressed, and burnt-out, I needed five years to recover from a year’s worth of self-abuse. I couldn’t code well or so much as think straight for most of them.

Is that a price you’re willing to pay?

And for what, exactly?

Overworking yourself actually reduces your efficiency and can totally demoralize you over the long term. Keeping busy all the time is not the same as doing your best at the right times; it is often antithetical to it.

A few moments of self-care, relaxation, and enjoyment here and there, good nutrition, and a good night’s rest, recharge your energy, refresh your mind, and allow you to work at peak performance for a longer time.

Remember that learning to code is a marathon, not a sprint.

5. Manage Your Expectations

When you’re first starting out, you may feel like blaming the course teachers, the language developers, and the damn computer itself for your steep, setback-peppered learning curve.

You may be feeling confused, disappointed, frustrated, and angry.

You may be wondering: when is this mind-numbing coding inferno going to end, and your smooth sail across a calm sea of brilliant insight and dazzling accomplishment begin?

The short answer?

When hell freezes over.

The faster you adjust your expectations to reality, the sooner you’ll be ready to face it effectively.

So let me give it to you straight.

Expecting to spend a few hours watching some guy or gal code and explain stuff and then be able to churn out a perfect website yourself, and get paid to do it to boot?

Forget it!

Thinking you’ll learn the basics of vanilla HTML, CSS, and JS, and companies will race to the bids for your oh-so-awesome skills?

Think again!

Wanting to sit back, relax, and let others do the heavy lifting so you can collect a fat paycheck for sitting in your chair and pretending to work all day long?

Scratch that!

6. Nurture A Developer’s Mindset

You’ll be dealing with bug after bug after endless bug all day long day in and day out, you’ll be facing endless problems so difficult they’d make a math graduate stain their pajamas, and your every single project will be riddled with faults that’ll make you want to pull out your every last hair. The ones that didn’t go gray already.

If you want to weather this relentless programming tempest with a few hairs still intact, you’ll need to change your mindset with three programmer’s rules of thumb:

  • The only one to blame for your problems is yourself. The compiler is always right – it’s you that’s wrong.
  • Complaints never solved a problem; calm, patience, and determination did. Every problem has a solution – you just have to find it.
  • Nobody likes to work with a grumpy crybaby. Lighten up, put a smile on that face, and learn to crack a few jokes.

7. Invest In A Quality Workspace

Imagine you sit at your desk, and there’s hardly any space to move the mouse around. Working with a computer that freezes every five seconds feels like a nightmare. You can hardly focus as its rusty fans choke like a dying plane engine. Your eyes strain to stare at the tablet-sized monitor. Your hand hurts in its awkward position. And your back aches on the rigid chair.

How long do you think you’ll stay in such an office? Enough to learn to code or to build a website?

If not, then invest in your home office. This is where you’ll be working on all those remote jobs and freelance projects too, so this investment will continue to bring returns far into your career.

Here’s what you need to set up the perfect workstation for web development:

  • A big, well-organized desk with lots of space next to a big window with lots of light.
  • A fast, lightweight laptop. A fast hard disk, fast RAM, and fast processor are a must, a good graphic card helps with design work, a long battery life is invaluable on the go, and a low-noise fan with good cooling enables better performance for longer.
  • A multi-monitor setup. Performing multiple tasks at once without switching between tabs immensely speeds up your workflow. You can see a course video on one monitor while writing code on the other and instantly see its result in the browser on yet another.
  • An ergonomic chair. Your back will thank you, as will your wrists if you align the chair well with your desk.
  • A good set of headphones or speakers. There is nothing like music to lift you up and help you focus for longer.

Treat yourself like a CEO, take a relaxed, spirited posture, and your confidence and motivation to code will skyrocket.

8. Make Sure You Understand It

Don’t rush along to cover as much video ground as possible; it’s all meaningless unless you understand it, unless you master it, unless you can actually make use of it when you need it.

I’ve seen so many students waste so much time watching and re-watching videos only to forget them and not be able to solve basic problems a week later. The reason is almost always the same: not enough practice. Use it or lose it, as the phrase goes.

However, don’t be afraid to review videos you didn’t get well or don’t remember well, especially once you get to building your own projects.

If your portfolio impresses, you’re going to get interviewed.

If you’re a decent human being with common-sense knowledge of the basics of web development, you’re then going to get tested on technical skills.

It doesn’t matter if you’ve memorized the whole YDKJS book series if you can’t solve a basic JS problem, or if you’ve learned to solve problems like a robot but can’t explain your understanding of the core concepts behind the solution.

9. Ask For Help When You Get Stuck

When you buy a course, it ought to include active support (if it doesn’t, I advise you to reconsider your purchase). Browse the Q&A for answers to your questions first, and only then ask your query if you can’t find a fix.

But even if you learn using free resources only, there are many places where you can ask questions or get help with solving a problem. Quora, Reddit, Stack Overflow, and various Discord channels exist to offer you support with your project.

Yes, posting on Stack Overflow can yield nine snarky responses out of every ten. After all, it is a platform for professional developers to help each other with actual work projects, not to teach beginners to tell their functions from their scopes. But that tenth kind soul can provide invaluable insight, well worth enduring the other nine.

10. Code On Your Own

After having completed each lesson, code up a sample of your own experiment –  you can use CodePenJSFiddle, or your code editor of choice (my favorite by far is VS Code, by the way) to see them in action. E.g., if you learned something about functions, write down some functions of your own.

After having coded-along each course’s project(s), apply your new skills to an independent project of your own design – you can host it for free on GithubNetflyHeroku, or a number of other hosts.

Don’t worry if your projects are not as bulky or articulate as the instructors’; that’s natural and expected at this point, and your projects will still hold a lot more weight than theirs in your portfolio since they’re truly yours.

Experience is the best teacher, and if you’re not its best student, you’ll be in a lot of pain. And trust me, the recruiters will feel your pain when they see your portfolio.

Think of it this way: if you were hiring, who would you trust more to build your website?

The monkey who just “coded-along” with the projects designed by the instructors of a dozen courses?

Or the guy or gal who also came up with the design and code of a dozen websites on their own?

11. Get An Experienced Mentor

You don’t need to spend a hundred thousand bucks on some fancy university degree to learn how to code.

Yes, having a degree will get you favored against other candidates of equal or even slightly worse skill.

But you’ll be a lot more skilled than the average CS graduate – and a lot faster too – if you dedicate eight hours a day to actually learning how to code instead of working a full-time job to pay for your tuition.

If you do have money to spare, it would be much better spent on getting private tuition for yourself.

A full hour of one-on-one attention from a professional programmer is worth a lot more than the odd question answered in class alongside dozens of other students by a ‘teacher’ who never actually practiced what they preach.

Getting hands-on training from a senior developer on the job can be worth more than your salary in long-term opportunity gains, and accelerates your learning ten times more than relying on online courses and support.

If I were to go back to when I first started to learn programming, I still wouldn’t get a CS degree, but I would no longer go totally self-taught either; instead, I’d get a mentor.

Having your own programming coach can be invaluable, not only to hold you accountable to your goals and timeline, but also to enable you to witness best practices, quickly get over stumbling blocks, get reliable answers to your doubts, and receive encouragement when you need it.

Besides…there’s no rule saying they can’t also help you with the “independent projects” in your portfolio. 😉

12. Learn Python To Crack The Coding Interview

To ace the coding interview, you need to be able to solve problems fast. Therefore you need to choose a language that lets you do so in as few lines of code as possible.

The easiest-to-learn such language is Python. Little wonder it’s part of a CS degree’s standard curriculum.

It’s one of the main advantages CS graduates have over self-taught programmers…unless you beat them to it.

Besides its speed and ease of learning, Python also provides a solid foundation for learning other programming languages – such as JavaScript.

13. Learn JavaScript To Develop Sites And Apps

Among all programming languages today, JavaScript is in the greatest demand.

It is the language of the web, the source code that powers the overwhelming majority of websites online.

It has many powerful, versatile libraries and frameworks, React perhaps the most in-demand among them.

Even PHP-intensive websites, such as WordPress websites, make use of JavaScript for some of their scripts.

You can even use JavaScript on the back-end in the form of Node. So you don’t need to learn a different language to get into back-end development.

14. Don’t Get Stuck In Learning The Fundamentals

The road to mastery is long. You can breeze through basic HTML and CSS in a couple of weeks, sure but fully mastering them is a matter of years. And don’t get me started on JavaScript…

By then, you may get to your first interview only to discover that mastering languages alone gets you nowhere fast. Most companies nowadays use libraries and frameworks to develop their websites and applications.

The basics are not the alpha and omega of web development, but rather a stepping stone to mastering frameworks.

So only spend with them the minimum amount of time you need to then get started with the real task at hand: getting the skills (frameworks) that get you hired.

15. Apply To Developer Jobs Early On

As soon as you gain any worthwhile skill at all, start to make waves in social media – LinkedIn, Stack Overflow, Twitter, etc. -, cuddle up to recruitment agencies, streamline a dozens-by-the-day job application process, and show off your expertise on your own blog and on Medium with a gazillion posts.

It’s going to take a while to get noticed. And even longer to get hired, with most companies’ recruitment process taking up to three months nowadays. Why not get a head-start?

Don’t wait until after you’ve learned everything there is to know to start putting yourself out there. By the time you’re ready for a job, you should already have several offers lined up.

By going to interviews and putting your name in front of recruiters’ eyes early on, you get more experienced at answering questions and solving problems, so that you’re ready to go when that big opportunity comes your way.

Tip: when applying to large companies, don’t use an image for your resume. It prevents automatic scans from identifying filter keywords to sift through 1000s of applicants per day. So you may end up “distinguishing yourself” right out of the applicant pool, before anyone has a chance to see how much better than your competitors it looks.

16. Network To Get Noticed

Participating in the development communities can bring back unexpected employment dividends.

Answer a few questions on Stack Overflow. New members who quickly climb in reputation are often automatically recommended to recruiters on the prowl for emerging talent.

Exchange a few insightful replies in Reddit’s or Discord’s coding communities. You never know who you’re going to come across (besides the occasional troll).

Leave an interesting comment along with short a mention that you’re available for hire on popular coding blogs and Medium posts. Recruiters and senior developers often read these to stay up to date with industry trends, and may be intrigued enough to look you up.

17. Learn How To Research

Imagine if you held all the programming knowledge in the world, but you needed to learn to use an interface to access it.

Wouldn’t that be an amazing skill?

That interface is the Internet.

Research is the invaluable skill that allows you to access all that knowledge.

You bet that employers value it highly too.

A former friend of mine who started a successful software company told me he loved to hear this one line from his prospective employees: “I don’t know this, but I know how to search for it“.

18. Build Up A Database Of References

How do you level up your research skills to find the information you need as quickly as possible?

By building up a database of trustworthy references that you can quickly sort through.

Ask questions in the Q&A of your courses, on Stack Overflow, on Reddit or Quora.

Google stuff you don’t understand.

Look for syntax explanations on MDN, for great articles on HackerNoonMediumSitePoint and others, for docs and codes on Github, for questions on Stack Overflow (again).

Check out the documentation of any npm packages, editor plugins, and service websites you make use of.

19. Learn Workflow For A Competitive Advantage

Some employers allow time for learning and adaptation. Several even pay for you to perfect your skills.

Others, however, expect you to be productive from day one.

How are you supposed to do that if you never worked on a developer team before?

By learning the developer’s workflow, that is, how to:

  • Collaborate with other developers without overriding each other’s code by using Git for version control.
  • Write modular code that is easy to share and maintain using SCSS and BEM for CSS and TypeScript or a framework such as React for JS.
  • Quickly share dependencies with each other using NPM (node package manager) and the command line.

20. Learn Frameworks In High Demand

Using frameworks ensures a high standard of code regardless of your experience level, and allows you to develop websites and applications more quickly, without having to constantly reinvent the wheel. The more complex the project, the more frameworks are useful. For an app around which an entire company is built, a framework is all but required.

Which framework is most in-demand varies from place to place. So ask yourself: where do you want to work? Then Google statistics on the most in-demand framework in that area.

Overall, Bootstrap is the most in-demand CSS framework, and React is the most in-demand JavaScript framework. Tailwind CSS and Angular JS are also highly in-demand, depending on your location.

Make sure to stay up to date with the most recent version of each framework, and mention this to prospective employers. Being up-to-date is one of your main advantages as a new developer over more experienced applicants.

21. Keep Your Eyes On The Greens

There are many interesting things to learn about in web development.

Every skill has many micro-skills that help improve it, that relate it to other skills and to the general workflow. Learning to use an editor leads to learning to use Git for version control, which leads to learning to use Jenkins for continuous integration and deployment, and so forth.

However, how much closer will delving into this stuff get you to your dream job? If the answer is “not much” (or “not at all“), then why bother at this point?

Don’t lose track of your goal: wait until after you’ve got the job to learn these things…and get paid to do so!

22. Don’t Let Geography Get In Your Way

Today, almost 100% of development work can be done – and often is done – remotely. This means geography is no longer a barrier to getting hired as a developer.

Sucky pay? Why put up with that when you’re getting offers for over a hundred thousand bucks from the big guys in the tall glass building?

Tech hubs and big companies tend to pay the big bucks. Seattle and San Francisco, Google and Microsoft, and the like are prime targets if you’re looking to make a great living as a developer.

Horrible managers? Why should you endure those when there are respectful, caring managers waiting for you with open arms at every street corner?

Fortunately, geography is no longer a barrier to finding a positive company culture either, so don’t be afraid to leave a toxic company any more than a cheap one.

23. Know When (Not) To Jump Ship

You will likely get offers for higher pay and better benefits from multiple companies mere months after getting employed somewhere.

As an experienced developer, you’re the prize. You’re a scarce resource in high demand. You get to choose who you work for. You get to set your standards.

Money is not everything, though; before jumping ship, check if the company culture is toxic. Development is hard enough without being trapped in a hornet’s nest with the embodiment of Oizys breathing down your neck.

Working on projects you enjoy with people you like and a respectful, caring management is worth more than even a significant increase in salary.

There are plenty of companies out there that value developers highly enough to provide us with both great pay and a great work environment. And they deserve a modicum of loyalty from us in return.

24. Get A Job First, Freelance Projects Afterwards

Do you know what new freelancers springing out of the blue with no reputation, testimonials, or portfolio of client pieces get for their work? Pennies. If they’re lucky.

Freelance platforms such as Freelancer or Fiverr demand hard work for low pay; it’s an undignified, self-sabotaging ‘race to the bottom‘ to undercut each other. Especially for beginners.

Only once you get a job, solid contacts, a proven track record, and a fine portfolio, you get to finally sip from that “2000$ in a weekend” glass you got sold on when you decided to go the freelancing route.

That’s why you should get a job in the beginning, preferably at a big company, and secure good contacts first. Then, use your contacts to get better clients and better-paid freelance work for yourself.

25. Don’t Be Intimidated By Job Requirements

So you’ve learned HTML, CSS, and JS, and think you’re ready to be a junior developer now.

You go to some entry-level jobs posted on LinkedIn or other boards, and what do you find among the “requirements“?

Bootstrap. SCSS. Tailwind CSS. React. Redux. Git deployment. Maybe some Jenkins. Node would be nice also. Oh, and you know the whole Express and MongoDB back-end stack already, right?

And you get scared. It took you months to learn just the basics. When will you get the time to learn all of that, too? Especially if you’re changing careers, and have a full-time job to deal with on top of it all.

Your fears are understandable but unfounded.

It takes a lot less time – weeks instead of months – to learn a framework once you already know the language. And it takes days rather than weeks to learn Git, SCSS, NPM, the command line, and other essential workflow skills.

26. Know Your Worth

But Node, Express, and MongoDB?

Let me break it to you: they’re just crossing their fingers and hoping someone above entry-level bites the bait so they can pay an entry-level salary for mid-level work (dirty rotten scoundrels, eh?).

Nobody actually expects an entry-level developer to have that many skills. They’ll just take the best they can get. So don’t take them so seriously.

And if you do have all of those skills? And the projects to prove it to boot? Do yourself a service and aim for a mid-tier position instead.

27. Invest In The Most Valued Skills

Besides a CS college degree (grrr), having a solid portfolio, being likable, and being a skilled problem-solver with a good work ethic are the things that really matter when it comes to getting an entry-level job.

The skills depend on what you want to work on, but in general, a solid grasp of HTML and CSS, and/or JS helps in virtually every web developer job.

Many companies and clients today expect a web developer to also know frameworks, even as a beginner. That’s reasonable considering that you’ll be coding using frameworks, not just the bare languages in most jobs today.

Knowing a CSS library such as Bootstrap and a JS library such as React – which are generally the most in-demand – will give you access to a higher quantity and quality of jobs and projects.

Mastering the developer’s workflow by knowing a version control tool such as Git and a package manager tool such as NPM, along with the command line (e.g. via the Git Bash interface) is definitely a big plus.

If you’re short on time, you can learn and use the libraries to quickly beef up your portfolio. Tailwind CSS is even faster to learn and easier to use than Bootstrap, and Vue than React. You’ll need to delve into CSS and JS at some point, though.

28. Develop Your Soft Skills

Data isn’t everything. Ultimately, you’re going to be working with people. Who may or may not like you. So do yourself a favor and make yourself a little more likable.

Yeah, perhaps you don’t like interacting with people that much. Perhaps this is one of the reasons you’re choosing this career.

Nobody is asking you to become the consummate salesman or charismatic public speaker.

But a kind smile is easy, cheap, and can reap quite a return.

29. Research The Company Before The Interview

So you’ve read “Cracking The Coding Interview”. Hard skills? Piece of cake.

You’re even read “How To Make Friends And Influence People”. Soft skills? Downright adorable.

But wait…who were you going to work for again? And why here, of all places?

Good question…but what does it really ask?

It asks how can you help us, specifically; how do your skills and background benefit the company; what makes you an asset to our team.

How to answer it? This depends on knowing your strengths and your employer’s needs.

Remember research? It goes for companies no less than coding languages.

Figure out what you’ll be working on, what issues need to be fixed, and how you can fix them using your strong skills.

30. Find The Right Learning Medium For You

While online courses tend to offer the most comprehensive learning experience, you may find that reading a book works wonders for you as a supplement to the courses.

Here are the top web development books that I recommend:

  1. HTML & CSS: Design and Build Web Sites by Jon Duckett.
  2. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition).
  3. Eloquent JavaScript: A Modern Introduction to Programming (3rd Edition) by Haverbeke Marijn.
  4. You Don’t Know JS (book series, 2nd edition) by Simpson Kyle.
  5. Learning JavaScript Design Patterns by Osmani Addy.

Besides courses and books, you might find great success by simply diving in and building something, learning what you need along the way. While I don’t recommend this by itself, it is the path taken by some of the most successful programmers in the world.

31. Plan Your Learning Strategically

To achieve a goal, you need a plan.

The clearer the goal, and the more straightforward the plan, the easier and more likely it is for you to achieve it.

Learning web development requires a plan no less than any worthwhile goal. If you don’t set a time by which you will achieve it, it will very likely remain only a pipe dream.

To get employed somewhere, you need to decide:

  1. Where and what do you want to be?
  2. By what date do you want it?
  3. What skills do you need to learn for it?
  4. How will you learn those skills?
  5. How much time per day do you need to learn in order to get the skills you need by the date you set?

One of the most useful skills you can learn in life is to break up complex goals into simple sequences of tasks. Setting SMART (Specific, Measurable, Achievable, Relevant, Timely) goals can help you to do so.

32. Learn Skills In The Right Sequence

Another essential planning skill that deserves a separate mention is figuring out the correct sequence of a set of actions.

Most of us need to learn to add and subtract before we learn to multiply and divide.

Likewise, knowing CSS first helps you to learn SASS faster, and knowing JavaScript first helps you to learn Node faster, but not the other way around.

Based on my experience of the most in-demand programming languages, here’s a basic sequence that I recommend you use to learn full-stack web development:

  1. HTML + CSS.
  2. SCSS, BEM, Git, NPM, EMMET, the command line, and other workflow enhancers.
  3. JavaScript.
  4. React and Redux.
  5. Tailwind CSS and/or Bootstrap.
  6. NodeJS.
  7. ExpressJS and MongoDB.

Take Action: Create Your Learning Plan Today

At the beginning of this guide, we talked briefly about figuring out what you want to learn, how you’ll go about it, and using deadlines in your Google calendar to get started.

Well, why not get started with a rough plan right away?

Do it, just for five minutes, and you’ll have gained ten times more benefit from reading this article!

If you’d like some inspiration, you can sneak a peek at my own journey during my first year of learning to code, updated for 2023 in “How To Learn Web Development In 2023: Top 23 Online Udemy Courses“.

I just might see you in one of Jonas’s courses I help teach. 😉

Happy coding, onwards and upwards!