description="Don't get stuck in tutorial hell. It's easy to get caught up in tutorials and never actually build anything. Tutorials are great for learning, but the best way to learn is by doing. An example of this is to watch a project-based tutorial, code along with the instructor. After finishing the tutorial, try to build the same project from scratch without the tutorial (if you can't, it's okay to go back to the tutorial). Repeat this process until you can build the project without the tutorial. After that, try to add new features to the project or build something similar from scratch."
description="Commit to regular, consistent study sessions. It's better to study for 30 minutes every day than to cram for 10 hours once a week."
client:load
/>
<TipItem
title='Set a clear goal'
description='Establish a clear, significant goal that motivates you. It could be building a company, an app, a website, or anything that personally resonates with you.'
client:load
/>
<TipItem
title='Embrace the marathon mindset'
description="You will feel lost in the beginning. Avoid comparing yourself to others; everyone progresses at their own pace. Understand that challenges are part of the journey, and it's okay to take your time."
client:load
/>
<TipItem
title='Build projects'
description="The best way to learn is by doing. Start building projects as soon as possible. It's okay if they're simple at first; the goal is to learn and improve. Build upon code-alongs and tutorials to create your projects and learn through hands-on experience"
client:load
/>
<TipItem
title='Learn to get unstuck'
description="Once you start learning to code, you're going to run into problems that you don't know how to solve. This is normal and part of the process. You don't really learn unless you struggle through it. That said, you won't always be able to move forward without some help. So how do you find that help? First off, forget books. They aren't a great place to start here, because the number and types of errors they can cover is so small. Online is the easiest place to find help. Most devs look for solutions on StackOverflow or just google the error message (if they have one). Other solutions are to find newsgroups or forums dedicated to the language you're using."
client:load
/>
<TipItem
title='Join a community'
description="Join a community of learners, such as a local coding group, a Discord server, or a subreddit. It's a great way to get help, share your progress, and learn from others."
client:load
/>
</div>
</div>
</div>
</div>
<RoleRoadmaps
badge='Self-taught Developer'
title='Are you a self-taught developer?'
description='How about taking a peek at the Computer Science roadmap aimed at self-taught developers?'
>
<RoadmapCard
icon={GraduationCap}
title='Computer Science'
link='/computer-science'
description='Learn the fundamental concepts of computer science and programming.'
/>
<RoadmapCard
icon={Blocks}
title='System Design'
link='/system-design'
description='Learn how to design large scale systems and prepare for system design interviews.'
/>
<RoadmapCard
icon={Blocks}
title='Software Design and Architecture'
link='/software-design-architecture'
description='Learn how to design and architect software systems.'
/>
</RoleRoadmaps>
<RoleRoadmaps
badge='Frontend Developer'
title='Are you a Frontend Developer?'
description='How about skimming through the frontend or JavaScript roadmaps to see if there is anything you missed? TypeScript is all the rage these days, maybe it is time to learn it?'
>
<RoadmapCard
icon={Globe2}
title='Frontend'
link='/frontend'
description='Learn all you need to know to become a frontend developer.'
/>
<RoadmapMultiCard
roadmaps={[
{ title: 'JavaScript', link: '/javascript' },
{ title: 'TypeScript', link: '/typescript' },
]}
description='How about mastering the language of the web: JavaScript? or maybe TypeScript?'
secondaryRoadmaps={[
{
title: 'Frontend Performance',
link: '/best-practices/frontend-performance',
},
]}
secondaryDescription='Or learn how to improve the performance of your web apps?'