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
: