<?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: zimspy007</title>
    <description>The latest articles on DEV Community by zimspy007 (@zimspy007).</description>
    <link>https://dev.to/zimspy007</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%2F253094%2Fd7a0211c-6b4c-43a2-91a8-5e97a11b2635.jpeg</url>
      <title>DEV Community: zimspy007</title>
      <link>https://dev.to/zimspy007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zimspy007"/>
    <language>en</language>
    <item>
      <title>As a programmer do you need a portfolio? </title>
      <dc:creator>zimspy007</dc:creator>
      <pubDate>Mon, 21 Oct 2019 07:13:45 +0000</pubDate>
      <link>https://dev.to/zimspy007/as-a-programmer-do-you-need-a-portfolio-fnb</link>
      <guid>https://dev.to/zimspy007/as-a-programmer-do-you-need-a-portfolio-fnb</guid>
      <description>&lt;p&gt;Anyone who ever visits my big brother and his family always has the privilege of being shown my nephew’s portfolio, his drawings and scribbles from school. This also rings true for any aspiring musician. They used to walk around with pockets stuffed full of demo tapes and now they will have you look up their online channel. The same is true for a lot of other trades, an artist, a photographer or a model no longer carries a folder but they have their work up on Instagram. Your portfolio speaks for you, it says you are what claim to be.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;What is a portfolio? &lt;/b&gt;&lt;br&gt;
A software developer will have a website that showcases their work and their achievements. Your portfolio tells the story of your journey as a programmer, what you have worked on, achieved and that you can do the work that may be needed of you.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Well I have a college degree&lt;/b&gt;&lt;br&gt;
And it is far from being adequate, what with how simpler it is now to go through college and get good grades. A piece of paper from a reputable institution is nowhere near enough to prove that you can do the work. Being a programmer is more than just listing a few skills on your resume, you need to provide proof that you truly are one. A solid portfolio will give you a good edge over other applicants during a jo interview.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;I am just a college student / graduate&lt;/b&gt;&lt;br&gt;
The great thing about a portfolio is that you do not need to be employed to build one. You can start working on your portfolio and adding projects to it way before you even graduate. During college might just be the best time to do so as you may have more free time than when you do become employed. Being in college and inexperienced is not a very good excuse for not creating a portfolio. A lot of aspiring programmers who have approached me have no portfolio or any real complete project they can point to and say “I made that.”&lt;/p&gt;

&lt;p&gt;As someone in college this shows a great deal of disinterest in the field and lack of invested time in becoming a programmer. The best way to prove that you are a programmer is to show any and all work you have done as one.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;What do I put in my portfolio? &lt;/b&gt;&lt;br&gt;
Your portfolio will speak for you and also tell an employer about your interests as well as your strengths and creativity. The most important parts of a portfolio are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;About Me – which will include a short bio, a picture (a professional looking picture not a mirror selfie) and your achievements. &lt;/li&gt;
&lt;li&gt;Projects – your work and any projects you feel are worth mentioning.&lt;/li&gt;
&lt;li&gt;Your contact details.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;How to portfolio (and how not to)&lt;/b&gt;&lt;br&gt;
Some aspects of creating a portfolio may not be so obvious. Here are some dos and don’ts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;No Ads&lt;br&gt;
I kid you not I have had portfolios thrown at me that had Adsense integrated. The explanation for this was that “I may as well make a bit of money from my portfolio.” No, just no.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Invest in a domain&lt;br&gt;
If you are going to host your portfolio, invest in a domain, at best your name is good enough. It will look more professional than having a freehosted.com/earlsimmons portfolio link. You can also go with places like Github if you really cannot afford your own domain.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make it responsive and well designed&lt;br&gt;
If your portfolio is hosted on a self-developed website, please make it responsive even if you are not a web developer. It really is a bad rep to have a non-responsive site. You have no idea how your recruiter thinks and no idea what device they will view your application on or from. Also, try to design a good and solid website. If you are not a designer like me, then find a great and professional looking theme for your portfolio.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Update your portfolio often&lt;br&gt;
Your portfolio must be updated regularly and this also means you need to work on projects often. A portfolio with an irregular timeline with large gaps shows a lack of focus and constant stagnation, none of which increase your employability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add your work only&lt;br&gt;
This is a must for entry level programmers. Do not put work in your portfolio that is not yours. You have that one friend who is good at coding but it is ill advised to place their work in your portfolio and getting caught will bring your employability down to zero.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;b&gt;Last words&lt;/b&gt;&lt;br&gt;
It takes time and a lot of effort to have a solid portfolio. Your portfolio helps you create your brand and will propel you above the rest of your competition during job interviews. The best time to start working on your portfolio is now.&lt;/p&gt;

</description>
      <category>portfolio</category>
    </item>
    <item>
      <title>Learning to code is not easy</title>
      <dc:creator>zimspy007</dc:creator>
      <pubDate>Mon, 21 Oct 2019 07:11:47 +0000</pubDate>
      <link>https://dev.to/zimspy007/learning-to-code-is-not-easy-14pd</link>
      <guid>https://dev.to/zimspy007/learning-to-code-is-not-easy-14pd</guid>
      <description>&lt;p&gt;Coding is easy. Right? No. Wrong. Coding is very hard. Coding is not following a tutorial, or copy-pasting code from StackOverflow as much as making music is not strumming a few chords and humming along. Coding is an intricate process of identifying a problem and breaking it down into small parts that you can solve in the most efficient way using programming logic.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;But that 4-week Coding Course says it is easy&lt;/b&gt;&lt;br&gt;
The major reason why we all now think programming is easy is the advent of coding courses and bootcamps that are sold to us by marketing geniuses. We have all seen the ads; “I did XYZ coding course and in 3 months I built my first website.” That is far from being true. If you constantly run into online ads telling you that coding is easy, all you have to do is pay a subscription fee and receive all the knowledge you need to become a master ~builder~ programmer then you will gobble up that lie. After spending a few hundred dollars on different coding courses and going to a few bootcamps, you will have the knowledge of how the syntax is supposed to be, you know some of the basic functions and concepts of a language. But then you have no idea what you can do, you have no idea how you can approach a problem.&lt;/p&gt;

&lt;p&gt;All this marketing, coupled with the stories of Mark Zuckerberg coding Facebook in his dorm room and we have a lot of people running around thinking they can camp in their bedrooms for a few weeks and become millionaires. This is a very poisonous attitude that is leading to a lot of people wasting their time investing in goals they may never achieve.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Okay I’ll follow the video tutorial&lt;/b&gt;&lt;br&gt;
We have all tried to follow a tutorial on how to make a simple app and got lost along the line somewhere. The experienced programmer taking you through the tutorial tells you to simply integrate the API into your project and hit build. Next thing you know you are online trying to solve that obscure error that has only 4,000 hits on Google search results and no answer on most forums you visit.&lt;/p&gt;

&lt;p&gt;This is another side of the coin, the experienced programmers who have forgotten how hard it is to learn to code. They have become so seasoned and to them it’s become intuition to look at a problem, spit out a few lines of code and voila, the magic happens.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Well I have StackOverflow&lt;/b&gt;&lt;br&gt;
SO is not a haven of coding solutions that you just go to and copy-paste code samples from into your project. No two coding projects are the same and in the same manner, you will rarely find the perfect lines of code that you need to Cmd+C/Cmd+V (Mac User, sorry Windows) into your project. Oftentimes the solution to a similar problem you find on SO will need you to understand the Ops problem, find a way how that relates to yours and adapt their solution to fit your problem.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;I am not paying some person 100 bucks an hour to sit behind a computer&lt;/b&gt;&lt;br&gt;
Most business owners tend to be hesitant when it comes to spending money for what they do not understand. Hiring a coder is one of them. I will also put photography here as well, your nephew even with a 1,000-dollar camera does not come anywhere near what a professional photographer can do with a much cheaper camera. The best way to get business owners to understand that they need to spend the money on a programmer and not try to learn programming themselves is to use the surgeon example. Whenever someone is not feeling well, they do not take a course in brain surgery and then prescribe themselves meds. No, they go to their surgeon who will charge them 200 bucks just to talk to them and write some inaudible jargon on a piece of paper.&lt;/p&gt;

&lt;p&gt;In the same manner, if your business needs an app or a website, please do the sane thing and hire a qualified and proven professional to do the job and pay them what they demand.&lt;/p&gt;

&lt;p&gt;If you are picking up programming and really feel this is for you, stay vigilant and keep your fingers on that keyboard; if you are a business owner and think you can learn to code and build the app your company needs, please hire a professional.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why teaching Scratch should be scratched</title>
      <dc:creator>zimspy007</dc:creator>
      <pubDate>Sat, 19 Oct 2019 12:06:53 +0000</pubDate>
      <link>https://dev.to/zimspy007/why-teaching-scratch-should-be-scratched-o7i</link>
      <guid>https://dev.to/zimspy007/why-teaching-scratch-should-be-scratched-o7i</guid>
      <description>&lt;p&gt;Why are we teaching our kids Scratch&lt;br&gt;
Scratch is one of the simplest ways for us to introduce programming to the younger generation that is also fun and engaging. The process is, throw a few blocks on the screen and click run and voila, you have visual feedback.&lt;/p&gt;

&lt;p&gt;I have also seen a lot of adults who try to jump into coding and immediately want to jump into GUI development because they want to see reward from their code. This is a very bad approach and we will look at this in a future article.&lt;/p&gt;

&lt;p&gt;Scratch has many benefits and here they are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Scratch allows for young people to integrate creativity in storytelling, games, and animation.&lt;br&gt;
Younger kids can collaborate on projects through the use of Scratch, and share their projects online.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scratch allows students to develop 21st century skills through the use of technology.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scratch can be used by people of all ages making it easy and simple for younger people to pick it up.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scratch can be used across curricula and students and teachers can create and share resources via scratch.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why Scratch should be scratched&lt;br&gt;
My first major gripe with Scratch is that it conditions younger people to think they are cut out to think they are cut out to be programmers. We teach them that computer programming is all about dragging a few blocks around and getting visual feedback. Then they spend 3 hours downloading an IDE and the first and last thing they see is this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&amp;lt;iostream&amp;gt;  
&lt;/span&gt;
&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;span class="p"&gt;{&lt;/span&gt; 
    &lt;span class="c1"&gt;// prints hello world &lt;/span&gt;
    &lt;span class="n"&gt;cout&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="s"&gt;"Hello World"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This is just Hello World in C++. There are no blocks, and once you run the lines all you get is a black screen with Hello World. Then they try to follow a tutorial for creating a simple Website and they have to design it in HTML, CSS, dive into a little bit of Javascript (&lt;a href="https://dev.to/zimspy007/why-we-love-to-hate-javascript-nfd"&gt;https://dev.to/zimspy007/why-we-love-to-hate-javascript-nfd&lt;/a&gt;&lt;br&gt;
) too and you will quit coding for life.&lt;/p&gt;

&lt;p&gt;The big mistake most of the people who wish to teach computers to their children drop into a programming class that will teach them Scratch combined with robotics. There is a lot more to computers than just teaching programming. There are a whole lot of better ways to teach the young about computers and here is a nice road-map.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Teach computer care&lt;/li&gt;
&lt;li&gt;Teach them using input devices and interacting with items on the screen&lt;/li&gt;
&lt;li&gt;Teach them how to type&lt;/li&gt;
&lt;li&gt;Teach them how to open a web browser and find stuff on the Interweb (have a firewall in place to block terrible websites)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This alone will give you months of learning material and by the time you are done with these 4 lessons your child will have a basic understanding of computers.&lt;/p&gt;

</description>
      <category>scratch</category>
    </item>
    <item>
      <title>Why we love to hate Javascript</title>
      <dc:creator>zimspy007</dc:creator>
      <pubDate>Sat, 19 Oct 2019 10:47:24 +0000</pubDate>
      <link>https://dev.to/zimspy007/why-we-love-to-hate-javascript-nfd</link>
      <guid>https://dev.to/zimspy007/why-we-love-to-hate-javascript-nfd</guid>
      <description>&lt;p&gt;Everyone loves Javascript, and everyone hates Javascript; some people love PHP, some people hate php but very few people hate Python. This is not a JS vs PHP vs Python comparison, no.&lt;br&gt;
A quick Google search shows us that:&lt;br&gt;
JS hated has 20,400,000 hits&lt;br&gt;
PHP hated has 16,900,000 hits&lt;br&gt;
Python hated gets only 2,150,000 hits.&lt;/p&gt;

&lt;p&gt;Why is JS hated so much yet used so much. New JS frameworks are getting spawned at a rate of 300 per second (maybe a bit exaggerated). JS is quite simple to pick up and get going, this is why I have met a lot of newbie developers who learn JS from the get go, never invest in learning anything else and just use JS for everything.&lt;/p&gt;

&lt;p&gt;Each and every language has its strengths and weaknesses. Javascript has its own special place in hell. One of the major strengths of JS also go back to being its major weakness. JS can be used for both front-end and backend web development. This is leading to a lot of designers trying to become developers. Which leads us to some very broken websites.&lt;/p&gt;

&lt;p&gt;Here are some of the reasons why JS is a bane for either front end design or backend development:&lt;/p&gt;

&lt;p&gt;The silent fail&lt;br&gt;
JS has a nicely bad habit of failing silently at runtime because of syntactic errors. Syntax errors occur when you try to compile a program in traditional languages but they occur at interpret time in JavaScript.&lt;br&gt;
Here is an example of a syntactic error  caused by a missing a closing parenthesis:&lt;/p&gt;

&lt;p&gt;&amp;lt;!--&lt;br&gt;
      window.print(;&lt;br&gt;
   //--&amp;gt;&lt;/p&gt;

&lt;p&gt;When a syntax error occurs in JS, only the code contained within the same thread as the syntax error is affected and the rest of the code in other threads gets executed assuming nothing in them depends on the code containing the error.&lt;/p&gt;

&lt;p&gt;JS is so bad that you must use a Linter for each and every project you work on. In comparison to the other bajillion other languages that exist, I have yet to use any other language that has this strict requirement.&lt;/p&gt;

&lt;p&gt;Weak-Typing and Aggressive Coercion&lt;/p&gt;

&lt;p&gt;Lets have some fun with code in JS:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Adding a String and a number
var a = "20"
var b = 40
print(a + b)
output: 2040 // Wait, what?
//Adding an array
[] + [] → "" // An array plus an array = a String? How?

//Whatever the heck this is
12 == [12] → true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;None of the above code examples have any logic to them at all. You feed JS illogical arguments, you get a valid response, you give JS logical input, you get back weird nonsense.&lt;/p&gt;

&lt;p&gt;Global Hell&lt;br&gt;
function monthsFunction() {&lt;br&gt;
    var Jan = 'This is a local variable';&lt;br&gt;
    /*&lt;br&gt;
    /awesome code here&lt;br&gt;
    */&lt;br&gt;
    Jam = 'This typo creates a global variable’;&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;Have fun trying to debug that tinny error in a large project.&lt;br&gt;
Here is another more annoying problem with global and local variables:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getTotal() {
var total = 0;
    for(n = 0; n &amp;lt; 10; n++) {
        total += n;
      }
    return total;
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;May the force be with you as you try to use the variable “n” anywhere else in your code because you did not declare it as a const, let or var. It is now a global variable.&lt;/p&gt;

&lt;p&gt;If not JS, what then?&lt;br&gt;
For web development, you need Javascript, you probably cannot do without it. But then try to go with better options that transpile to JS that the browser will accept. You can go with Amber, Brython, ClojureScript and Haxe among others. These are all very good for the frontend and will lead to a lot less of hair pulling on your part.&lt;/p&gt;

&lt;p&gt;On the backend, there is no denying that JS is fun for toy projects and all but for serious business you need to bring out the big guns. You can go with the much hated PHP, Java, Python, C# and you can even go with Go.&lt;/p&gt;

&lt;p&gt;You really do not want to jump into the WTFs per minute mess that is JS frameworks. To date we have 60 versions of AngularJS,&lt;br&gt;
Backbone, Ember, Knockout, Mercury, Polymer, Mithril and React. The list goes on and on.&lt;/p&gt;

&lt;p&gt;Last words&lt;br&gt;
JS is really becoming a necessary evil in the world what with the weight of giants like Facebook behind it. There is a lot of money to be made in the JS industry.&lt;br&gt;
On the frontend side of things, JS is the go-to guy for a lot of projects and has been for a while. It is proving that it is here to last.&lt;br&gt;
The problem is that all these frameworks that spawn also have a lifespan shorter than Ultron’s Age.&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
  </channel>
</rss>
