<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mohamed Qourany</title>
    <description>The latest articles on Forem by Mohamed Qourany (@mohamedqourany).</description>
    <link>https://forem.com/mohamedqourany</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F860987%2Ffb2822ee-2f81-40a9-846d-0e6452bf6e02.jpeg</url>
      <title>Forem: Mohamed Qourany</title>
      <link>https://forem.com/mohamedqourany</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mohamedqourany"/>
    <language>en</language>
    <item>
      <title>How I Failed In Learning Front End Development</title>
      <dc:creator>Mohamed Qourany</dc:creator>
      <pubDate>Sat, 16 Nov 2024 03:02:36 +0000</pubDate>
      <link>https://forem.com/mohamedqourany/how-to-fail-in-learning-front-end-development-2224</link>
      <guid>https://forem.com/mohamedqourany/how-to-fail-in-learning-front-end-development-2224</guid>
      <description>&lt;p&gt;Front-end web development is a fascinating field, balancing creativity with technical expertise. The road to mastering it can be quite overwhelming unless one falls into some common pitfalls. In case you want to get started on this learning path, here goes a guide on what NOT to do to avoid unnecessary frustration and wasted time.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Skipping the Basics
The Mistake:
Going straight into advanced tools like React, Vue, or Angular without knowing the very basics of HTML, CSS, and JavaScript.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
Frameworks and libraries extend upon the basics. Without an understanding of how the web actually works, you can't troubleshoot problems or customize anything outside of what's provided in the framework or library code.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
Learn how to structure and style web pages with HTML and CSS, then learn core programming concepts using vanilla JavaScript.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Just Tutorials
The Antipattern:
You sit through hours and hours of video tutorials, never once applying that knowledge to your own projects.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's an Antipattern:&lt;br&gt;
Tutorials are a great way to get started, but they all have the same problem in that they tend to give you a false sense of mastery. You're following what the teacher does; you're not solving problems on your own.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
Work on small, practical projects. For example, build a personal portfolio website or a simple to-do app. These projects will help you think critically and apply your learning.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using Too Many Tools Too Soon
The Mistake:
Using tools like Webpack, TypeScript, or complex build systems before you understand why you'd even use them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
These tools are powerful but tend to overwhelm the beginner. They also take away from learning the core skills of your trade.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
Start off by having a very simple setup to begin with. Just use a text editor such as VS Code and write code in plain HTML, CSS, and JavaScript. When you do get comfortable, then you can start introducing tools and solving certain problems with them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Not Responsive Enough
The Mistake:
You create websites that look amazing on desktops but break when opened on mobile devices.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
Over half of web traffic comes from mobile devices. If your websites aren't responsive, you're alienating a huge audience.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
Learn about CSS media queries and tools like Flexbox and Grid. Practice designing layouts across different screen sizes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Not Taking Debugging Seriously Enough
The Mistake:
Ignoring error messages and coding by trial and error.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
Debugging is one of the most relevant skills there are in development. If you don't learn how to read errors and solve issues systematically, with more complex projects, you will struggle.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
Use browser developer tools to inspect and debug your code. Learn to read error messages and search for solutions effectively.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Not Joining a Community
The Mistake:
Trying to learn entirely on your own without seeking help or feedback.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
Lone learning can be slow and less motivational. You might miss important tips and guidance from other people.&lt;/p&gt;

&lt;p&gt;Instead:&lt;br&gt;
Look for online communities like freeCodeCamp, subreddits such as r/webdev, or local meetups for coders. Networking with other developers will help speed up the process, and often their encouragement will help get you through the humps.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Anticipating Quick Results
The Mistake:
You feel that within a few weeks, you'll become a professional developer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
It takes time to learn front-end development, and it requires a great deal of practice. Because of the building up of unrealistic expectations, one can get frustrated and suffer from burnout.&lt;/p&gt;

&lt;p&gt;What to Do:&lt;/p&gt;

&lt;p&gt;Set achievable goals and celebrate small milestones. The progress might be snail slow initially, but persistence pays off.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Skipping Practice Projects&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Mistake:&lt;/p&gt;

&lt;p&gt;Jumping to a big portfolio website without first practicing smaller, focused projects.&lt;/p&gt;

&lt;p&gt;Why It's a Problem:&lt;/p&gt;

&lt;p&gt;Big projects are overwhelming to deal with and could leave you frustrated if you don't have the required skills.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;/p&gt;

&lt;p&gt;Follow with small, manageable projects like:&lt;/p&gt;

&lt;p&gt;A landing page for a fantasy product&lt;br&gt;
A simple calculator&lt;br&gt;
A responsive navigation bar&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Not Making Your Site Accessible
The Mistake:
You don't think about how people with disabilities will interact with your site.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
Accessibility is not optional when building an inclusive site; therefore, not giving it attention will negatively impact both your SEO and user experience.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
Learn about accessibility guidelines such as semantic HTML, alt attributes for images, and color contrast.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Chasing Shiny New Technologies
The Mistake:
Leaving the current shine before one masters the basics to move to another shine which is newer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why It's a Problem:&lt;br&gt;
Yes, the web development ecosystem is at that constant and somewhat fast phase of evolution, but still, the roots remain the same, and following the trends might bring shallow knowledge.&lt;/p&gt;

&lt;p&gt;What You Should Do:&lt;br&gt;
First, master the core technologies and then extend your learning to new tools. This will make it easier to dive into new frameworks if the core basis has been forged.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
It may be a rewarding journey, learning front-end development can be, but avoiding these common mistakes will make it a lot smoother. First, focus on the basics, practice consistently, and never be afraid to make mistakes since this is an important part of learning. You will be well on your way to becoming a good front-end developer with great patience and persistence.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why Mastering the Basics is Crucial for Front-End Developers</title>
      <dc:creator>Mohamed Qourany</dc:creator>
      <pubDate>Sun, 13 Oct 2024 12:37:04 +0000</pubDate>
      <link>https://forem.com/mohamedqourany/why-mastering-the-basics-is-crucial-for-front-end-developers-3c6m</link>
      <guid>https://forem.com/mohamedqourany/why-mastering-the-basics-is-crucial-for-front-end-developers-3c6m</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds0bu00rl4tc990skwq8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds0bu00rl4tc990skwq8.jpeg" alt="Image description" width="600" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the ever-evolving world of web development, it can be tempting to dive straight into the latest frameworks and tools. With technologies like React, Vue.js, or Next.js dominating the industry, many developers are eager to jump on the bandwagon without fully grasping the fundamentals. But here’s the truth: mastering the basics is what truly sets great developers apart from the rest.&lt;/p&gt;

&lt;p&gt;In this article, I want to explore why learning the foundational concepts of front-end development—HTML, CSS, and JavaScript—is critical for both beginners and seasoned developers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Building a Strong Foundation for Growth&lt;/strong&gt;
Think of front-end development as constructing a building. No matter how tall or modern your structure, it will only stand strong if its foundation is solid. Similarly, HTML, CSS, and JavaScript form the bedrock of web development. When you deeply understand these languages, it becomes much easier to learn and adapt to any new library or framework.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Many developers make the mistake of relying too heavily on frameworks, without fully understanding the underlying mechanics. But without the basics, you're essentially building on shaky ground. Frameworks will come and go, but your understanding of the web's core technologies will remain with you and help you navigate through any future developments.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Problem-Solving Becomes Easier&lt;/strong&gt;
Front-end development is often about solving unique problems. Whether you're optimizing a page for mobile or debugging a layout issue, having a strong grasp of the basics will help you pinpoint the root of the problem quickly.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For instance, instead of spending hours searching for the right React component or plugin to fix a CSS layout issue, you’ll have the ability to solve it by manipulating CSS itself. This level of understanding gives you more control and makes you less dependent on pre-built solutions, leading to more efficient problem-solving.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Adaptability in an Ever-Changing Landscape&lt;/strong&gt;
The web development ecosystem is in constant flux. New frameworks, libraries, and tools are introduced almost every day, and keeping up with them can feel overwhelming. However, the core principles of web development haven’t changed. If you have a strong foundation in HTML, CSS, and JavaScript, you’ll find it much easier to pick up any new tool or adapt to changes in the industry.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For example, learning a framework like Vue.js will be much smoother if you already understand how JavaScript works at its core. The more you know about how things work under the hood, the faster you can adapt to new trends without feeling lost or overwhelmed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency and Performance&lt;/strong&gt;
When you master the basics, you're better equipped to write efficient and performant code. Understanding how the browser renders HTML, CSS, and JavaScript allows you to optimize your applications for speed and responsiveness.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For example, writing semantic HTML not only improves SEO but also helps screen readers and other accessibility tools interpret your content correctly. Similarly, knowing how to structure your CSS properly can prevent common issues like bloated files or conflicts that slow down your site.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;It Makes You a Better Collaborator&lt;/strong&gt;
When you understand the basics deeply, you can communicate more effectively with other developers, designers, and stakeholders. You can discuss solutions with confidence, knowing that you have a solid grasp of how things work. This is particularly important when working in a team or when you're responsible for mentoring junior developers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Knowing the fundamentals ensures that you can provide clear, accurate explanations and guidance to others, helping to foster a more collaborative and productive environment.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
In an industry where new tools and frameworks are constantly emerging, it’s easy to get caught up in the next big thing. However, the importance of mastering the basics cannot be overstated. Whether you’re just starting your career or looking to deepen your expertise, a solid understanding of HTML, CSS, and JavaScript will make you a more capable, adaptable, and efficient developer.&lt;/p&gt;

&lt;p&gt;Remember, even the most sophisticated frameworks are built on the fundamentals. The deeper your understanding of the basics, the more confident and successful you’ll be in your front-end development journey.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
