I have JS, PHP, HTML & CSS, but where would you suggest I go next? There’s so much to learn and it’s very confusing. I’m really scared of getting things wrong. Or asking for a road map if you like.
This is a hard question to answer. You need to ask yourself, "What are my goals"?
- Do you want to be able to build apps? Web apps?
- Do you want to design very pretty-looking websites?
- Do you want to want to make cool websites and get them to be on the first page of Google (SEO)?
- Are you interested in AI or ML? Do you like databases?
Once you figure out your goal(s), you can put a plan in place. I can help you figure out what steps you should take forward! All you need are some stepping stones. We can create a road map on how to accomplish your goal. Here is a simple roadmap for becoming a web application developer.
🐦 Follow me on Twitter to see even more content! 🐦
!IMPORTANT!
This is a high-level roadmap. This is not intended to turn you into an expert. This is ONE of MANY ways to HELP you land an entry-level web developer job. I have close to a decade of experience writing code. I regularly interview entry-level developers. If you were to complete each of these steps, absorb the material, and be able to speak intelligently about these topics I would be impressed. Take this advice with a grain of salt.
1. Learn HTML and CSS
FreeCodeCamp is a great resource for this. HTML and CSS is the foundation for any web application. Allocate 2-3 weeks for this.
2. Recreate 3 Popular Websites
Develop a landing page(s) using only HTML and CSS. Apple, GitHub, and Netflix are great choices! Understanding how popular websites are built will allow you to follow great patterns when you develop your own. Allocate 1-2 weeks to accomplish this.
3. Learn JavaScript and NPM
FreeCodeCamp and MDN are great resources for this. All modern websites utilize some sort of JavaScript framework. Node and NPM are tools used to work with these frameworks. They allow you to use libraries and tools that someone else has already written! Allocate 2-3 weeks.
4. Recreate 2 Popular Websites with JavaScript
Pick 2 complex projects and recreate their basic functionality using JavaScript, HTML, and CSS. Soundcloud and Twitter are great examples. Allocate 2-3 weeks.
5. Learn How Computers and the Internet Works
Search YouTube and Wikipedia and focus on the Application layer, HTTP, and how modern web apps work. You need to understand the basics of how web applications communicate. Allocate 1-2 weeks.
6. Learn Git and Deploying
All software projects should use source control. Atlassian has great git tutorials. Deploy your projects to Netlify or Vercel. Allocate 1-2 weeks.
7. Learn NodeJs and Express
Use official tutorials, then YouTube and StackOverflow if you don't understand something. I have a getting started tutorial here. Express and Node are great frameworks for build web applications QUICKLY. Allocate 2 weeks.
8. Learn ReactJS and Redux.
I am a big advocate for Angular. But I think ReactJS is in the biggest demand right now. Kent C. Dodds has a great course. Udemy also has some great courses. Allocate 3 weeks.
9. Learn GraphQL
Use official tutorials and YouTube (Udemy if needed). Then transfer your created apps to GraphQL. It should be relatively easy to migrate a small project to GraphQL, especially if you've gotten this far! Allocate 1 week.
10. Learn TypeScript
Learn it using official docs, YouTube & Udemy if needed. After, transfer all created apps to the TypeScript. I have written a great article describing how to convert ExpressJS to TypeScript. Allocate 1 week.
11. Build 2 Complex Applications
Pick a popular service and recreate the core functionality using learned stack: ReactJS, React Ecosystem, GraphQL, TypeScript, and ExpressJS. Then you will deploy it and put it on your resume. Allocate 2-4 weeks.
12. Create a resume, LinkedIn profile and apply for jobs
It should take you 1-4 weeks to land a job.
Conclusion
This should take you roughly ~6 months. This roadmap is not meant to make you an expert. But it should make you competent enough to land an entry-level software developer job. If you complete this roadmap I am very confident that you will be a very marketable developer! Good Luck! Reach out to me for ANY help!
🐦 Follow me on Twitter to see even more content! 🐦
This roadmap was inspired by Nick Bull!
Top comments (2)
I like your list and linked resources, but I hope people will not take it as a step by step curriculum. So here are some remarks that came into my mind:
I would rather move your last point more upfront: Create a LinkedIn profile right away! Participate in other communities like dev.to and StackExchange. Start writing your resume soon and improve it as you move on. You may even want to apply for jobs or internships quite soon. It does not hurt to have a LinkedIn profile, even if you are not a programmer, and you can start to grow your network before completing a learning roadmap.
If you are lucky to get an internship or take part in coding events like a hackathon or meetup, it helps to develop your collaboration and communication skills as well. Many people learn better and faster with a personal coach or at least some real person they can talk to or ask for a code review.
And don't forget about YAGNI: you might not need everything that is trending and seems important right now. For example, I have been doing full-stack web development for more than twenty years without ever writing a single line of GraphQL. I would personally recommend to take this list as an inspiration but not strive to complete the whole list step by step in only six weeks.
Thank you for the feedback @ingosteinke ! I think you make a very valid point about creating your LinkedIn ASAP. I see no harm in this, I may want to make some adjustments. You should always work on growing your network! Joining a tech community and engaging is like steroids for growth potential.
I mostly left it at the end because I would like individuals with no experience to be able to speak about technology and what they have done before applying for jobs. I have interviewed a lot of candidates over the years. There always seems to be a difference between entry-level candidates who say "I am learning this right now" vs the ones that say "I built this".
That being said I would like the takeaway from this to be, just go build something! You don't need to be an expert. Find a stack that works for you. Build it. Apply for jobs. Talk about your passion for building, what you learned, and how you want to continue to grow. That will resonate with a lot of engineers who interview you.
Use this roadmap as a super high-level blueprint for landing your dream job! You will become an expert in time.