<?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: Cheikh Tidjane Konteye</title>
    <description>The latest articles on DEV Community by Cheikh Tidjane Konteye (@wariored).</description>
    <link>https://dev.to/wariored</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%2F322717%2F3ee3e9d3-f999-4abb-a5f1-16d814738a38.jpeg</url>
      <title>DEV Community: Cheikh Tidjane Konteye</title>
      <link>https://dev.to/wariored</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wariored"/>
    <language>en</language>
    <item>
      <title>5 important things to keep in mind as a programmer</title>
      <dc:creator>Cheikh Tidjane Konteye</dc:creator>
      <pubDate>Mon, 08 Nov 2021 19:02:55 +0000</pubDate>
      <link>https://dev.to/wariored/5-important-things-to-keep-in-mind-as-a-programmer-5bac</link>
      <guid>https://dev.to/wariored/5-important-things-to-keep-in-mind-as-a-programmer-5bac</guid>
      <description>&lt;p&gt;Here is a list of 5 important things to keep in mind when starting programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  1- Languages are just tools
&lt;/h2&gt;

&lt;p&gt;The most common mistake for a beginner - even for some experienced developers - is focusing too much on languages/frameworks rather than solving problems. It's a good thing to be a "Jack of all trades" but keep in mind that it will get you nowhere if you know all languages/frameworks in the world.&lt;br&gt;
Pick a random one, learn to solve problems with it. Believe me, at the beginning it doesn't matter which programming language you are using. They all make sense.&lt;br&gt;
I am not saying it's bad to learn a new language but make sure to focus on how you can use the language to solve some real-life problems.&lt;br&gt;
Remember, programming is not about what language you use. It's about how you think.&lt;/p&gt;

&lt;h2&gt;
  
  
  2- Understand the underlying concepts
&lt;/h2&gt;

&lt;p&gt;Don't just focus on solving a problem and then jumping directly to the next one. Programming is not just a typing statement. You have to pay attention to what you're doing while you are doing it - &lt;a href="https://www.youtube.com/watch?v=17vTLSkXTOo"&gt;care about your craft&lt;/a&gt;.&lt;br&gt;
Also, you have to understand the programming core skills - the fundamentals. Programming can be a highly competitive industry, so it's advisable to highlight your skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 - Complex Is Better Than Complicated
&lt;/h2&gt;

&lt;p&gt;Don't be afraid of having a complex solution to a problem. It's true that Simple Is Better Than Complex but usually, complex problems require complex solutions. Just don't make it complicated - make it understandable.&lt;/p&gt;

&lt;h2&gt;
  
  
  4-  Never Panic
&lt;/h2&gt;

&lt;p&gt;Some people panic when they cannot solve a problem the first time. Don't be like that, even if the deadline is close. Most of the time the solution is around. Otherwise, you can find an alternative that might work. Make sure you understand what you are doing. Most importantly, never ever copy/paste code from StackOverflow without a complete understanding of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  5- Build a routine of continuous learning
&lt;/h2&gt;

&lt;p&gt;Things evolve rapidly in programming. So you better focus on continuous learning.&lt;br&gt;
Reading can be a great way to improve yourself and get up to date. It's a regular investment in your knowledge portfolio. But you should critically analyze what you read. Do not believe everything.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Coding with an accent</title>
      <dc:creator>Cheikh Tidjane Konteye</dc:creator>
      <pubDate>Fri, 05 Nov 2021 12:24:25 +0000</pubDate>
      <link>https://dev.to/wariored/coding-with-an-accent-1lei</link>
      <guid>https://dev.to/wariored/coding-with-an-accent-1lei</guid>
      <description>&lt;p&gt;After few years working in the software industry, I realized that most of the companies do not really care enough about conventions. They mostly focus on the "Getting Things Done" and keep using accent - sometimes unconsciously - in their code base which make the integration of newcomers very difficult.&lt;/p&gt;

&lt;h2&gt;
  
  
  Natural Languages &amp;amp; Software Languages
&lt;/h2&gt;

&lt;p&gt;We use natural languages to communicate with humans as we use software languages to communicate with computers. The fact is when we code we do not communicate only with the computer but also with other coders. So basically we want other to understand what we do. &lt;br&gt;
 As you can feel the accent of a french native speaker speaking in English without respecting words pronunciations, you can also feel the accent of a developer from &lt;code&gt;Java&lt;/code&gt; world coding in &lt;code&gt;Python&lt;/code&gt; without respecting conventions. It's the same thing when a developer comes from technology A and apply its conventions to a technology B.&lt;br&gt;
In natural languages, accent is not that bad. However, it can provoke a big mess in software development.&lt;/p&gt;
&lt;h2&gt;
  
  
  Avoid using accent
&lt;/h2&gt;

&lt;p&gt;I one day worked on a project where the technology used was &lt;code&gt;Python/Django&lt;/code&gt;. The first time I joined the team - as usual - they gave me the requirements to read. After reading them and jumped into the project, I was a little lost. The project architecture did not respect the Django conventions and there were no documentation in the project saying it. It took me time to get into it and start coding. "Why you didn't use the default architecture?" "Is there any purpose on changing it?" I asked. "No, We've used to design like that" one of my teammate answered.&lt;br&gt;
 It was not the only weird thing I've found. For each python &lt;code&gt;.py&lt;/code&gt; files, there was only one &lt;code&gt;class&lt;/code&gt; that has the same name as the file. Then I realized those guys are from &lt;code&gt;Java&lt;/code&gt; or &lt;code&gt;C#&lt;/code&gt; where the convention is to have only one class for each file (required in Java, preferred in C#). In fact in those languages, files are not modules whereas they're in Python. So they were coding with &lt;code&gt;accent&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The following snippets shows two Python code: the first with accent (brought from &lt;code&gt;Golang&lt;/code&gt;) and the second with Python's conventions:&lt;/p&gt;

&lt;p&gt;Python code with Golang accent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;multiply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;

 &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;multiply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Python code without accent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;multiply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
     &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
         &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nb"&gt;ValueError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"inputs should be digits"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
     &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;

 &lt;span class="c1"&gt;# Python doesn't use errors. It uses exceptions.
&lt;/span&gt; &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;multiply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;ValueError&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This shows how bad it is to code with &lt;code&gt;accent&lt;/code&gt;. It's because people usually don't read the official technologies documentations. They pick a technology and apply a foreign conventions to it. It makes the code harder to understand.&lt;/p&gt;

&lt;p&gt;Don't fall into the trap.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
