0% found this document useful (0 votes)
168 views

Coding Roadmap Reddit

This document provides a detailed roadmap for becoming a web developer from start to finish. It recommends learning HTML, CSS, JavaScript, React, Node, SQL and other technologies through online courses. The roadmap estimates it will take between 1,000-2,000 hours to reach a professional level, depending on how many hours per week a person can dedicate to studying. Completing this curriculum will qualify someone for a job as a software engineer.

Uploaded by

l l
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
168 views

Coding Roadmap Reddit

This document provides a detailed roadmap for becoming a web developer from start to finish. It recommends learning HTML, CSS, JavaScript, React, Node, SQL and other technologies through online courses. The roadmap estimates it will take between 1,000-2,000 hours to reach a professional level, depending on how many hours per week a person can dedicate to studying. Completing this curriculum will qualify someone for a job as a software engineer.

Uploaded by

l l
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Benutze die App

r/codingbootcamp • vor 24 Tagen


Gepostet von toroga

One of the best roadmaps I've seen for


becoming a web dev on your own. Maybe
you'll find it as helpful as I did.

This is the roadmap I wish I’d had when I first started


learning to code. I keep it updated regularly so be sure to
bookmark it and check back.

The original question was How do I get into coding and


how much do I need to know for you to hire me?

I am not the author of any of the courses I link to below,


nor do I get anything if you sign up for them.

Last Edit: August, 2022

***

Hi, I’m a Software Engineering Manager at a tech company


and a self-taught developer. I would love to tell you exactly
what you need to know to be a professional developer and
to be hired by someone like me.

THINGS TO UNDERSTAND BEFORE WE BEGIN

1. Learning to code is hard. It can be fun, too, but it is


never easy
2. As you’re about to see, there is a lot to learn. Software
development is a complex field and there is a lot you
need to know. Learning a programming language is
just the beginning.
3. You should follow this roadmap from start to finish.
Don’t skip any steps and don’t listen to those who tell
you to learn other languages or frameworks. Bounding
from topic to topic while you’re learning will only
extend the time it takes you to reach a professional
level. Go deep before you go wide.
4. The roadmap below will guide you on a path toward
web development. That’s not the only type of
development out there, of course. There are software
engineers working in machine learning, mobile
development, robotics, and many other fields. I
recommend using web development as your entry
point, however. There are a lot of jobs available in that
specialty, and the barrier to entry is relatively low.

HOW LONG WILL THIS TAKE?

It will take between 1000 and 2000 hours to learn to code


at a professional level, depending on your aptitude. The
amount of time you can invest per week will determine the
number of calendar days between you and your new
career.

10 hours per week: 2 - 4 years

15 hours per week: 1.25 - 2.5 years

20 hours per week: 1 - 2 years

It’s probably not realistic to study and practice more than


20 hours per week.

Basically, settle in and try to enjoy the journey. You’ll get


there, but it’s going to take some time.

WILL I BE ABLE TO GET A JOB AS A SOFTWARE


ENGINEER IF I COMPLETE THIS CURRICULUM?

You will certainly be qualified for one. If you complete


every course in this roadmap you will have a skill set that
exceeds most code camp graduates and a better web
development skillset than many new CS graduates.

It can be tough to get that first job, though. You’ll have to


work to get your name out there. Be creative and lean on
your network. I have more job-hunting tips later in this
answer.

Now, without further ado…

THE ROADMAP

Learn How the Web Works

The first thing you’ll need to understand is how the web


works from a technical perspective. The video below has a
lot of information in a short period of time. Take notes, but
you don’t need to memorize the whole thing. The most
important thing to pick up is vocabulary. These concepts
will come up a lot as you learn.

Learn How to Use Your Computer Like a Developer

Next, you’re going to need to understand how to use your


computer as a professional tool. That means knowing your
file system and your command line. I’m a Linux user,
personally, but I’ll assume that if you’re into Linux you
already know those topics. The videos below are for
Windows and MacOS, respectively. The MacOS command
line is more properly called the Terminal.

Windows:

MacOS:

Learn Windows Subsystem for Linux (WSL 2).

If you’re using a Windows computer as a developer, you’ll


need to learn about WSL2. A lot of the tools you’ll need as
a professional developer will require you to work with a
Linux command line. Luckily, WSL2 integrates the Ubuntu
terminal into Windows very well. This has had the effect of
making Windows a legit platform for web development.

While not strictly necessary when you first start to learn, if


your intention is to do serious web development on a
Windows machine, you might as well start using WSL2
now.

Learn to Use a Code Editor

You’re going to need several tools as a developer but the


courses I link to later in this answer will introduce most of
them as needed. For now, the main tool you need to know
is a code editor or IDE (Integrated Development
Environment).

There are a lot of these available but I’m going to


recommend starting with a full-featured code editor called
Visual Studio Code. This is not the same as the Visual
Studio IDE.

VS Code is a professional-grade tool and it is 100% free.


It’s worth taking a little time to learn your way around.

You can download a copy of VS Code at the link below.

Visual Studio Code - Code Editing. RedefinedVisual Studio


Code is a code editor redefined and optimized for building
and debugging modern web and cloud applications. Visual
Studio Code is free and available on your favorite platform
- Linux, macOS, and
Windows.https://code.visualstudio.com

And you can learn how to use it right here:

LEARN THE BASICS: HTML, CSS, and JavaScript

HTML, CSS, and JavaScript are the core technologies of


web development and you’ll need to spend a few months
getting good at them. You can do that at Free Code Camp,
which is a 100% free service.

In order to complete this step you will need to earn both


the Responsive Web Design and JavaScript Data
Structures and Algorithms certificates.

This is where you really start learning to code. Make sure


you do ALL the projects and challenges. Those are the
most difficult part but also the most important. Don’t skip
anything!

This step isn’t easy to complete. In fact, my guess is that


95% of the people who start this road map will never get
past this point. Not because it is too hard, but because it
takes time and consistency.

You can help yourself be successful by setting up a study


schedule. Block out time several days a week for study and
practice. Make a commitment to yourself that you will use
that time productively. Don’t let anything distract you from
your goals.

Free Code Camp has a lot of in-browser exercises but you


should also try out what you’re learning in VS Code.
There’s no better way to learn than by actually building
things in your code editor.

https://www.freecodecamp.comhttps://www.freecodecamp
.com

MORE ABOUT JAVASCRIPT

When you get to your JavaScript lessons in Free Code


Camp, it might be good to supplement your online classes
with some reading. Here is a link to Eloquent
JavaScript***,*** which is an excellent book for beginners.
You can read it for free online or you can pick up a print
copy at Amazon. The link below is for the free resource.

Eloquent JavaScriptEloquent JavaScript 3rd edition (2018)


This is a book about JavaScript, programming, and the
wonders of the digital. You can read it online here, or buy
your own paperback copy . Written by Marijn
Haverbeke.https://eloquentjavascript.net/

ABOUT UDEMY

From here on out, we’ll rely on Udemy courses to expand


our skillset. We do this instead of continuing on with Free
Code Camp because all of the following topics go deep
and its worth taking a structured course in each. Don’t be
afraid to invest in yourself!

Udemy is an excellent service, but its pricing structure is a


little strange. What you want to do is to buy the courses on
sale, when they are about $12 - $25 each. When you first
register at Udemy the courses will be on sale and I
recommend buying at least the first few courses below if
you can. Those will keep you busy for several months.

After that, just keep an eye out for sales. Udemy holds
them a few times per year.

Let’s keep going!

LEARN REACT

Once you understand the basics, it’s time to move into


more intermediate-level development. React is the most
popular front-end library in the world and an absolutely
vital skill for a new web developer.

React projects are a LOT more complex than the simple


three-file apps you’ve been building up till now. Just keep
at it, things will make more sense as you continue in this
curriculum. Don’t worry if things seem confusing at first,
you’re exactly where you need to be.

The course below teaches React using functional, rather


than class-based, components. This is the modern way to
develop React applications.

**React 16: The Complete Course (incl. React Router 4 &


Redux)**Dive in and learn React.js from scratch! Learn
Reactjs, Hooks, Redux, React Routing, Animations, Next.js
and way more!https://www.udemy.com/course/react-the-
complete-guide-incl-redux/

LEARN TESTING WITH JEST AND REACT-TESTING-


LIBRARY

Good unit tests can make the difference between a


maintainable application and one that devolves into an
unusable mess. This is another critical topic to master.

**Testing React with Jest and React Testing Library


(RTL)**Learn best practices for testing your apps with Jest
and React Testing
Library!https://www.udemy.com/course/react-testing-
library/

LEARN NODE

By this point in the curriculum, you’ll have a very solid


understanding of front-end development. Learning Node
will teach you the back-end and enable you to make full-
stack applications that involve interaction with a server and
database.

The course below is a big one, but it will teach you what
you need to know.

**NodeJS - The Complete Guide (MVC, REST APIs,


GraphQL, Deno)**Master Node JS & Deno.js, build REST
APIs with Node.js, GraphQL APIs, add Authentication, use
MongoDB, SQL & much
more!https://www.udemy.com/share/1013ho/

LEARN SQL and PostgreSQL

The course above touches on SQL but it's a deep topic and
an important one to understand. SQL is a database
language and there are many flavors of it, including
PostgreSQL, MySQL, and MSSQL. PostgreSQL is probably
the most popular of them but once you learn one picking
up any of the others is fairly easy.

SQL and PostgreSQL: The Complete Developer's


GuideBecome an expert with SQL and PostgreSQL! Store
and fetch data, tune queries, and design efficient database
structures!https://www.udemy.com/course/sql-and-
postgresql/

BUILD YOUR PORTFOLIO PROJECT

This next step is critical. By now, you’ve learned enough to


build your own full-stack web application and you need to
cement that knowledge by, well, actually building one.

This project will be your primary portfolio project and will


be the first thing potential employers will want to look at,
so put your best effort into it. Pay attention to design,
including responsive design, and assume someone will be
looking at the code. Write good tests and use the best
design patterns you’ve learned over the last several
months.

If you don’t know what to build, try one of the following:

A Blog Engine

This is a simple CMS or content management


system that will allow you to create a blog online.
You should be able to create and edit blog posts
from an admin panel and users should be able to
comment on those posts. You should be able to
moderate those comments as necessary
A Fake Dating Site

Create a Tinder-like dating site for superheroes,


muppets, or whatever. A character looking for
love should be able to log in, see potential
matches, and communicate with them. You
should create several of these profiles to
demonstrate site functionality
An eCommerce Site

Create an eCommerce site for a mock product.


Users should be able to log in, add items to their
cart, and check out. The app should deduct
items from inventory as necessary and you
should be able to open an admin panel that
allows you to control the whole operation

Any one of those projects will teach you a ton about full-
stack development. Once you start planning features and
dealing with things like authentication and authorization
you will run into a lot of the same pain points that
professionals deal with every day. Expect long periods of
“stuckness”. Use Stack Overflow as necessary and stay the
course. You can do this!

Don’t continue on until you’ve completed this step.

DEPLOY YOUR PORTFOLIO PROJECT

Now that you’ve built your portfolio project, you’ll want to


deploy it in a professional way. One way to do that is to use
AWS. AWS is a vital skill for developers but many people
outside the field aren’t even sure what the heck AWS even
is. That’s okay! Well, it WAS okay. Now it is time for you to
start learning about it.

Here’s an introduction video to the topic

And here is a video about how you can deploy a NodeJS


application to AWS using a service called Elastic Beanstalk.
Note, this isn’t the only way to deploy your app but it will
get you some experience with the core AWS services
developers need to know about.

GOING PRO

When you reach this point you will be very close to job
ready. You could probably do freelance work already. If
your goal is to work at a software development company,
however, you will need to get past the dreaded technical
interview.

Interviews at software companies basically have three


parts. The first is the “behavioral” interview, which is just
your standard job interview stuff. They’ll ask you about
yourself and what you like to do, and just try to get a sense
for cultural fit.

The next part is the coding challenge. In a coding


challenge, you’ll be asked to solve challenges like “given
an array of n numbers, find all the subsets of three
numbers that add up to seven”.

To answer questions like these, you will need to


understand data structures and algorithms.

We’ll get to the third part of the technical interview a little


later on.

LEARN DATA STRUCTURES AND ALGORITHMS

Here is a good course to get you started on this fascinating


topic. You’ll learn about complexity analysis and how to
choose the best data structures for a given situation. It
isn’t just about interviews. Knowing this stuff will make you
a better engineer.

JavaScript (JS) Algorithms and Data Structures


MasterclassThe Missing Computer Science and Coding
Interview Bootcamphttps://www.udemy.com/course/js-
algorithms-and-data-structures-masterclass/

Once you’ve completed the course, you’ll want to practice


coding challenges. The go-to place to do that is Leetcode.

LeetCode - The World's Leading Online Programming


Learning PlatformLevel up your coding skills and quickly
land a job. This is the best place to expand your knowledge
and get prepared for your next
interview.https://leetcode.com/

LEARN SYSTEM DESIGN

The last part of the technical interview is system design.


You don’t always need to understand this at entry-level
interviews but you might at larger companies or later in
your career.

Here is an example of what a system design interview


looks like

That video is made by a company called Exponent, and


they have an excellent service for learning system design
and really for code interview prep in general. The service
even includes an opportunity to engage in peer-reviewed
practice interviews. I recommend it.

https://tryexponent.comOur courses help you prepare for


an interview or excel at your job with real examples and
advice from managers at Google, Facebook, and
more.https://tryexponent.com

JOB HUNTING

Congrats! By the time you reach this point in the roadmap


you should be well-prepared to go out and land a job as an
entry-level developer. Here are some job-hunting tips

1. You need to have three critical things for potential


employers:

1. A professional-looking LinkedIn profile. Make


sure you’ve got a picture posted and some
activity to show. Follow some people you admire
and post updates about things you’re learning or
are interested in. Stay away from “Facebook”
style garbage posts. Keep posts focused on your
career.
2. Your Github profile. Make sure you’re showing
your best work and staying active with your
projects. Some employers look at your recent
activity to see how passionate you are about
code
3. A link to your deployed portfolio project. It must
be deployed! Don’t expect a hiring manager to
clone your repo and build it from source because
guess what? They won’t.
2. Until you have some experience, build a skills-focused
resume. Google that term for details.
3. Get experience any way you can! If you’re doing
freelance work, post your big projects on LinkedIn or
start your own consultancy and post that as soon as
you begin taking work.
4. Network! Join a local coding group and make sure you
attend the meets. If there isn’t one in your area, start
one. That’s exactly how I got started in my career.
5. If you don’t have a college degree, it might be good to
fix that situation. Not all developers have a CS Degree
but the vast majority have a four-year degree in
something. It’s hard to go wrong with CS but other
majors you might consider include MIS, Business
Analytics, and UX Design. Some schools even offer
web development degrees. Note: You don’t need to
finish a degree before looking for your first job, but
having one will eventually unlock opportunities for
you. Highly recommended.

ADVANCED TOPICS

Once you’ve landed that first job, it’s good to continue


learning. The topics below will help you to progress in your
career. Note, you don’t need to do all of these. Rather, pick
and choose those that interest you. That being said, you
really should do the Typescript one at some point.

TypeScript

**Learn TypeScript (Ditch JavaScript)**Boost your


JavaScript projects with TypeScript: Learn all about core
types, generics, TypeScript + React or Node &
more!https://www.udemy.com/course/understanding-
typescript/

Data Visualization with D3.js

Learn and Understand D3.js for Data VisualizationDive


deep under the hood of D3.js. Learn core concepts and
build stunning data visualizations using D3 version
7https://www.udemy.com/share/101OyH3@EbaUu03E894d
Z_6A_dGHkfFNW9YRl_8C0nlKTBP34nHBrU5Nm28jhZJhjc
t3_jQ=/

Websockets and Socket.io

**Socket.IO (with websockets) - the details. (socket io


v2)**Socket io. For those who want to learn how to
harness real-time communication on the web. With Cluster,
redis, & Reacthttps://www.udemy.com/course/socketio-
with-websockets-the-details/

React Native

https://www.udemy.com/course/react-native-the-practical-
guide/

More About AWS

**Ultimate AWS Certified Developer Associate 2022 -


NEW!**Full Practice Exam with Explanations included!
PASS the Amazon Web Services Certified Developer
Certification DVA-
C01.https://www.udemy.com/course/aws-certified-
developer-associate-dva-c01/

Microservices

Microservices with Node JS and ReactBuild, deploy, and


scale an E-Commerce app using Microservices built with
Node, React, Docker and
Kuberneteshttps://www.udemy.com/course/microservices-
with-node-js-and-react/

An Introduction to Docker

Docker for the Absolute Beginner - Hands On -


DevOpsLearn Docker with Hands On Coding Exercises. For
beginners in
DevOpshttps://www.udemy.com/share/101Xlm/

CONCLUSION

I hope this answer is helpful. It is the product of years of


being both a self-taught and a professional developer, as
well as a team leader and engineering manager.

Please share this answer with your network. The question


of "how do I learn to code" comes up on Quora often, and I
feel this is one of the best answers to it.

Thank you for reading and welcome to the world of web


development.

Good luck!

134 2 27

27 Kommentare sortiert nach Beste

Kommentar hinzufügen

Late_Dance5933 • vor 24 Tagen


I just finished a coding bootcamp and believe your
information to be very accurate to what I’ve learned. It
does help to code with others and bounce ideas off
one another so I would just add to this and tell others
to join open source projects when they feel ready
15 Ant…

toroga • vor 24 Tagen


Great advice! Which bootcamp did you finish?
Congrats and how’s the job hunt going?
8 Ant…

10 weitere Antworten

starraven • vor 24 Tagen


Nice I also hope this posts helps someone
understand the vastness of what goes into it. Just for
the record I am year 2 as a front end dev and I still
don’t know Linux, docker, microservices. But the rest
of the list was straight outta my bootcamp curriculum.
Well done!
7 Ant…

maplebananaketchup • vor 23 Tagen


Saved this! Thanks for the detailed post!
4 Ant…

YuteOctober • vor 11 Tagen


wow! I just had interview with bootcamp, after seeing
your post, I want to start doing self learning instead of
bootcamp.

You explain every step clearly, from the first step until
landing a job and beyond that! Which helps me see
the whole picture of how to become software
engineer.

I really appreciate your effort and your time to write


this post

Hope I could become software engineer one day and


kiss goodbye to my restaurant job.
4 Ant…

1 weitere Antwort

geekaloof • vor 24 Tagen


Hi OP, I didn't see the AWS links you mentioned under
the "Deploy Your Portfolio Project" section. Unless
you were referring to the links in the "Advanced
Topics" section?
3 Ant…

toroga • vor 23 Tagen


Yeah sorry I copied/pasted this roadmap from the
comments section of a coursereports article. Most
of the data was preserved by the copy/paste but a
couple embedded videos didn’t come over. If I
find the original article I’ll come back and let you
know. Otherwise, as long as you know what you
need to learn (e.g. aws) there are many resources
you could use to fill that knowledge. Good luck my
friend
3 Ant…

1 weitere Antwort

labrike • vor 12 Tagen


Thanks a lot for the roadmap. I was thinking about
following the OSSU computer science roadmap. But I
think this will be more practical and useful in order to
become a web dev which I think I will enjoy more, and
fits better to my stylelife as digital nomad. So thanks a
lot. I will keep informing how I advance following it.
3 Ant…

3 weitere Antworten

TolisKoutro • vor 17 Tagen


Hello and thank you for the awesome post. I want to
focus on frontend development only. What steps from
the guide should I do in order to become a frontend
developer?
2 Ant…

2 weitere Antworten

Gameznoob1 • vor 9 Tagen


I have no experience in tech , except when I dabbled
on it back in high school , I am about to turn 31 soon
and I never finished college. I want to start a new
change of career into tech as I enjoyed the time I did
dabble on web development in high school and I want
to make more money than I am currently making , as I
want to start a family.

My only problem is time , I started working two jobs


and it leaves me with very little time and no ability to
do bootcamps or schooling in person.

This post seems to have appeared in my feed at the


perfect time when I was wondering what I should be
doing.

Could anyone let me know what are the jobs and or


careers that doing this could lead to ?
2 Ant…

kira_from_engz • vor 22 Tagen


Hii I just wanted to say that my new site can help you!
It lists a lot of beginner-friendly job seeking services
that are perfect for bootcamp grads :)
https://www.perfectdeveloperjob.com/
1 Ant…

Weitere Beiträge, die dir gefallen könnten

r/typescript Beitreten • vor 4 Jahren

GSoC make TypeScript a 1st class language


for the JVM

51 10

r/learnprogramming Beitreten • vor 4 Jahren

I would like to build a website too be able too


play the python text based games that ive
made.

287 49

r/learnprogramming Beitreten • vor 3 Jahren

A few months ago I got into frontend. Now I


know I'm going to get bored with it

67 25

Diese Seite sieht in der App besser aus Öffnen


r/Blogging Beitreten • vor 25 Tagen
:

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy