<?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>DEV Community: Aimen Zairi</title>
    <description>The latest articles on DEV Community by Aimen Zairi (@zairiaimendev).</description>
    <link>https://dev.to/zairiaimendev</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%2F681790%2F2b716b53-d9b6-49b4-8c45-411413a72a25.png</url>
      <title>DEV Community: Aimen Zairi</title>
      <link>https://dev.to/zairiaimendev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zairiaimendev"/>
    <language>en</language>
    <item>
      <title>Deploy .NET Web Applications In Linux - Simple And Comprehensive Guide</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Sat, 23 Dec 2023 12:46:54 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/deploy-net-web-applications-in-linux-simple-and-comprehensive-guide-10hk</link>
      <guid>https://dev.to/zairiaimendev/deploy-net-web-applications-in-linux-simple-and-comprehensive-guide-10hk</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Bt3dSf0BNjI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The Links In The Video :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ZairiAimenDz/ECommerce_MVC"&gt;Github Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://m.do.co/c/8bf560e88a20"&gt;Digital Ocean&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hostinger.com?REFERRALCODE=1CASUALDEV28"&gt;Hostinger&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How To Get A Job Without Work Experience ?</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Sat, 30 Jul 2022 20:21:04 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/how-to-get-a-job-without-work-experience--2mpp</link>
      <guid>https://dev.to/zairiaimendev/how-to-get-a-job-without-work-experience--2mpp</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ZNWSpdGOPo8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to improve as a developer ?</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Sat, 30 Jul 2022 20:17:00 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/how-to-improve-as-a-developer--4ig8</link>
      <guid>https://dev.to/zairiaimendev/how-to-improve-as-a-developer--4ig8</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/tw-PrKLl5eI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;It’s not easy to become a developer, what’s even harder is how to become an even better developer.&lt;/p&gt;

&lt;p&gt;In this blog posts we’ve taken a look at what experienced developers had to say about this, and compiled them here.&lt;/p&gt;

&lt;p&gt;There are three aspects : Physical, Mental and Technical improvements that you can do to be better.&lt;/p&gt;

&lt;h1&gt;
  
  
  Improving Physically As A Developer
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Workout
&lt;/h2&gt;

&lt;p&gt;We all know how bad is it for our health to stay multiple hours at a time looking at our computers.&lt;/p&gt;

&lt;p&gt;Though it’s our job to do so, it is not our job to neglect our physical health.&lt;/p&gt;

&lt;p&gt;That’s why i recommend every developer to try and workout at least twice on a busy week and more on any other week if possible.&lt;/p&gt;

&lt;p&gt;It will massively improve your concentration, you will start to feel better, healthier.&lt;/p&gt;

&lt;p&gt;Working out doesn’t mean you have to go to the Gym as There are many other ways to do so like running, playing sports, street workouts … etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improve Your Typing
&lt;/h2&gt;

&lt;p&gt;What makes a great developer is his/her ability to write code fast.&lt;/p&gt;

&lt;p&gt;These days a lot of experienced developers recommend programming languages with faster write time rather than languages with faster compile time.&lt;/p&gt;

&lt;p&gt;Thanks to all the technological advancements the difference between languages at compile time is less noticeable than the time it takes to create a project.&lt;/p&gt;

&lt;p&gt;We Recommend that you practice typing using famous speed testing websites or even by trying other keyboards.&lt;/p&gt;

&lt;p&gt;I Personally feel myself writing faster on a mechanical keyboard than on my laptops keyboard.&lt;/p&gt;

&lt;p&gt;Though i don’t use it because it is heavier than my laptop (For Real) and makes a lot of sound.&lt;/p&gt;

&lt;p&gt;** We’ll be doing a post about mechanical keyboard recommendations – when it’s done link will be here.&lt;/p&gt;

&lt;h1&gt;
  
  
  Improving Mental Health
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Curiosity
&lt;/h2&gt;

&lt;p&gt;7 Tips for Teaching Curiosity in the Classroom | Teach Starter&lt;br&gt;
When Faced with a new experience always ask questions. Though you don’t want to be annoying about it.&lt;/p&gt;

&lt;p&gt;If you face a new problem, that you weren’t able to solve don’t be afraid to ask people more experienced than you.&lt;/p&gt;

&lt;p&gt;Always be curios about things. Why does it work ?. Why it didn’t work ?. How to know the source of the problem?.&lt;/p&gt;

&lt;p&gt;Always ask meaningful questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Organization And Self Discipline
&lt;/h2&gt;

&lt;p&gt;Always have a goal in mind, even if it’s temporary you must always have something to push you forward.&lt;/p&gt;

&lt;p&gt;Organization can help you plan out everything to reach that goal.&lt;/p&gt;

&lt;p&gt;For that you can use organization tools like a calendar or even organization software. And never go into something without thinking about the consequences whether good or bad.&lt;/p&gt;

&lt;p&gt;Having mini goals that you achieve faster can help you stay motivated and ambitious. But even with great ambition don’t forget to think things through and don’t be careless.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cooperation
&lt;/h2&gt;

&lt;p&gt;It’s very rare in medium-big companies that you will be working alone.&lt;/p&gt;

&lt;p&gt;So always cooperate with others, share your problems and solutions. And don’t be afraid to work with others as you cannot become a better developer alone and that’s a fact.&lt;/p&gt;

&lt;p&gt;Trust other people around, you are all working to achieve the same bigger goal. If you are in a managing position don’t loose your temper and give your people time.&lt;/p&gt;

&lt;h1&gt;
  
  
  Improving Technical Aspects
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Focus On The Basics :
&lt;/h2&gt;

&lt;p&gt;Always Focus on the basics, having strong knowledge in algorithms and data structures makes you able to learn any programming language.&lt;/p&gt;

&lt;p&gt;"Programming Languages Are All The Same, The Difference Between them is just the syntax" - someone on YouTube probably&lt;br&gt;
Solve problems. The more you solve the better your ability to know the origin of the issue is when dealing with bigger projects.&lt;/p&gt;

&lt;p&gt;And Obviously when learning a programming language master all of it’s tricks so that you can use them in your code.&lt;/p&gt;

&lt;p&gt;Anything that can be helpful like one line if statements :&lt;/p&gt;

&lt;p&gt;A = (Condition)?(Res1):(Res2) &lt;br&gt;
// Which Replaces :&lt;br&gt;
if (Condition)&lt;br&gt;
   A = Res1&lt;br&gt;
else&lt;br&gt;
   A = Res2&lt;/p&gt;

&lt;h2&gt;
  
  
  Write Better Code
&lt;/h2&gt;

&lt;p&gt;You can do this in two ways, first by writing understandable, testable and extensible code by following design patterns.&lt;/p&gt;

&lt;p&gt;second by documenting your code. As it helps other people to understand your code when reading it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use The Documentation
&lt;/h2&gt;

&lt;p&gt;Frameworks / Programming Languages Documentation Are gold mines that contain diamonds, sometimes you find what you are looking for and sometimes you don’t, and that’s where it’s up to you to find the real reasons behind the problem you are facing.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Deploy ASP.NET Web Applications For Free !</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Wed, 29 Dec 2021 10:18:02 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/deploy-aspnet-web-applications-for-free--5bda</link>
      <guid>https://dev.to/zairiaimendev/deploy-aspnet-web-applications-for-free--5bda</guid>
      <description>&lt;p&gt;Hello everyone, I Hope you are all doing well.&lt;br&gt;
there are a lot of ways to host and deploy you .net web apps but not all of them are free or are as easy to use as the tool i will be discussing today.&lt;br&gt;
SmarterASP offers 2 months for free for you to test out your app or even if you want to go into production.&lt;br&gt;
If you are interested I've made the following video to show the process.&lt;br&gt;
In this video i also show a lot of extra configurations for stuff like image uploading and database setup that you might not find straight forward.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hope you find it useful, don't forget to support me by subscribing :) (Hope we hit 100 Subs soon)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.SmarterASP.NET/index?r=ZairiAimen"&gt;Smarter ASP Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/JM5joh1n75U"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Extra Notes
&lt;/h2&gt;

&lt;p&gt;will add notes everytime i find something important&lt;/p&gt;

&lt;h3&gt;
  
  
  .NET Roles :
&lt;/h3&gt;

&lt;p&gt;the easiest solution i found was to copy the SQL creation code from your local database if you already have roles and role accounts and execute the query in SmarterASP.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>programming</category>
      <category>beginners</category>
      <category>dotnet</category>
    </item>
    <item>
      <title>Are Design Patterns Important To Know ?</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Mon, 15 Nov 2021 18:40:53 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/are-design-patterns-important-to-know--4a0</link>
      <guid>https://dev.to/zairiaimendev/are-design-patterns-important-to-know--4a0</guid>
      <description>&lt;p&gt;For Beginners, Making Projects is Simply about writing code that works, in one of the previous posts we talked about why that won't do in the long term, and now we talk about another solution.&lt;br&gt;
That Solution is using Design Patterns to help make the code clear, flexible and extensible.&lt;br&gt;
In Big projects and when you become a real software developer with a job you will see that Design Patterns are used for every single big project.&lt;/p&gt;

&lt;p&gt;PS : this was supposed to come with a video with cool animations and all, but i lost the project file, hopefully the next topic comes with a video.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Not To Use Design Patterns ?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Design Patterns + Small Project is the worst combination as it makes the code more complex and bigger than it should be.&lt;/li&gt;
&lt;li&gt;Using Design patterns doesn't Indicate Quality Code, as sometimes the implementation of these said patterns is wrong which leads to bad experience for developers checking your code.&lt;/li&gt;
&lt;li&gt;Once you implement a design pattern it is hard to remove when it's not needed or want to replace it with another design pattern.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When To Use Design Patterns ?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Design Patterns solve certain problems when writing the code and that's what you have to look for. If you are facing a known problem that has a design pattern as a solution it is recommended that you use.&lt;/li&gt;
&lt;li&gt;Creating flexibility and Making your project easily scalable.&lt;/li&gt;
&lt;li&gt;Code Re-Usability when needed.&lt;/li&gt;
&lt;li&gt;Easy to understand by other developers as design patterns are known standards, so any developer that picks your code can understand it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Commonly Used Patterns
&lt;/h2&gt;

&lt;p&gt;Though these aren't "Design Patterns" they are called "Architectural Patterns" but nonetheless it's good to have an idea of what a pattern can look like.&lt;/p&gt;

&lt;p&gt;You may have seen these when trying out a new framework like Django, .NET ... etc.&lt;/p&gt;

&lt;p&gt;There are others but the two most known ones are : &lt;/p&gt;

&lt;h3&gt;
  
  
  MVC :
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Model&lt;/em&gt;&lt;/strong&gt; : Components That Describe the data in used the app.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;View&lt;/em&gt;&lt;/strong&gt; : : Contains the interface that the user sees which&lt;br&gt;
contains the representation of this data&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Controller&lt;/em&gt;&lt;/strong&gt; : Contains all the business logic done in the&lt;br&gt;
application.&lt;/p&gt;

&lt;h3&gt;
  
  
  MVVM :
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Model&lt;/em&gt;&lt;/strong&gt; : Describes The Data&lt;br&gt;
&lt;strong&gt;&lt;em&gt;View&lt;/em&gt;&lt;/strong&gt; : Defines the structure, layout and appearance of a view on screen &lt;br&gt;
&lt;strong&gt;&lt;em&gt;View Model&lt;/em&gt;&lt;/strong&gt; : A link between the View and Model, dealing with any view logic.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>design</category>
    </item>
    <item>
      <title>Do this before your next programming project</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Sun, 07 Nov 2021 17:38:27 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/what-you-must-do-before-starting-a-programming-project-19p5</link>
      <guid>https://dev.to/zairiaimendev/what-you-must-do-before-starting-a-programming-project-19p5</guid>
      <description>&lt;p&gt;We’ve all been there, you started to code your next million dollar idea and then you find yourself needing to add functionalities you haven’t thought of, classes that might not have been needed and even working with the wrong database for this project needs.&lt;/p&gt;

&lt;p&gt;That’s a very big problem that not only beginners face but even moderately experienced developers struggle with. That problem is skipping the analysis and conception phase of a project.&lt;/p&gt;

&lt;p&gt;Though planning a project may seem like a daunting task at first but having a guideline to follow is so much better than just blindly coding and hoping that the project comes out like the idea you have planned in mind.&lt;br&gt;
What To Do ?&lt;/p&gt;

&lt;p&gt;Plan your projects ahead, it is simple right ?, maybe.&lt;/p&gt;

&lt;p&gt;The best way of doing it is writing an SRS ( Software Requirement Specification ) Document.&lt;/p&gt;

&lt;p&gt;Writing that document is a world of its own but I’ll borrow many elements from it.&lt;/p&gt;

&lt;p&gt;We’ll be using UML a lot so if you don’t know it already, it is really necessary for you as a developer if you want to work on big projects. I’m not going to talk about each diagram in detail but you can find some very good explanations of it in YouTube.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 00 : Have an idea
&lt;/h2&gt;

&lt;p&gt;You may already have one, but if you don’t then start searching for a problem that you face in your everyday life.&lt;/p&gt;

&lt;p&gt;This maybe something small that you don’t notice or something big that you think you can’t fix.&lt;/p&gt;

&lt;p&gt;Anyway once you find that problem think how you can fix it using programming.&lt;/p&gt;

&lt;p&gt;Small things like repeating certain commands when creating a new project, so what you do is you create a terminal command of your own that creates the project in a programming language that you choose and executes all the other commands automatically.&lt;/p&gt;

&lt;p&gt;Or having a hard time remembering passwords, so you can create a tool that saves your passwords locally … etc.&lt;/p&gt;

&lt;p&gt;Ideas are always there you just have to find them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 01 : Analysis
&lt;/h2&gt;

&lt;p&gt;What do you want your project to do ?.&lt;/p&gt;

&lt;p&gt;Write down the list of people you think are going to use your app/software/project and the list of actions that they can do in it.&lt;/p&gt;

&lt;p&gt;After that make a “Use-case Diagram“. it is objectively easier to read a diagram than reading a bunch of text.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F2hletzr8efpqccrbuc6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F2hletzr8efpqccrbuc6l.png" alt="Use Case Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next step is to do a use-case description where you fill in the details like the sequence that must happen when the use wants to do this action, the requirements for it and everything in between.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F908qxlu9nz4c4h755h81.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F908qxlu9nz4c4h755h81.png" alt="Use Case Description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And as i said before reading a diagram is better than reading a bunch of text and that’s where the sequence diagram comes in, but we will talk about it later as it involves database models and controllers.&lt;/p&gt;

&lt;p&gt;So now that you know what your program will do, you have to know what the data will look like so think about the classes that might exist in your system and put them in a class diagram.&lt;/p&gt;

&lt;p&gt;This diagram will help us later when we need to know what tables to have in our database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fpzxtr934fpbz4xm7dago.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fpzxtr934fpbz4xm7dago.png" alt="Class Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that our analysis step is finished with creating the Use-case and class diagram we jump to our second step The conception phase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 02 : Conception
&lt;/h2&gt;

&lt;p&gt;In this phase you go into a little more detail about the functions of your system, in this step we plan the “Code” aspect of our project.&lt;/p&gt;

&lt;p&gt;Use-case description don’t explain how the system works internally and that’s where sequence diagram comes into play. Firstly it is a diagram so it’s “easier” to understand and explains how the components of our system interact with each other.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Foz9q6eo4devnfwng4fp9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Foz9q6eo4devnfwng4fp9.png" alt="Sequence Diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using this diagram each case will make the coding part way easier knowing what components we need and what elements to use for each step.&lt;/p&gt;

&lt;p&gt;Now that we have our most important diagrams we’ll turn the class diagram into what i call a “Database Diagram” that can be easily implemented in your project.&lt;/p&gt;

&lt;p&gt;With All these done, you can finally jump to the final step and that is implementation.&lt;/p&gt;

&lt;p&gt;PS : In this step you could also make UI Prototypes of how your website will function, but that's out of my scope as I really suck at design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 03 : Implementation
&lt;/h2&gt;

&lt;p&gt;Though if you have written an SRS before you know that we skipped quite a lot of things, but our goal here is not to write an SRS but for us to get our next side project to the finish line like all our other side projects (sarcasm). &lt;/p&gt;

&lt;h2&gt;
  
  
  Step 04 : Supporting Your Fellow Developers
&lt;/h2&gt;

&lt;p&gt;I will be doing a video about this with animation and stuff so be ready : &lt;br&gt;
&lt;a href="https://www.youtube.com/channel/UC757WHzy1Fv6aMG593fmLjQ" rel="noopener noreferrer"&gt;My YouTube Channel&lt;/a&gt;&lt;br&gt;
&lt;a href="https://zairiaimen.com" rel="noopener noreferrer"&gt;My Personal Blog Where You Can Read this First&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I Really want to see what you think i should cover as I'm lacking ideas but definitely not in motivation to help others.&lt;/p&gt;

&lt;p&gt;Thanks For Reading. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>7 Deadly Sins Of Programming</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Fri, 05 Nov 2021 18:39:19 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/7-deadly-sins-of-programming-45ka</link>
      <guid>https://dev.to/zairiaimendev/7-deadly-sins-of-programming-45ka</guid>
      <description>&lt;p&gt;Programming is not always about writing code.&lt;/p&gt;

&lt;p&gt;If you are a beginner programmer you might have fallen into one of these mistakes already but if you haven’t this is your opportunity to know then so you can avoid them.&lt;/p&gt;

&lt;p&gt;In this blog post we will go through the 7 mistakes that you maybe making and how to avoid them.&lt;/p&gt;

&lt;h2&gt;
  
  
  1 – Writing Code before thinking
&lt;/h2&gt;

&lt;p&gt;You are trying to solve a problem when writing code. Thinking about the solution is far more important than coding the solution.&lt;/p&gt;

&lt;p&gt;That’s why most development companies write SRS (Software Requirement Specification) documents to turn the solution into a guideline that can be followed by Developers and Clients judge the results with it.&lt;/p&gt;

&lt;p&gt;So before you learn to code, you should learn how to turn your software requirements into diagrams. These Diagrams are what’s going to help you develop your solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  2 – Reinventing The Wheel
&lt;/h2&gt;

&lt;p&gt;A Rule To Remember : Don't Repeat Yourself.&lt;/p&gt;

&lt;p&gt;You should never re-write functionality that already exists.&lt;/p&gt;

&lt;p&gt;Lets take a simple example here. Let’s say you have a blog project and you want to add a rich text editor to it. What should you do?. so the obvious answer is to get a library or a package that contains this editor.&lt;/p&gt;

&lt;p&gt;Avoiding this is very easy and it’s by learning how to write extensible and reusable code.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 - Not Using Search Engines And Stack Overflow
&lt;/h2&gt;

&lt;p&gt;This is a common mistake for beginners that have only recently joined the world of programming.&lt;/p&gt;

&lt;p&gt;This is definitely the biggest mistake you can make. There isn’t a single programmer that doesn’t use stack overflow and google on a daily basis.&lt;/p&gt;

&lt;p&gt;Don’t be ashamed to ask if you don’t find what you are looking for.There are always people out there Trying to help ;) . &lt;/p&gt;

&lt;h2&gt;
  
  
  4 – Not Using a Proper IDE
&lt;/h2&gt;

&lt;p&gt;It all depends on your technology of choice. But there is no denying that using a good IDE can help massively.&lt;/p&gt;

&lt;p&gt;Personally, i work with .NET so using Visual Studio is the obvious choice. VS Provides all the features that i need to improve my code in every way.&lt;/p&gt;

&lt;p&gt;For you it might be different you might be working with JS or Java ... etc, So you have to choose what helps you write faster. As nowadays Writing Speed is way more important than execution speed (A Topic For Another Day )&lt;/p&gt;

&lt;h2&gt;
  
  
  5 – Not Documenting The Code
&lt;/h2&gt;

&lt;p&gt;It’s One thing to write code, but another thing to read it again after a few months, no even a few days.&lt;/p&gt;

&lt;p&gt;It’s very frustrating for both you and people that read your code.&lt;/p&gt;

&lt;p&gt;So the next time you write code use patterns, use comments and always use good naming (Check Out The Previous Post : &lt;a href="https://dev.to/zairiaimendev/if-the-code-works-dont-touch-it--om4"&gt;If The Code Works Don't Fix It&lt;/a&gt; ).&lt;/p&gt;

&lt;h2&gt;
  
  
  6 - Always Seeking New Technology
&lt;/h2&gt;

&lt;p&gt;Jumping over to new technologies without thinking about the consequences.&lt;/p&gt;

&lt;p&gt;Don’t be a “jack of all trades, master of none”. Choose a technology that is proven in the field. Master it.&lt;/p&gt;

&lt;p&gt;Don’t be fooled by all the buzz, even if a technology seems popular always stick to the basics.&lt;/p&gt;

&lt;h2&gt;
  
  
  7 - Being Afraid To Touch Existing Code
&lt;/h2&gt;

&lt;p&gt;I’m guilty of this one myself. Whenever i opened some GitHub code i felt overwhelmed with the amount of code, the way they write it and having multiple projects.&lt;/p&gt;

&lt;p&gt;But once i learned how to read and write clean code it has changed my point of view completely.&lt;/p&gt;

&lt;p&gt;Don’t be afraid to read code or even modify it if you feel like your modifications can improve it.&lt;/p&gt;

&lt;h2&gt;
  
  
  8 - Believing There are Only 7 Deadly Sins
&lt;/h2&gt;

&lt;p&gt;Share What You Think is a deadly sin in the comments down bellow.&lt;/p&gt;

&lt;h2&gt;
  
  
  9 - Not Supporting Your Fellow Developers
&lt;/h2&gt;

&lt;p&gt;This is a just joke&lt;/p&gt;

&lt;p&gt;Check Out The Blog And YouTube Channel For More Content Like This :&lt;br&gt;
&lt;a href="https://zairiaimen.com"&gt;https://zairiaimen.com&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/channel/UC757WHzy1Fv6aMG593fmLjQ"&gt;https://www.youtube.com/channel/UC757WHzy1Fv6aMG593fmLjQ&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>If The Code Works, Don't Touch It !</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Wed, 03 Nov 2021 13:33:27 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/if-the-code-works-dont-touch-it--om4</link>
      <guid>https://dev.to/zairiaimendev/if-the-code-works-dont-touch-it--om4</guid>
      <description>&lt;p&gt;This is a repost with little modifications of a post originally in my blog.&lt;br&gt;
&lt;a href="https://zairiaimen.com/programming/if-the-code-works-dont-fix-it/03/10/"&gt;zairiaimen.com&lt;/a&gt;&lt;br&gt;
If you don't want to read the post, you can also watch the video version of it :&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/C9jWzFrrn4Q"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The sentence “if the code works, don’t fix it” is sometimes taken as a rule by newbie developers. Though most of the times it works, i Personally think it is just an excuse from lazy developers.&lt;br&gt;
What is even a bigger problem are people who learn frameworks without learning the basic concepts which causes them to write spaghetti code, and when they see this "Rule" they think it's something everyone does.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why You Should Fix Your/The Code
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Becomes more readable by other &lt;/li&gt;
&lt;li&gt;Improve the code &lt;/li&gt;
&lt;li&gt;having testable &lt;/li&gt;
&lt;li&gt;having extensible code&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When To Not Touch The Code
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;New To The Job&lt;/li&gt;
&lt;li&gt;Not Experienced Enough With The Technology&lt;/li&gt;
&lt;li&gt;A Part Of the Code That Won't Change Over Time&lt;/li&gt;
&lt;li&gt;Usage Of Open/Close Principle ( Add New Features Without Removing The old Ones )&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How To Fix
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Read The Code Multiple Times Until You Understand It ( We All Know that our old code can only be understood by GOD but still give it a try )&lt;/li&gt;
&lt;li&gt;Separate Logic From State / UI Management&lt;/li&gt;
&lt;li&gt;Use Design Pattern To Turn The Logic Into Small Testable and Extensible Pieces.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Do People Often Use Trendy Technologies ?</title>
      <dc:creator>Aimen Zairi</dc:creator>
      <pubDate>Sat, 07 Aug 2021 11:56:56 +0000</pubDate>
      <link>https://dev.to/zairiaimendev/why-do-people-always-like-trendy-technologies-4jii</link>
      <guid>https://dev.to/zairiaimendev/why-do-people-always-like-trendy-technologies-4jii</guid>
      <description>&lt;p&gt;hello,&lt;br&gt;
As my first post i wanted to talk about something i'm really passionate about, that is "Use A Technology You Like and Not A Trending Technology".&lt;/p&gt;

&lt;p&gt;Though i'm  not really that experienced and i'm still a college student, i noticed that people are really attracted to technologies that are trending like flutter, go and whichever language that makes the more noise at that time,they go for it and do not stick with technologies that are proven to work and last like : Java, php, .net/C# C++ or anything in the top 5 or 6.&lt;br&gt;
they make projects with these technologies and then stop for the lack of resources or for the lack of commitment and enjoyment.&lt;/p&gt;

&lt;p&gt;for the past year i've done a challenge with my roommate, as he was learning the mern stack while i was learning .NET Core, his reason for learning it was because it's popular and so that he can freelance while studying, my reason was that i enjoyed the process of writing c# code and i found blazor a good replacement for javascript, the challenge was to see who can get to a 1000$ freelancing first, though both of us didn't reach it,i made 580$ ( 700$ before taxes) and i was told that it was a good price for a 20 day job and for a first job nonetheless.&lt;/p&gt;

&lt;p&gt;the moral of the story is &lt;em&gt;"a technology/Framework is just a way/tool of achieving your projects, and enjoying the process is far more important for longevity"&lt;/em&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>php</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
