<?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: Tae'lur Alexis 🦄⚛</title>
    <description>The latest articles on DEV Community by Tae'lur Alexis 🦄⚛ (@taeluralexis).</description>
    <link>https://dev.to/taeluralexis</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%2F85160%2F37ec6554-c63c-4664-8a4d-b697bd4c3cbf.jpg</url>
      <title>DEV Community: Tae'lur Alexis 🦄⚛</title>
      <link>https://dev.to/taeluralexis</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/taeluralexis"/>
    <language>en</language>
    <item>
      <title>Late Night Confessions About Imposter Syndrome (&amp; How I'm Dealing With It)</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Sun, 19 Apr 2020 07:02:11 +0000</pubDate>
      <link>https://dev.to/taeluralexis/late-night-confessions-about-imposter-syndrome-how-i-m-dealing-with-it-59bn</link>
      <guid>https://dev.to/taeluralexis/late-night-confessions-about-imposter-syndrome-how-i-m-dealing-with-it-59bn</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6GdCboGB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qdk8vzs10805wer8hme3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6GdCboGB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qdk8vzs10805wer8hme3.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Let's Get Right To It...Shall We?
&lt;/h1&gt;

&lt;p&gt;I've questioned myself a lot. I'll often wonder if I'm where I'm supposed to be in terms of where I'm at in my career. Am I messing up by learning this language or by having interests in this or that. I'm always telling myself I need to be immersing myself or get at least a bit familiar with testing, app security, dev ops, and other software engineering principles. &lt;/p&gt;

&lt;blockquote&gt;Am I writing clean, secure, efficient code? Am I becoming a more efficient problem solver? I want to become the a master wizard goddess of tech, how do I go about that?&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  My accomplishments thus far
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TTmzghKJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/z8a5t09yjmpgwyo8gh0a.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TTmzghKJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/z8a5t09yjmpgwyo8gh0a.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
Me giving a talk at useReactNYC about building more accessible React components at the World Trade Center. My first time in New York, it was a dream come true. 



&lt;p&gt;On paper, I've done great things for someone with not even a few years of experience. I've given several conference talks on accessibility where people say they've learned a lot from, written tutorials people liked, and have taken ownership of features on both small- and large-scale applications. I've also been appointed front-end lead on a few things too. I've freelanced and also taken contract positions. I've also managed to not get fired for lack of performance or technical aptitude (lol). &lt;/p&gt;

&lt;p&gt;I don't really have a way of measuring my success. I try often not to compare my journey to others because I'm prone to getting really competitive and over-worrying myself more than I want to. &lt;/p&gt;

&lt;h3&gt;
  
  
  What Am I Doing Currently?
&lt;/h3&gt;

&lt;p&gt;What have I been doing lately? Well for starters, I've started writing a series of tutorials on JavaScript. I wanted the focus to be on the core fundamental concepts of language, no frameworks or libraries. I chose to focus my technical blogging on this because for one, I'm a frontend developer by trade. JavaScript is the necessary evil for web development and my goal is to always be good enough to be dangerous at something. How do you do that? By being somewhat bold enough to teach the fundamentals. If you can break something down in a way to where beginners can understand, that's an indicator that you know your sh#t.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TmsWjWIA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/16bpde011td1spgkj4cy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TmsWjWIA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/16bpde011td1spgkj4cy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
 A peek into my adventures learning a bit of C. Excuse the profane code, that’s what helps me solidify knowledge lol



&lt;p&gt;What else am I doing? I'm learning Golang because I like to overwhelm myself for absolutely no reason (jk). But really I'm learning it because I've been really wanting to expand my skillset outside of front-end development. I know you're probably thinking why not just start building full stack apps with like Nodejs and Express? Yeah okay sure but dare to be different lol. (I have actually built a few side projects with Node and Express btw). I see languages as merely tools that all of have their strengths and weaknesses. I'm seeking to get familiar with a more statically typed language and also be able to really dive into the backend. I also spend the night reading a book on C the programming language to understand a little about the mother language that influenced the languages I use today. I don't currently aim to have knowledge in C...yet. I want to narrow my focus to just a few things when it comes to studies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I’m honestly not too concerned with learning every language or framework.&lt;strong&gt; I care more about how to solve problems better, thinking about edge cases and how to be an even better contributor to any codebase I touch. &lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  So About The Imposter Syndrome &amp;amp; The Potential Self-Sabotaging
&lt;/h3&gt;

&lt;p&gt;I often think about how I've probably placed myself in a box or put limitations on myself because of my fear of not being good enough to do the job. I've turned down past opportunities because I've felt like I wasn't ready and think so many of us have had those thoughts. I don't often give myself the credit I need. This probably stems from past personal experiences where I had to strive for excellence and accept nothing less. I am my toughest critic. It's good to have standards but not to the point where you question your worthiness of being in this industry. &lt;/p&gt;

&lt;p&gt;Do I consider myself to be a senior engineer? I try not to label myself. I usually do go for senior roles (because those are the ones who gives me interviews lol) and however they assess my value and fit me on the team is it how it goes. I usually think if I can do the job and do it well, then boom. &lt;/p&gt;

&lt;h3&gt;
  
  
  What do I want in my next role?
&lt;/h3&gt;

&lt;p&gt;So because I've been a front-end developer my whole career, I sort of expect that my next role will probably involve that. But I'm really hoping to be able to dig into different parts of the stack and hone my backend knowledge. Sounds dope. I'm open to developer advocate roles because I basically do alot of the typical job duties already out of love (helping the developer community, giving talks, writing tutorials, etc) but ehh. &lt;/p&gt;

&lt;h3&gt;
  
  
  A Quick Note about Burnout &amp;amp; Why I've Been Studying Every Day
&lt;/h3&gt;

&lt;p&gt;Ok, so I don't want you to think I'm some kind of a computer science addict who lives and breathes code and naturally studies several hours a day. In fact, I'm quite the opposite. You can check my backstory but essentially, I wasn't even introduced to what coding was until a few years ago. But when I discovered (and then months afterwards actually committed to it), I went wild with it. To the point where I've suffered burnout &lt;strong&gt;SO. MANY. TIMES&lt;/strong&gt;. It got to the point where I shuddered at the thought of opening up my editor. I actually had to take a break for a few months. I just got back into the groove of things not so long ago and trying not to do it again. I study when I want to, which currently is a few hours a day. Okay lately it's been 6 hours a day on average but that's because I'm learning Go and it's so fun and I'm driven by the curiosity to learn a bit of about what goes into building scalable, fast-performing backends.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I'm (attempting) to combat this:
&lt;/h3&gt;

&lt;ul&gt; 
&lt;li&gt;
&lt;strong&gt;Write more blogs about technical stuff:&lt;/strong&gt; Sharing what I learn is probably the core of why I love coding. I love learning something and then creating tutorials where I break down the steps of how I learned something or solved a problem and attempt to explain this the best way I can. I imagine becoming a better "communicator of code" (a phrase I use to describe someone who can explain to other humans how to do tech stuff) makes you a more senior engineer because you can be able to be a better collaborator on a team and help solve problems with people who are both experienced and inexperienced. &lt;/li&gt;

&lt;li&gt;
&lt;strong&gt;Livestream on Twitch..no seriously:&lt;/strong&gt; I have a massive fear of live coding. I really do. However I want to combat that but in a way that doesn't make me feel too uncomfortable. So starting this week I'll be livestreaming my studies on Twitch and helping people go through some of Codecademy's courses. I study every day for several hours just for fun so I don't think I'd mind doing it live? I like sharing my notes and don't mind helping people understand whatever they are learning better. Follow me on Twitter to check out for my streaming schedule. &lt;/li&gt;

&lt;li&gt;
&lt;strong&gt;Contribute to open source:&lt;/strong&gt; This is mainly because I want even more experience with ownership of features and working with teams and having my code openly dissected and reviewed by even more experienced folks.&lt;/li&gt;

&lt;li&gt; &lt;strong&gt;Embrace that being a software developer means to be an eternal student:&lt;/strong&gt; This is really the field where you can always learn something new. I take pride in the fact that I like to dig deeper to understand how everything works and I've been studying every day for a bit solely because I've fallen back in love with coding.&lt;/li&gt;

&lt;li&gt; &lt;strong&gt;Becoming a better problem solver: &lt;/strong&gt; Just always bettering my CS knowledge and practicing how to implement data structures more and more. I'm not always the most motivated to do so but I do know it's important.&lt;/li&gt;

&lt;li&gt; &lt;strong&gt;Just keep going:&lt;/strong&gt; You can't beat experience. Experience is how you get better at a language, approach solving problems and become a more well rounded developer. You need to fail a million different ways in order to grow. A million different ways of creating bugs leads to you learning a million different ways to not make those mistakes again lol. 
&lt;/li&gt; 

&lt;li&gt; &lt;strong&gt;Remind myself that even the best of engineers fail interviews...ALOT:&lt;/strong&gt; I've watched someone I've known (someone who has been coding since he was 8, has learned the ins and outs of computer science to a level of depth I can't even comprehend and has held nothing but senior roles since he was 18) fail interviews and be given some of the most critical feedback ever. Sometimes your code gets picked apart and exes you out for even just the little things. I have to remember that even the best fail and that's okay. &lt;strong&gt;That doesn't make you a bad engineer. That doesn't make you a bad engineer. That doesn't make you a bad engineer. You just keep it freaking move on to the next and keep your head held high.&lt;/strong&gt; You get right back to building on that side project or practicing Leet code problems. Cry if you must cuz that's normal, but at some point you gotta move forward. &lt;/li&gt;

I don't really know if this is an open diary entry or if I'm giving advice to be honest but if you felt any part of this post let me know. This is a first draft and I hit publish or else I probably would've scrapped this but I think this could potentially help someone else outside of myself. 


## What Will I Do Next?

&lt;ul&gt;
&lt;li&gt; Expect a cheatsheet on Vim later today&lt;/li&gt;
&lt;li&gt; Need to update my personal blog site so I can be more professional (lol)&lt;/li&gt;
&lt;li&gt; Push out at least one vanilla JavaScript tutorial a week. I already have a few you can check out here&lt;/li&gt;
&lt;li&gt; Go live on Twitch and do my thing &lt;/li&gt;
&lt;/ul&gt;


&lt;/ul&gt;

</description>
      <category>career</category>
      <category>impostersyndrome</category>
      <category>webdev</category>
    </item>
    <item>
      <title>#100DaysOfVanillaJS: All About Strings, String Methods, &amp; Template Literals </title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Fri, 10 Apr 2020 10:12:48 +0000</pubDate>
      <link>https://dev.to/taeluralexis/100daysofvanillajs-all-about-strings-string-methods-template-literals-5h75</link>
      <guid>https://dev.to/taeluralexis/100daysofvanillajs-all-about-strings-string-methods-template-literals-5h75</guid>
      <description>&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%2Fi%2Fbklpym5jpgubzh0j2dke.gif" 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%2Fi%2Fbklpym5jpgubzh0j2dke.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Strings are an essential building block of any application. They are pieces of text encapsulated in either single- or double quotes. They can contain any letter, numbers, or special characters. It's important to understand how every character in a string has a positional value that can be accessed and also vital to know how you can use a variety of built-in methods (actions) to perform what you need to do. I'll show you how with examples. Ready to get started? Open up your JavaScript console and let's get to learning!&lt;/p&gt;

&lt;h3&gt;
  
  
  Indexing
&lt;/h3&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%2Fi%2Fkcqqrfbqup7q7d6lmld0.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%2Fi%2Fkcqqrfbqup7q7d6lmld0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Always remember that every character in a string (including whitespace) has its own positional value starting at 0. The way I understood that was by counting the numbers of characters within a string with my finger &amp;amp; remembering to count from zero. It's called &lt;strong&gt;zero-indexing&lt;strong&gt;. It's important to know this because you can easily access specific characters in a string. &lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every string contains a &lt;strong&gt;length property&lt;/strong&gt; that tells you how many characters are in a string. &lt;/p&gt;

&lt;p&gt;The length of a string is always one greater than the last index.&lt;/p&gt;

&lt;p&gt;Strings are immutable meaning you cannot change the individual value.&lt;/p&gt;

&lt;h3&gt;
  
  
  String Concatenation
&lt;/h3&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%2Fi%2Fzz5jmjio6usax5a928cb.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%2Fi%2Fzz5jmjio6usax5a928cb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
You can use the addition operator to "concatenate" or combine strings. If you wanted to include space to separate the words and make it more readable, add whitespace either within the string or add space between the strings with quotation marks.&lt;/p&gt;

&lt;p&gt;If you were to try to use the subtraction operator with 2 strings, you will get a return value of NaN (or Not a Number). &lt;/p&gt;

&lt;h3&gt;
  
  
  So What Are String Methods?
&lt;/h3&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%2Fi%2Fcipod2d354js3b4si6y1.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%2Fi%2Fcipod2d354js3b4si6y1.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Methods are built-in actions that can be performed on any string and there are quite a few of them available for you to use. You can replace characters within a string, slice, search within, trim, capitalize or lowercase characters, and split, just to name a few. &lt;/p&gt;

&lt;p&gt;You use dot notation to perform such actions as shown below. Be mindful that simply performing any methods on a string will not change the original string. In order to do that you would have to create a new variable where the value equals the string name &lt;/p&gt;

&lt;p&gt;I highly encourage you to play around with the different string methods to get comfortable with manipulating strings. It is often asked of you to do so interviews to be honest.&lt;/p&gt;

&lt;h3&gt;
  
  
  String Arguments
&lt;/h3&gt;

&lt;p&gt;Some methods let you pass in additional information inside of the parentheses to modify their behavior. Let me show you by example. I'll provide a solid example below.&lt;/p&gt;

&lt;h3&gt;
  
  
  To Find indexOf(), Slice, Or Replace, Goku asks
&lt;/h3&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%2Fi%2F9md0iqruszc640ik5nwu.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%2Fi%2F9md0iqruszc640ik5nwu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wanted to point out 3 very important methods that I often to utilize in front-end interviews and on the job while working on more complex applications: .index(), .slice(), or .replace().&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;.()index&lt;/strong&gt; method is where you can perform a search to see if a string contains specified characters. It will return the position of where the occurrence of the substring starts. It always returns a number. If it cannot be found then the answer will be -1. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;.slice(&lt;/strong&gt; method accepts one or two arguments and allows you to "slice" or cut out a sub-string of the string. It does not alter or change the actual string because again, strings are immutable. You can pass in 2 arguments (where slice begins and ends in a string)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;.replace()&lt;/strong&gt; methods takes in 2 arguments: the first argument is where you specify what you want to replace within the string and the second argument lets you describe what you want to replace it with.&lt;/p&gt;

&lt;h3&gt;
  
  
  Template Literals
&lt;/h3&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%2Fi%2Ft0yb7piqt0ahcxbtbnck.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%2Fi%2Ft0yb7piqt0ahcxbtbnck.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introduced in ES6, template literals allow you to interpolate strings which means you can evaluate and perform methods in strings. It is common in many other languages like Python, JavaScript is just catching up.&lt;/p&gt;

&lt;p&gt;The code snippet in this section provide some practical examples to help you understand how it works. Be mindful that each template literal starts and ends with back ticks, not quotation marks like regular string and the expression you want to be evaluated within the string must start with a dollar sign and be encapsulated with brackets.&lt;/p&gt;

&lt;p&gt;You can also use back ticks to create multiple lines which makes for even more readable code so this replaces the need to perform an escape sequence using the &lt;em&gt;/n&lt;/em&gt; keyword. To format your code a bit better, perform the .trim() method outside of the string to rid yourself of whitespace.&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%2Fi%2F06iai31zgu88rgye505a.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%2Fi%2F06iai31zgu88rgye505a.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What Will We Learn Next?
&lt;/h3&gt;

&lt;p&gt;Hope you've enjoyed learning about how to create and manipulate strings utilizing all of the different methods we can use at our disposal. Next we'll learn more about the differences between null and undefined. &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; Null &amp;amp; Undefined &lt;/li&gt;
  &lt;li&gt; Loops, Objects, Arrays &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>#100DaysOfVanillaJS: JavaScript Lexical Structure, As Explained By Pokemon</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Thu, 09 Apr 2020 12:59:18 +0000</pubDate>
      <link>https://dev.to/taeluralexis/100daysofvanillajs-javascript-lexical-structure-as-explained-by-pokemon-57do</link>
      <guid>https://dev.to/taeluralexis/100daysofvanillajs-javascript-lexical-structure-as-explained-by-pokemon-57do</guid>
      <description>&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%2Fi%2Ffor0pwsmq11p86ii7f5t.gif" 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%2Fi%2Ffor0pwsmq11p86ii7f5t.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Today I want to share a few important rules about writing in JavaScript that I feel is important for you to know, especially if you are just starting your coding journey or overall seeking to better your understanding of the language. As a self-taught developer learning JavaScript, I don't recall finding JavaScript tutorials catered to beginners that explicitly taught the lexical structure of the language so I figured I'd share with you.&lt;/p&gt;

&lt;p&gt;Feel free to bookmark this short post to keep as a basic reference as it will be helpful to be mindful of these rules as you start building stuff with JavaScript!&lt;/p&gt;

&lt;h2&gt;
  
  
  What Does Lexical Structure Mean?
&lt;/h2&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%2Fi%2F1e4bc75l6x0lkmaa1z4p.gif" 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%2Fi%2F1e4bc75l6x0lkmaa1z4p.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's not as complex as it sounds. Every programming language has a lexical structure, which is a set of basic rules you must follow when you're writing code in a language such as how to write comments and name variables.&lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript Is Written In Unicode
&lt;/h2&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%2Fi%2Folgci1ddbbing70qzdj3.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%2Fi%2Folgci1ddbbing70qzdj3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unicode is an international encoding standard supported by almost every writing system and is used in JavaScript, which means you can use emojis or Japanese characters in your code for instance. If you want to read more about unicode (it's not mandatory learning in order to write JavaScript code), &lt;a href="https://www.interproinc.com/blog/unicode-101-introduction-unicode-standard" rel="noopener noreferrer"&gt;go here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Whitespace
&lt;/h2&gt;

&lt;p&gt;Whitespace does not affect your code in JavaScript. You can hit indent and tab as much as you want but if I'm working in an already existing codebase, I usually follow their formal or style of indenting. If you're more experienced with coding, you may be aware of tools like Prettier which help format your code to be readable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Semicolons Are Optional
&lt;/h3&gt;

&lt;p&gt;Semicolons are generally used to indicate the end of a statement but they are not mandatory. You will not encounter an error if you were to choose to not end a variable you declare with a semicolon. I personally use semicolons because to me it makes code more readable for my eye but you don't have to use them.&lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript is Case-Sensitive
&lt;/h3&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%2Fi%2Frkaitg1xedtidg23miqq.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%2Fi%2Frkaitg1xedtidg23miqq.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The spelling of the names of your variables, functions, keywords and other identifiers must be exact. So that means &lt;em&gt;myName&lt;/em&gt; and &lt;em&gt;MyName&lt;/em&gt; are not the same. Another example is with booleans, a topic we'll be touching on later in the series. If we were to set a variable to &lt;em&gt;True&lt;/em&gt; instead of &lt;em&gt;true&lt;/em&gt;, you would encounter an error. &lt;/p&gt;

&lt;h3&gt;
  
  
  Comments
&lt;/h3&gt;

&lt;p&gt;There are 2 different ways to create comments. You can either make a single line comment using 2 forward slashes or create a multi-line comment using a forward slash and an asterisk to create longer, more meaningful comments if you need to. &lt;/p&gt;

&lt;h3&gt;
  
  
  What Are Identifiers?
&lt;/h3&gt;

&lt;p&gt;Identifiers are names. It's how we create references to our variables and functions. You can start any variable name with a dollar sign, underscore or letter. The main rule is to not use numbers as the first character in our identifiers. &lt;/p&gt;

&lt;h3&gt;
  
  
  Reserved Words
&lt;/h3&gt;

&lt;p&gt;Many of these reserved words are already used in JavaScript like &lt;em&gt;let&lt;/em&gt; for instance. It would be rather confusing if we decided to create a declare a let variable and name it &lt;em&gt;let&lt;/em&gt;.&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%2Fi%2Fvkb2puyfum9ekai5uvlo.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%2Fi%2Fvkb2puyfum9ekai5uvlo.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Literals
&lt;/h3&gt;

&lt;p&gt;A literal is a piece of data that appears directly in a program such as numbers, strings (text encapsulated by quotation marks), boolean values and null. &lt;/p&gt;

&lt;p&gt;So...What are we learning next?&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%2Fi%2Fxwx9arrvxu2hdi09xdnf.gif" 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%2Fi%2Fxwx9arrvxu2hdi09xdnf.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So next we will continue on diving deeper into the primitive data type strings and the different ways we can manipulate them so this will get way more fun and practical! Thanks for reading, hope you enjoyed!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>#100DaysOfVanillaJS: What is JavaScript, Primitive Data Types &amp; Let, Var and Const</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Wed, 08 Apr 2020 12:17:21 +0000</pubDate>
      <link>https://dev.to/taeluralexis/100daysofvanillajs-what-is-javascript-primitive-data-types-let-var-and-const-4040</link>
      <guid>https://dev.to/taeluralexis/100daysofvanillajs-what-is-javascript-primitive-data-types-let-var-and-const-4040</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KbMDttK3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/764lv5910ojc3tmd3l7u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KbMDttK3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/764lv5910ojc3tmd3l7u.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;Sailor Moon learning how to code :p &lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why Did I Create The #100DaysofVanillaJS Series?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;(This a completely optional part of the tutorial, feel free to skip it!)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The series serves as my attempt at explaining JavaScript the best way I can. It took failing, building and having to work with it in day-to-day situations to truly begin to not only understand it, but appreciate it for what it is and what it can do.&lt;/p&gt;

&lt;p&gt;My goal for the series to not only introduce you to the fundamentals of the programming language, but also explain how JavaScript works under the hood without any frameworks or libraries. This will be an ongoing and ever-evolving series as JavaScript will continue to come out with more features. I also seek to deepen my own knowledge of the language and this is a great way to better my technical communication abilities.&lt;/p&gt;

&lt;p&gt;My aim is to make this series digestible and easy for everyone to understand, whether you’re a complete beginner to coding or prepping for those all too intense technical interviews. &lt;/p&gt;

&lt;p&gt;Should you expect a post every day? Not quite but it will be very frequent and at least weekly. The goal is to make 100 posts about JavaScript by the end of 2021, ready for this adventure?&lt;/p&gt;

&lt;h2&gt;
  
  
  What is JavaScript, really?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eLUmJJXj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ehuru32yzkutu4jbmwc5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eLUmJJXj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ehuru32yzkutu4jbmwc5.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JavaScript is a programming language that makes web pages more dynamic. HTML is the text of a webpage, CSS is how you style it, and JavaScript is the flavor that makes things a bit more interactive. Whenever a user interacts with a page (clicking buttons, changing pages, rating a tutorial, etc), JavaScript is definitely involved. When you combine those three web technologies, you are bound to create really dope stuff.&lt;/p&gt;

&lt;p&gt;JavaScript is a  &lt;strong&gt;dynamically typed&lt;/strong&gt; language, meaning you don't have to declare a type when you're setting a value and can freely change types unlike more statically typed languages or tools like C++ where you must declare the value type when you initialize. In a dynamically typed language like JavaScript, once your code runs, the JavaScript engine will decide what type the value is so you don't explicitly have to. &lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript as a language is ever evolving
&lt;/h3&gt;

&lt;p&gt;JavaScript is implemented by different browsers and it's up to those browsers to implement new features. There is an organization called &lt;strong&gt;ECMA&lt;/strong&gt;, an international group in charge of different standards. &lt;strong&gt;ECMAscript&lt;/strong&gt; is a specification for a programming language- rules on how it should behave and work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TC39&lt;/strong&gt; is a committee that is in charge of maintaining this document and every year delegates link up and determine what new features need to be added to it. This is why we have &lt;strong&gt;ES2015, ES2016, ES2017, 2018,&lt;/strong&gt; etc! &lt;/p&gt;

&lt;p&gt;Different browsers will support different features at any time, so I highly advise you to bookmark sites like caniuse.com to stay up to date on browser compatibility for JavaScript features. Some features you'll learn like template literals will be supported by most browsers but not available on some like IE11. &lt;/p&gt;

&lt;h2&gt;
  
  
  So how do we run it??
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q6dv-Daz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/psio1w5k1yam4iio2h1z.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q6dv-Daz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/psio1w5k1yam4iio2h1z.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
   &lt;li&gt;&lt;strong&gt;A web browser&lt;/strong&gt;&lt;/li&gt;
   &lt;li&gt;&lt;strong&gt;Any text editor&lt;/strong&gt;&lt;/li&gt;
   &lt;li&gt;
&lt;strong&gt;Console&lt;/strong&gt;- To quickly run and debug code without any setup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;JavaScript only requires a web browser (like Chrome or Firefox) and a text editor. There's default text editors you can find on your laptop or desktop depending on what operating system you use like Notepad or iTerm. You can also download an editor like Sublime or Visual Studio Code (my preferred text editor because it comes with a built-in terminal). &lt;/p&gt;

&lt;p&gt;The JavaScript console is where you can quickly run, test and debug your code instantly. This is where you can test out what I'll be teaching you in these next few lessons.&lt;/p&gt;

&lt;p&gt;If you're not too aware of what Dev Tools are yet, basically this is where you can inspect the elements and performance of a webpage and run code in the console. The console can be considered a playground for you now to create basic variables and functions. &lt;/p&gt;

&lt;p&gt;If you're in Chrome, you can also just go to View -&amp;gt; Developer -&amp;gt; JavaScript console, as shown below.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--duyCaCAl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ew8eej1yffudipnglzdz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--duyCaCAl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ew8eej1yffudipnglzdz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're in Firefox, click on the Firefox Menu in the upper-right-hand corner of the browser and select Web Developer -&amp;gt; Browser Console. &lt;/p&gt;

&lt;p&gt;If you're using a different web browser, you can do a quick lookup on their search engine for how to open developer tools. But in future tutorials, I'll mainly be using Chrome Dev Tools!&lt;/p&gt;

&lt;p&gt;Ok, enough...let's get to learning JavaScript now!&lt;/p&gt;

&lt;h2&gt;
  
  
  Primitive Data Types
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fH9C_-ag--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0oo2vu7a4zr0ol14j5le.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fH9C_-ag--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0oo2vu7a4zr0ol14j5le.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Data types are the different types of data we use in an application. I'll be diving deeper into some of the data types in future lessons like strings, booleans, and null and undefined since I don't want to drag this blog post on too long!  &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Data Type&lt;/th&gt;
    &lt;th&gt;Definition&lt;/th&gt;
    &lt;th&gt;Example&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;String&lt;/td&gt;
    &lt;td&gt;String of text encapsulated in either single- or double-quotes&lt;/td&gt;
    &lt;td&gt;"We will conquer JavaScript together"&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Number&lt;/td&gt;
    &lt;td&gt;To represent numeric data (positive, negative, whole and decimal)&lt;/td&gt;
    &lt;td&gt;3, 3.5, 2.00&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Boolean&lt;/td&gt;
    &lt;td&gt;Represents information as true or false&lt;/td&gt;
    &lt;td&gt;true or false&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Symbol&lt;/td&gt;
    &lt;td&gt;A unique identifier/value that's not equal to any other value&lt;/td&gt;
    &lt;td&gt;const mySymbol = Symbol();&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;Null&lt;/td&gt;
    &lt;td&gt;Intentional/explicit absence of any value, can be reassigned later&lt;/td&gt;
    &lt;td&gt;const relationshipStatus = null; &lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;Undefined&lt;/td&gt;
    &lt;td&gt;A variable that is not assigned a value; implicit&lt;/td&gt;
    &lt;td&gt;const noValue; &lt;/td&gt;
  &lt;/tr&gt;

&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  typeof function()
&lt;/h2&gt;

&lt;p&gt;So a neat function that you can use to check the type of a piece of data is by typing &lt;em&gt;typeof&lt;/em&gt;. Play around and experiment!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J6jpYMQU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/461fk3yqb3no9vgsty1y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J6jpYMQU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/461fk3yqb3no9vgsty1y.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Numbers
&lt;/h2&gt;

&lt;p&gt;Pretty straightforward, numbers can be a type of value. You can perform mathematical operations such as division, subtraction, addition, multiplication, etc! When you're performing multiple mathematical operations at once, keep in mind that JavaScript follows PEMDAS (certain operations in a sequence are performed at a higher level of priority in others...so parantheses, exponents, multiplication, division, addition, subtraction).&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Operation&lt;/th&gt;
    &lt;th&gt;Symbol&lt;/th&gt;
    &lt;th&gt;Meaning&lt;/th&gt;
    &lt;th&gt;Example&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Addition&lt;/td&gt;
    &lt;td&gt;+&lt;/td&gt;
    &lt;td&gt;To Add&lt;/td&gt;
    &lt;td&gt;2 + 2&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Subtraction&lt;/td&gt;
    &lt;td&gt;-&lt;/td&gt;
    &lt;td&gt;To subtract&lt;/td&gt;
    &lt;td&gt;2-2&lt;/td&gt;
  &lt;/tr&gt;
 &lt;tr&gt;
    &lt;td&gt;Division&lt;/td&gt;
    &lt;td&gt;/&lt;/td&gt;
    &lt;td&gt;To Divide&lt;/td&gt;
    &lt;td&gt;32 / 2 &lt;/td&gt;
  &lt;/tr&gt; 
&lt;tr&gt;
    &lt;td&gt;Multiplication&lt;/td&gt;
    &lt;td&gt;*&lt;/td&gt;
    &lt;td&gt;To Multiply&lt;/td&gt;
    &lt;td&gt;2*2&lt;/td&gt;
  &lt;/tr&gt; 
&lt;tr&gt;
    &lt;td&gt;Remainder or Modulo Operator&lt;/td&gt;
    &lt;td&gt;%&lt;/td&gt;
    &lt;td&gt;Returns the remainder that is left after you divide the second number into the first numbers as many times as you can like 3 % 3 leaves 0  &lt;/td&gt;
    &lt;td&gt;5 % 5 = 0 (5 goes into 5 five times right? So that means there is no remainder and you're left with nothing, which is the answer.)&lt;/td&gt;
  &lt;/tr&gt; &lt;tr&gt;
    &lt;td&gt;Exponential&lt;/td&gt;
    &lt;td&gt;**&lt;/td&gt;
    &lt;td&gt;To raise a number to a certain power&lt;/td&gt;
    &lt;td&gt;2**2&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  A Simple Note About NaN...
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wexaqVCc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xbtrt6szuay8azht98sh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wexaqVCc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xbtrt6szuay8azht98sh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
When you try to perform mathematical operations (besides additions) with strings, they will return NaN (Not a Number).&lt;/p&gt;

&lt;h2&gt;
  
  
  Var, Let, &amp;amp; Const
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D2mZZiFA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0g2wd6wjkjordxfkl79i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D2mZZiFA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0g2wd6wjkjordxfkl79i.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
To put it rather simply, variables are how we store a value that we can later reference, use and change in the future. When we get into functions, how we are able to access and reference certain variables will change but for now let's not worry too much!&lt;/p&gt;

&lt;p&gt;The preferred way to set variables where we can easily change the meaning/value is &lt;em&gt;let&lt;/em&gt;. We used to declare variables using &lt;em&gt;var&lt;/em&gt; but it is no longer considered best practice. There are some reasons why var is no longer considered best practice and we'll delve deeper into why when we address scope later on. What to keep in mind for now is that var is not strict and can potentially cause errors since you can re-declare the same variable more than once which may lead to confusion as your application grows.&lt;/p&gt;

&lt;p&gt;There are a few other best practices to be mindful when we are declaring variables:&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;Try to be as descriptive yet concise as you can when you are naming the variable&lt;/li&gt;
 &lt;li&gt;We write our variables in camelCase. Examples: let myName, const currentUser  &lt;/li&gt;
 &lt;li&gt;There are reserved keywords we are not allowed to use when we name variables. Examples of reserved keywords: &lt;strong&gt;let&lt;/strong&gt; (as that would be super confusing), &lt;/li&gt;
&lt;li&gt;You cannot have variables with the same name even if we declare with both let and const. Ex: let myName &amp;amp; const myName will not work!
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can easily re-assign a value to &lt;em&gt;let&lt;/em&gt; variables or re-name as they are mutable by default, but const variables cannot be reassigned. You will be met with an error. This will definitely not be the only time we address the differences between var, let and const. The topic will come up again when we address local and global scope in the context of functions so don't fret!&lt;/p&gt;

&lt;h2&gt;
  
  
  Comments, Comments, Comments
&lt;/h2&gt;

&lt;p&gt;Comments are how we leave reminders for our future ourselves or teammates about the code we've written. They can either be single-line or multi-line comments as demonstrated below: &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0zpxT419--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/61sm7h03h7myyvewzfyo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0zpxT419--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/61sm7h03h7myyvewzfyo.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So what's next...
&lt;/h2&gt;

&lt;p&gt;We'll be covering topics such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Null &amp;amp; Undefined&lt;/li&gt;
&lt;li&gt;The newest data type: symbol&lt;/li&gt;
&lt;li&gt;All About Strings&lt;/li&gt;
&lt;li&gt;Functions, Local &amp;amp; Global Scope&amp;gt;
&lt;/li&gt;
&lt;li&gt;Loops, Arrays and Objects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that is just a few of the countless topics we'll be covering in JavaScript. I hope this gave you a taste of what's yet to come. I hope you enjoyed so far! Feel free to leave topics or questions you would like me to address in future posts pertaining to JavaScript too!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>How I Landed My First Web Developer Role Without A Degree or Bootcamp: Lessons Learned, Resources &amp; Tips</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Mon, 16 Dec 2019 13:01:17 +0000</pubDate>
      <link>https://dev.to/taeluralexis/how-i-landed-my-first-web-developer-role-without-a-degree-or-bootcamp-lessons-learned-resources-tips-39ag</link>
      <guid>https://dev.to/taeluralexis/how-i-landed-my-first-web-developer-role-without-a-degree-or-bootcamp-lessons-learned-resources-tips-39ag</guid>
      <description>&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F54fh24s8f09cjjaf741a.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F54fh24s8f09cjjaf741a.jpg" alt="Alt Text"&gt;&lt;/a&gt; &lt;/p&gt;
When I first started working in Seattle! It was a beautiful day 



&lt;p&gt;I've always wanted to sit down and write down my whole journey of how I transitioned into tech and landed a web developer role without a college degree or bootcamp experience. I strictly used free or low cost online resources. &lt;/p&gt;

&lt;p&gt;My particular journey contains so many mistakes and failures along the way that I ultimately feel like was essential to my growth. &lt;/p&gt;

&lt;p&gt;I hope you find value in this &lt;strong&gt; super long but necessary &lt;/strong&gt; article and if there's any questions you may have, feel free to leave them down below.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Background
&lt;/h2&gt;

&lt;p&gt;Without diving too deep into my background, I am 23 years old and was born and raised in Southern California. I'm the first in my family to graduate high school. I dropped out of college my freshman year and ended up without direction or a sense of purpose. I started working as a cashier at places like Macys and Kohls. I felt like an embarrassment, not because I was working retail but because people around me had set expectations for me to be an overachieving college student. I didn't have a passion for years.&lt;/p&gt;

&lt;h2&gt;
  
  
  Falling First Before Learning How to Fly
&lt;/h2&gt;

&lt;p&gt;The origins of how I discovered coding is a mystery now because I've forgotten. I do remember being inspired by the story of Aaron Swartz, a self taught engineer who co founded Reddit. &lt;/p&gt;

&lt;p&gt;February 2017 was when I first tried learning how to code via Codecademy's free Python course. But I was put off by the simplistic syntax and instantly felt like I wasn't learning. I was thinking, "What was the purpose of arrays? Functions are hard to understand. I can't do this." It was my first exposure to computer science. I never even messed with HTML and CSS on Myspace or other social network sites when I was a kid like others. I was completely brand new. So I gave up. I quit. I didn't have the strongest support system outside of my mom and one friend. Most just assumed I was not technical enough given that math was never my strong suit and only holding positions in customer service. &lt;/p&gt;

&lt;p&gt;What motivated me to pursue tech was the loss of my father July 18, 2017. He encouraged me to keep going with tech actually. He knew nothing about software development (neither did I at the time really), but he often encouraged me to have my own career and take charge in my life. Whenever I learned something, he would cheer me on. &lt;/p&gt;

&lt;p&gt;I revisited coding when I discovered web development in fall of 2017. That's when I bought Colt Steele's web development course on sale for $10. That is precisely when everything clicked for me. I realized frontend development was for me. I started building landing pages and genuinely liking it.&lt;/p&gt;

&lt;p&gt;I made a pledge (the first of several) to #100DaysOfCode challenge which is where you make a commitment to set aside time every day to learn and code. I often "failed" because I would lose track or have to take breaks due to working full time and having imposter syndrome but the key to my success was that I kept going. Even if I took a break and didn't code for a day or a week, I still resumed my studies. &lt;/p&gt;

&lt;h1&gt;
  
  
  Why Did I Not Go To A Bootcamp or Back To College?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;I was broke lol.&lt;/strong&gt; I was working full-time making ends meet at places like Walmart and Boston Market. I didn't have the resources to attend bootcamp or college full or part time. I was way too in debt and poor to do either of those options. &lt;strong&gt;I strongly advise anyone considering bootcamp to read the income sharing agreements in depth. Understand the legalities of the situation before you choose.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Self directed learning means you have to sift through tons of resources in order to build your own curriculum but it's the least costly option out of the three and that's why I chose it. Anything you learn at a bootcamp or in a CS program you can find online. There's a plethora of quality online resources, you just have to have that willingness to find what you're looking for.&lt;/p&gt;

&lt;p&gt;You can build a network and find community support through a plethora of slack and discord communities, Twitter (follow #100DaysOfCode, #CodeNewbie, #DevDiscuss hashtags to find your people). I'm not saying that this is guaranteed but it's definitely not impossible. Also FreeCodeCamp has Facebook groups for people in different locations around the world and you can host or attend meetups there.&lt;/p&gt;

&lt;p&gt;My advice to you is to &lt;strong&gt;know and explore your options&lt;/strong&gt;. Weigh the pros and cons of each. Everyone has their own priorities and responsibilities so do you. &lt;/p&gt;

&lt;h2&gt;
  
  
  First Interview, First Disappointment
&lt;/h2&gt;

&lt;p&gt;My first interview was for a mid-level React Native developer role in March of 2018. I can honestly tell you I was not qualified for the role in the slightest. I had built a few projects in React but my knowledge of JavaScript wasn't on par for the job. &lt;/p&gt;

&lt;p&gt;The first interview with them was a cultural screening which usually consists of them asking about your background and goals. It is their way of assessing your personality and to see if you what you want aligns with what they want out. &lt;/p&gt;

&lt;p&gt;The technical portion is where they see if you're what they &lt;strong&gt;&lt;em&gt;need&lt;/em&gt;&lt;/strong&gt; from a technical standpoint. Usually technical interviews are a collaborative effort between you and the interviewer where you attempt to solve a problem. They always say they don't expect you to find the answer and that they're more focused on how you communicate your thought process. I failed miserably in this portion. I was often in my own head which led to me being silent the whole time. I was essentially blocking out the interviewer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Unpaid Internship: The Raw Truth
&lt;/h2&gt;

&lt;p&gt;Full disclaimer, I don't support unpaid internships. Unpaid labor is unethical in nature, there is no way around that. But at the same time, I needed that experience on my resume. I completely understand those of us who do take on unpaid work. It really is what it is. We're all trying to reach that final destination where we have salaried jobs complete with quality healthcare and the ability to provide for ourselves. So I'll never shame anyone for contributing to open source or working for free. Just understand that your skills have value. I see it as a stepping stone but I'll never recommend it to anyone else because technically it is unethical. To omit this part of my journey would not be transparent and true to the story. &lt;/p&gt;

&lt;p&gt;I recommend to those looking to gain experience, build sites for those around you. You can start freelancing asap. Learning Wordpress or Shopify can increase your chances of gaining clients. It takes a certain type of mindset but the key is to start building stuff for real people. That in itself is experience that you can put down on your resume. &lt;/p&gt;

&lt;p&gt;Back to the unpaid internship. It was located in a business building in downtown Orlando, Florida. I had a really cool friend who was also learning how to code (more backend focused on NodeJS) and he helped me get an internship along with him. I started in the summer of 2018. We were building a site for a jazz musician. The gig only lasted a month or so for me due to reasons you'll find out soon. &lt;/p&gt;

&lt;h2&gt;
  
  
  More Interviews, More Opportunities to Grow
&lt;/h2&gt;

&lt;p&gt;Summer of 2018 was amazing. I was finally landing more interviews. There were 2 I was focused on: one for a Angular position at a tech company in downtown Orlando and then the other one was at an agency in Seattle. &lt;/p&gt;

&lt;p&gt;The Angular role had an intense interview process but the stage I was at was to essentially build a CRUD (a simple application that allows users to create, view, update/modify and delete. Example is a todos app). They wanted me to use Angular 1.5. I only had experience using React so this forced me to learn something new and it was a challenge to say the least. &lt;/p&gt;

&lt;p&gt;The other interview at the agency in Seattle was more straightforward. I had to meet the team on Skype, go in depth about an existing project I have and then you'll get an offer or rejection afterwards. I learned from other interviews that you're interviewing them more than they are interviewing you. I inquired the CEO about work life balance, goals and expectations of the role within 3/6/12 months, asked the lead engineer about their communication style, thoughts on mentorship and onboarding, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools and Resources
&lt;/h2&gt;

&lt;p&gt;These are the resources I actually used in my coding journey. Most of these resources are free. The main caveat of self directed learning is building your own curriculum with little to no guidance. It took me trying so many different resources for months before I found the content that sticks. I had to find my learning style and that involved messing up and trying a mixture of video tutorials, courses and written guides. &lt;/p&gt;

&lt;h3&gt;
  
  
  Udemy
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web Developer BootCamp by Colt Steele&lt;/strong&gt;- Colt set the standard on teaching for me. His instructor style and ability to condense technical topics in a way others can understand is what helped me understand the fundamentals of web development&lt;/li&gt;

&lt;li&gt;
&lt;strong&gt; JavaScript: Understanding the Weird Parts&lt;/strong&gt;- A strong recommendation for anyone who is seeking a role in web development. I can't stress this course enough. You'll learn the inner workings of Javascript and build your own library to solidify your understanding of core concepts. This course actually helps you understand frameworks and libraries like React more and will prepare you for technical questions on interviews for sure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  YouTube
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Traversy Media&lt;/strong&gt;- The whole channel is everything. Brad Traversy has a whole free course on PHP basics. You can find tutorials on so many topics in web development and I strongly urge you to subscribe.&lt;/li&gt;

&lt;li&gt;
&lt;strong&gt; FreeCodeCamp&lt;/strong&gt;- The self taught developer's best friend. The YouTube channel is where you can find so many great courses on topics ranging from network/app pentesting (for those interested in cyber security), AI/machine learning, Python, JavaScript and more.

&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kevin Powell&lt;/strong&gt;- If you seek to better your understanding of CSS. His channel is full of gems and a must for frontend developers. &lt;/li&gt;

&lt;li&gt;
&lt;strong&gt;Coding Phase&lt;/strong&gt;- You'll find value in both his YouTube channel and courses because he adds a refreshing, relatable feel in everything he produces. His projects are also really original and different from the rest.&lt;/li&gt;

&lt;li&gt;
&lt;strong&gt;Hamza Mirza&lt;/strong&gt;- He has really good tutorials on React. If you've already learned the basics of React or just getting started with the library and you're looking for project ideas as a way to solidify your understanding, his channel has some good direction for you.

&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Big Offer
&lt;/h2&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdpka0r7xv4qhl0ddqd1q.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdpka0r7xv4qhl0ddqd1q.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
July 18, 2018 was a monumental day for so many reasons. It was the one year anniversary of my father's passing. It was also the day I knew I was going to find out if I got the job or not at this company called Mercutio. I was an abundance of nerves as you might imagine. I was curled up in a ball soaking in a deathly hot bathtub listening to music to calm down. I remember the visual vividly. I was so so committed to making this dream happen. I had become so accustomed to quitting and failing so much in my life and learning how to code was the first habit I ever stuck to. While these thoughts are running through my mind, the phone rings. Seattle area code. I took a deep breath and answered. &lt;/p&gt;

&lt;p&gt;The CEO first started off by telling me all of the great feedback he received from the team. I wish I could remember but I can't, my heart was racing. Then he paused for a brief second and said, "I would like to offer you-". I'm pretty sure I muted the phone and screamed violently lmao I had got the offer I had been working so hard for. I was crying in silence while he told me all of the benefits without skipping a beat. Good salary, Full healthcare coverage (dental, vision, etc), a relocation package to Seattle and a new start. I thanked him profusely and I just couldn't believe it. I would be starting by the end of the month. I wasn't even worried about moving across the country on my own to a city I've never visited, that has never mattered to me. I was all about chasing that opportunity and seeing where life takes me.&lt;/p&gt;

&lt;h2&gt;
  
  
  My First Day
&lt;/h2&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fn23rdwhytja5pn1royir.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fn23rdwhytja5pn1royir.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Walking into my first day as a professional front end developer was everything. Your first day will most likely consist of setting up your environment and making sure you have everything you need to start. Thorough onboarding is key for everyone but especially junior engineers.&lt;/p&gt;

&lt;p&gt;Daily tasks as a junior engineer involved bug fixes and pair programming on more challenging tasks. I did get to maintain a huge project on my own once I showed I was capable. &lt;/p&gt;

&lt;h2&gt;
  
  
  Minor Setback For A Major Comeback
&lt;/h2&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6n2dk5di2ipbeu7l14ii.gif" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6n2dk5di2ipbeu7l14ii.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
 The Universe: "Oh you thought it was about to be smooth sailing from here on out?? Humble yourself"



&lt;p&gt;So unfortunately due to budget cuts, I was laid off from my first job by the winter. I was like oh no lol I'm in this whole new city away from family. But thankfully I was smart in that I saved most of my checks so I had enough to pay rent for 3 or 4 months while I prepared for the next step. Quitting the industry wasn't a viable option. I was like "You have professional experience now and you're in one of the best cities for tech, you didn't come this far to succumb to another obstacle". I sat down and thought about what I truly wanted in my next role.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Do I Do Now?
&lt;/h2&gt;

&lt;p&gt;I've learned how to code, I landed a professional job, relocated to a whole new city, and got laid off. What do I do now?&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7y6b91hkoejer19011yl.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7y6b91hkoejer19011yl.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
I had the opportunity to serve a brand ambassador role for Microsoft's Build conference with some really awesome and exceptionally talented people who are now my family!



&lt;p&gt;I work from home contracting for 2 companies at the moment as a frontend engineer. I currently reside in Georgia and am relocating to Atlanta. I'm also traveling as a conference speaker. I've also made the commitment to really hone my content creation skills. I'm happy&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ftwukk3mpohh5959w37s1.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ftwukk3mpohh5959w37s1.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
 My first international talk occurred over a week ago in Berlin.



&lt;p&gt;I'm starting a &lt;a href="//patreon.com/taelur"&gt;Patreon&lt;/a&gt; so I can focus my efforts on continuing to create resources for the community like &lt;strong&gt; #AnAlgorithmADay challenge &lt;/strong&gt; which is a daily commitment to improving as an engineer by studying data structures and algorithms. I'll be writing and sharing videos on topics ranging from Big O Notation, recursion and stacks and queues to even dynamic programming. My biggest fear when it came to tech was technical interviews and while I still see the process as flawed and limiting, I want to always use my platform to help others improve and grow with me. I also want to host frequent Q&amp;amp;A sessions and online workshops via Patreon as well.&lt;/p&gt;

&lt;p&gt;So freelancing by day and creating technical content by night is the dream I'm working towards. I'm about 3/4 of the way there haha lol.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reflections: Things I Wish I Had Done In My Coding Journey
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt; Accessibility is a priority, not an afterthought: &lt;/strong&gt; Commit to writing accessible code as early as you can in your career. Make it a habit. Bookmark resources on semantic markup. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt; Take AND Finish Harvard's Free Computer Science course: &lt;/strong&gt;This is an optional tip but I think I would've taken this course in the beginning of my journey because it introduces you to computer science concepts and the reviews are phenomenal. Plus it's free lol it's on edx.org. Enroll anytime and great for those who don't even have programming experience.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt; Focused way more on vanilla JavaScript:&lt;/strong&gt; Technical interviews most often test your knowledge of raw Javascript, without frameworks or libraries. I strongly urge to check out Sarah Drasner's Object Explorer and Array Explorer. Experiment with different object and array methods on a consistent basis. That's honestly, in my humble opinion, more beneficial for your growth as a programmer than learning all the frameworks. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt; Created a GitHub Repo To Document My Daily Learnings:&lt;/strong&gt; I recommend this for a plethora of reasons but mainly because 1) Increases GitHub activity which is looked upon favorably by employers and 2) Helps solidify your understanding of creating branches and making commits on Git which is what you'll often do on a daily basis as a developer on the job.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Started Blogging:&lt;/strong&gt; Write down what you've learned. You don't have to be an expert to start sharing knowledge. Just be open to feedback and always seek to improve. You can always revise and edit your posts along the way. Feel free to reference my post on learning Python. Publish your notes, write little tutorials, etc. I say it can have an exponential impact on your growth as an engineer because it helps increase both your technical and social communication skills. The better you are at explaining what you're doing, the better of an asset you'll be to any team you join.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt; More Breaks, Less Burnout and Anxiety:&lt;/strong&gt; Bad time management led to burnout. I was working long shifts by day and then coming home and coding for hours endlessly. Consuming so much knowledge at once is not recommended. Had I &lt;strong&gt;set more flexible goals and allowed myself more rest&lt;/strong&gt;, I would've accomplished more. &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Never compared my journey to others:&lt;/strong&gt; This was why I was overworking myself and burning out. I saw others landing six figure salaries and I was like why not me? If you get to that point, log off and take a break from social media. I try to remind myself that everyone has their own season. I wish I had taken time to just appreciate my own progress so please don't forget to congratulate yourself. You're taking powerful steps and creating your own lane in this world. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope you enjoyed this long story lol. I hope you found value. &lt;/p&gt;

&lt;p&gt;Feel free to follow me on &lt;a href="//twitter.com/taeluralexis"&gt;Twitter&lt;/a&gt;  , read my other posts on &lt;a href="//dev.to/taeluralexis"&gt;here&lt;/a&gt;, and please consider contributing to my &lt;a href="//patreon.com/taelur"&gt;Patreon&lt;/a&gt; so I can produce a lot of content for everyone for 2020 and of course share this story. &lt;/p&gt;

&lt;p&gt;My reason for telling my story is to show that anyone is capable of finding their own way in the world and that you can overcome setbacks.&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>webdev</category>
      <category>career</category>
      <category>motivation</category>
    </item>
    <item>
      <title>#100DaysOfPython Day 2: Functions, Scope and Best Practices</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Tue, 19 Nov 2019 18:08:39 +0000</pubDate>
      <link>https://dev.to/taeluralexis/100daysofpython-day-2-function-and-scope-3fp6</link>
      <guid>https://dev.to/taeluralexis/100daysofpython-day-2-function-and-scope-3fp6</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DSoKzQLF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/70abxudewznrbvg6dhv6.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DSoKzQLF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/70abxudewznrbvg6dhv6.gif" alt="link title"&gt;&lt;/a&gt;&lt;br&gt;
So far I've learned a bit about the different types Python posseses and how to print Hello World. Today however, I've learned more about Python's best practices as well as functions and how the language handles access to variables in the local and global scope &lt;strong&gt;(spoiler alert: Scope works the same way in Python as it does in JavaScript :-p) &lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt; Update: &lt;/strong&gt; My collection of notes will always be updated as I learn more things. I'm merely posting as I actively learn. I do not claim to be a Pythonista, I am not an expert.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advocating for Best Practices
&lt;/h2&gt;

&lt;p&gt;A key quality of an exceptional engineer is consistently writing code that follows best practices. But why is that important? Style guides that contain best practices are basically a set of rules and guidelines that ensures consistency, readability for other humans and efficiency. &lt;/p&gt;

&lt;p&gt;The standard that the Python community follows is called &lt;a href="https://www.python.iorg/dev/peps/pep-0008/"&gt;PEP-8&lt;/a&gt;. My advice, especially when you're a beginner, is to bookmark this style guide (or the relevant style guide to your programming language/framework) and reference it frequently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt; Key tip for early-career developers: &lt;/strong&gt; The best way to write consistently good code is to always practice and reference standard guides.&lt;/p&gt;

&lt;p&gt;Here are just a few of Python's Best Practices:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Rule&lt;/th&gt;
    &lt;th&gt;Meaning&lt;/th&gt; 
    &lt;th&gt;Example&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Function &amp;amp; Variable Names&lt;/td&gt;
    &lt;td&gt;Be explicit with variable &amp;amp; function names &lt;/td&gt;
    &lt;td&gt;x = "x is a nondescript variable name" &lt;br&gt; &lt;strong&gt; vs &lt;/strong&gt; &lt;br&gt; favorite_food =" This variable name gives us a better hint at what this piece of data is about"&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Indentation&lt;/td&gt;
    &lt;td&gt;Indentation is an essential concept in Python&lt;/td&gt;
    &lt;td&gt;Use 4 spaces per indentation level &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Underscores create more readability&lt;/td&gt;
    &lt;td&gt;For your descriptive and longer variable and function names, use underscores to make the names more readable&lt;/td&gt;
    &lt;td&gt; self_care_message() &lt;br&gt; &lt;strong&gt;vs.&lt;/strong&gt; &lt;br&gt;selfcaremessage() &lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refrain from using confusing standalone letters as variable or function names; exception is when they have meaning in math &lt;/td&gt;
&lt;td&gt; Using the lowercase letter &lt;strong&gt;'l'&lt;/strong&gt;, uppercase letter &lt;strong&gt;O&lt;/strong&gt; or uppercase letter &lt;strong&gt;I&lt;/strong&gt; can be confusing. We don't write code for ourselves, we write for others.&lt;/td&gt;
&lt;td&gt; i = 1&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  All About Functions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Indentation Matters, Ya'll
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Anatomy of a Function:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LEVw_oh8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/xvb2fypkn3e1260hs3oe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LEVw_oh8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/xvb2fypkn3e1260hs3oe.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;def&lt;/strong&gt; is how you initalize the function &lt;/li&gt;
&lt;li&gt; Name the function and be as descriptive as you can be (remember if you're being verbose with the naming, use underscores in between each word for the function name) &lt;/li&gt;
&lt;li&gt; Follow the function name with parentheses and a &lt;strong&gt;colon&lt;/strong&gt;! (As a Javascript developer I was initially tripped up by this and kept using a semicolon)&lt;/li&gt;
&lt;li&gt; Make an indentation (a tab or 4 spaces) to create your instructions (aka return or print statement)&lt;/li&gt;
&lt;li&gt; Complete and Exit the function by pressing enter&lt;/li&gt;
&lt;li&gt; Call the function by the name you gave it followed by parentheses&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Difference between a return statement versus a print statement
&lt;/h3&gt;

&lt;p&gt;A return statement will explicitly return a value.&lt;/p&gt;

&lt;p&gt;A print statement will return nothing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JUu0eO_o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/27x8th75pcpnwwjz73hd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JUu0eO_o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/27x8th75pcpnwwjz73hd.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Local and Global Scope
&lt;/h3&gt;

&lt;p&gt;Scope is what determines what variables you can access. I learned in JavaScript that there is a global scope as well as a local scope.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt; Local scope &lt;/strong&gt; is when the variables you define within a function can only be accessed in that very function in which you defined it. It won't be accessible to the &lt;strong&gt;global scope &lt;strong&gt;(aka rest of the application).&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In internal/local scope, the function has access to variables defined within it; has access to variables defined in the global scope (aka rest of application outside that function) but cant change them. Meaning you can't reassign a global variable within a local function. &lt;/p&gt;

&lt;p&gt;Functions without proper whitespace leads to an indentation error. &lt;/p&gt;

&lt;p&gt;In production-level code, don't have too many global variables outside of a defined scope to prevent confusion and bugs; constants are okay to define outside of a scope&lt;/p&gt;

&lt;h3&gt;
  
  
  Notes on Arguments
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RnPxWyhJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/6310momn665cug373j8m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RnPxWyhJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/6310momn665cug373j8m.png" alt="link title"&gt;&lt;/a&gt;&lt;br&gt;
Positional arguments are all required and must be given in the order in which they are declared.&lt;/p&gt;

&lt;p&gt;Default arguments is kinda like the fallback/default option when you don't call the last argument when you invoke a function. It is always the last argument in a function. &lt;/p&gt;

&lt;h1&gt;
  
  
  What Will I Learn Next in Day 3 of the #100DaysOfPython series?
&lt;/h1&gt;

&lt;ul&gt;
 &lt;li&gt;More advanced data types like sets, tuples, dictionaries&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>todayilearned</category>
      <category>python</category>
      <category>100daysofcode</category>
      <category>beginners</category>
    </item>
    <item>
      <title>#100DaysOfPython Day 1: Hello World, Data Types &amp; Strings</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Sat, 16 Nov 2019 22:47:47 +0000</pubDate>
      <link>https://dev.to/taeluralexis/100daysofpython-day-1-hello-world-data-types-strings-2cnk</link>
      <guid>https://dev.to/taeluralexis/100daysofpython-day-1-hello-world-data-types-strings-2cnk</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4C973kVq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tfmgk3o7b62r992yumzx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4C973kVq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tfmgk3o7b62r992yumzx.jpg" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What Led Me To Choose Python As My 2nd Language and why blog?
&lt;/h1&gt;

&lt;p&gt;Frankly, I needed a break from front-end development with JavaScript and wanted to dive deep into a new language. I love how Python is used practically everywhere from machine learning, robotics, fintech, freaking NASA, etc. My goals are to build bots that track the prices of products, create helpful developer tools snd get a better understanding of CS concepts and build full-stack projects. I could've easily done all of those things with JS but why not something different?&lt;/p&gt;

&lt;p&gt;My mission is to always encourage people to not be afraid to be open about learning something new. We are all a novice at something. &lt;/p&gt;

&lt;p&gt;My plan is to make it a nightly habit to convert my handwritten notes into blog posts. I'm treating the series as merely a digital collection of notes to share with the community as opposed to traditional tutorials. I encourage everyone of all experience levels to try as well. It's a great way to review and solidify your learnings as well as great practice for bettering your communication skills for technical interviews&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update: &lt;/strong&gt;My collection of notes will always be updated as I learn more things. They are notes, not comprehensive tutorials. I'm merely posting as I actively learn. I do not claim to be a Pythonista, I am not an expert.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Journey to Hello World
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N0LnWdH_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/lugc0jzgnybwqa588x2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N0LnWdH_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/lugc0jzgnybwqa588x2v.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So after installing &lt;a href="http://anaconda.com/download"&gt;Anaconda&lt;/a&gt;, I started writing Python code using the Jupyter Notebook that's typically located on localhost:8888.&lt;/p&gt;

&lt;p&gt;You use the print() function to print "hello world" and then boom. That's it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Data Types
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Name&lt;/th&gt;
    &lt;th&gt;Data Type&lt;/th&gt; 
    &lt;th&gt;Meaning&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;integers&lt;/td&gt;
    &lt;td&gt;int&lt;/td&gt;
    &lt;td&gt;whole numbers like 1, 2, 3&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Floating point&lt;/td&gt;
    &lt;td&gt;float&lt;/td&gt;
    &lt;td&gt;numbers with decimal point like 100.00 or 30.2&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Strings&lt;/td&gt;
    &lt;td&gt;str&lt;/td&gt;
    &lt;td&gt;Ordered sequence of characters that uses double or single quotes like "hello" or 'hello'&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Lists&lt;/td&gt;
    &lt;td&gt;list&lt;/td&gt;
    &lt;td&gt;ordered sequence of objects; similar to JS arrays&lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;Dictionaries&lt;/td&gt;
    &lt;td&gt;dict&lt;/td&gt;
    &lt;td&gt;unordered key:value pairs&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Tuples&lt;/td&gt;
    &lt;td&gt;tup&lt;/td&gt;
    &lt;td&gt;ordered immutable sequence of objects&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Sets&lt;/td&gt;
    &lt;td&gt;set&lt;/td&gt;
    &lt;td&gt;unordered collection of unique objects&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Booleans&lt;/td&gt;
    &lt;td&gt;bool&lt;/td&gt;
    &lt;td&gt;logical value either True or False&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Arithmetic Operations
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Operation&lt;/th&gt;
    &lt;th&gt;Symbol&lt;/th&gt;
    &lt;th&gt;Meaning&lt;/th&gt; 
    &lt;th&gt;Example&lt;/th&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Addition&lt;/td&gt;
    &lt;td&gt; + &lt;/td&gt;
    &lt;td&gt;To Add&lt;/td&gt;
    &lt;td&gt; 2 + 2 &lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Subtraction&lt;/td&gt;
    &lt;td&gt; - &lt;/td&gt;
    &lt;td&gt;To Subtract&lt;/td&gt;
    &lt;td&gt; 2 - 2 &lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Division&lt;/td&gt;
    &lt;td&gt; / &lt;/td&gt;
    &lt;td&gt;To Divide &lt;/td&gt;
    &lt;td&gt; 2 / 2 &lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;Multiplication&lt;/td&gt;
    &lt;td&gt; * &lt;/td&gt;
    &lt;td&gt;To Multiply&lt;/td&gt;
    &lt;td&gt; 2 * 2 &lt;/td&gt;
  &lt;/tr&gt;
  
  &lt;tr&gt;
    &lt;td&gt;Modulo Operator&lt;/td&gt;
    &lt;td&gt; % &lt;/td&gt;
    &lt;td&gt;To return the remainder after a division&lt;/td&gt;
    &lt;td&gt; 5 % 5 = 0 &lt;/td&gt;
  &lt;/tr&gt;

&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Variables, Done The Python Way
&lt;/h2&gt;

&lt;p&gt;Python is dynamically typed like JavaScript, meaning you can reassign variables to different data types. Statically typed languages like C++ are more strict because you must define the type of value a variable is set to when you first initialize the variable and prevents the occurrence of bugs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N42IA9ob--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/l6dw14xglriy5949yo5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N42IA9ob--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/l6dw14xglriy5949yo5f.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;type()&lt;/strong&gt; function is a built-in method in Python that lets you check the data type of a variable in case you ever forget!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OwcVyph5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/inqadhsbd19a8b2padd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OwcVyph5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/inqadhsbd19a8b2padd9.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Part I About Strings
&lt;/h2&gt;

&lt;p&gt;Notes about strings will be continued in Day 2 of the #100DaysOfPython series and that will go more in depth about slicing, indexing, print formatting and more which I'm exciting about blogging about tonight because I definitely fucked up on it lol.&lt;/p&gt;

&lt;p&gt;A string is an ordered sequences of characters, meaning each character within a string has its own ordered position. This allows you to easily grab or a character within a string using index notation &lt;/p&gt;

&lt;p&gt;Character: h e l l o&lt;br&gt;
Index:     0 1 2 3 4&lt;/p&gt;

&lt;p&gt;The whitespace within a string count as a character too&lt;/p&gt;

&lt;h3&gt;
  
  
  Index Notation
&lt;/h3&gt;

&lt;p&gt;Indexing allows you to grab a single character from a string using index notation. Remember space within the string counts as characters!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aLmy7Nku--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f3psj2oy2wwth55mol4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aLmy7Nku--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f3psj2oy2wwth55mol4g.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;len&lt;/strong&gt; function checks the length of a string. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PFwHKaHQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/nk0fambpjwmvfg1qtbk8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PFwHKaHQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/nk0fambpjwmvfg1qtbk8.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Escape Sequence
&lt;/h3&gt;

&lt;p&gt;Definition: Special commands inside of your string.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example:
&lt;/h4&gt;

&lt;p&gt;To create a tab in your string use &lt;strong&gt; /n &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FC18zjNR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f9fphf3ym4un4aieb875.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FC18zjNR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/f9fphf3ym4un4aieb875.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Reverse Indexing in a string
&lt;/h3&gt;

&lt;p&gt;Allows you to grab the last used letter in a string&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X1U7hLZ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ye5dn1gqvyvotyo8hhp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X1U7hLZ---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ye5dn1gqvyvotyo8hhp2.png" alt="link title"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Slicing
&lt;/h3&gt;

&lt;p&gt;Grabs a subset or group of characters in a string&lt;/p&gt;

&lt;p&gt;Remember &lt;strong&gt; start:stop:step &lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;Start- A numerical index for starting the slice &lt;/p&gt;

&lt;p&gt;Stop- index you will go up to but dont include &lt;/p&gt;

&lt;p&gt;Step- size of the leap you take&lt;/p&gt;

&lt;h1&gt;
  
  
  What Will I Learn Next in Day 2 of the #100DaysOfPython series?
&lt;/h1&gt;

&lt;ul&gt;
 &lt;li&gt;Lists and Tuples&lt;/li&gt;
 &lt;li&gt;Sets and Dictionaries&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>todayilearned</category>
      <category>python</category>
      <category>100daysofcode</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Break Git Down: How To Create a Branch From Master and Make Your First Commit!</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Mon, 11 Mar 2019 19:48:16 +0000</pubDate>
      <link>https://dev.to/taeluralexis/break-git-down-how-to-create-a-branch-from-master-and-make-your-first-commit-2960</link>
      <guid>https://dev.to/taeluralexis/break-git-down-how-to-create-a-branch-from-master-and-make-your-first-commit-2960</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhelopomwh9qnui7y131g.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhelopomwh9qnui7y131g.gif" alt="link title" width="616" height="338"&gt;&lt;/a&gt;&lt;/p&gt;
Let's just pretend she's reading the latest post on dev.to...



&lt;h1&gt;
  
  
  Introducing the Break Git Down Series!
&lt;/h1&gt;

&lt;p&gt;Break Git Down is a super beginner-friendly series to help newer developers learn a few of the most important Git tasks that you will certainly use. Git is an essential part of every day life as a developer and my goal is to help make the transition to using Git (and ultimately the command line), a smooth and hopefully easy learning curve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Learn it?
&lt;/h2&gt;

&lt;p&gt;Git was one of the things I was scared of when I was learning how to code- mostly due to my irrational fear of the command line. Instead, I used GitHub Desktop which allowed me to lazily drag and drop files. However when I was hired in my first tech role, I soon realized how essential it was to be acquainted with using Git in the terminal. It's an essential part of our everyday lives as developer to use it!&lt;/p&gt;

&lt;p&gt;For sake of brevity, we're going to assume you are working in an &lt;strong&gt;existing repository (aka project that already has a Master branch)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6kz70a9r8xep29sjcyy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6kz70a9r8xep29sjcyy.gif" alt="link title" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
Shut up and teach me already!



&lt;h2&gt;
  
  
  Why Would I Create a Branch Separate From the Master Branch?
&lt;/h2&gt;

&lt;p&gt;To put it in the simplest way, the Master branch contains all of the official code for a project (aka repository). In a typical workplace, we would NEVER directly push code directly to master as a way to reduce the chance of shipping bugs and unnecessary code to production (aka live site). Instead, the safest thing to do is to create additional branches that are separate from the Master branch. Think of them as different versions of your project. &lt;/p&gt;

&lt;h2&gt;
  
  
  Now Let's Get to Pushing!
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fherd65196grtggjx4r2t.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fherd65196grtggjx4r2t.gif" alt="link text" width="640" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's see what branch we are currently in! When we run git branch, it will display all of the branches that are associated with the repository. &lt;/p&gt;

&lt;p&gt;The branch that is highlighted indicates where in the repository we are currently located. &lt;/p&gt;

&lt;p&gt;Next, we will change our location to the master branch so we can be able to start off fresh when we create our new branch! (If you're already in the Master branch, perfect!)&lt;/p&gt;

&lt;blockquote&gt; git branch &lt;/blockquote&gt;

&lt;blockquote&gt; git checkout master &lt;/blockquote&gt;

&lt;p&gt;Let's create a new branch. In this tutorial, we'll call it "newer-branch"&lt;/p&gt;

&lt;blockquote&gt; Git checkout -b "newer-branch" &lt;/blockquote&gt;

&lt;p&gt;Now we've created a new branch so that means whatever change we make (ie creating a file or editing an existing one), will only affect this branch! This is great because we are keeping our code organized and we reduce the risk of messing up the whole project lol.&lt;/p&gt;

&lt;p&gt;So make any changes that you want to the new file. In this instance, I updated the README file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52elvdo33jdmy8kia3z8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52elvdo33jdmy8kia3z8.png" alt="link text" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next we will add the file to our commit. Choose one of two commands. &lt;br&gt;
The first command will add all files to the commit. You would usually only do this if you have made changes to every file or if there is only one file in the repo.&lt;/p&gt;

&lt;blockquote&gt; git add . &lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Option #2 (The one we will do in this tutorial) will only add the file that you specify that you want to commit! You will have to specify the relative path of the file you want to commit. In this case, it will be the README file.
&lt;/h5&gt;

&lt;blockquote&gt; git add README.md &lt;/blockquote&gt;

&lt;p&gt;Next, let's add a detailed description of what we've changed in our commit. -m simply stands for message.&lt;/p&gt;

&lt;blockquote&gt; git commit -m "add a detailed description"&lt;/blockquote&gt;

&lt;p&gt;The git push command allows you to send the commits from your local branch in your local Git repository to the remote repository and it will provide us the exact command we need to push our beautifully new branch to our Git repository! (my favourite command). Later on, we'll be able to merge our "newer-branch" commit to our master branch.&lt;/p&gt;

&lt;blockquote&gt; git push &lt;/blockquote&gt;

&lt;blockquote&gt; git push --set-upstream origin newer-branch &lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou0w789zn3tu9fkkhclw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou0w789zn3tu9fkkhclw.jpg" alt="link" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's check our GitHub!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fec9fa4sppq78u5ytrnrl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fec9fa4sppq78u5ytrnrl.png" alt="link" width="800" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A helpful reminder I'll always advise throughout the series is to practice, practice, practice! You'll learn through repetition. I hope you've enjoyed the first part of the Break Git Down Series. Stay tuned for more!&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>explainlikeimfive</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Nevertheless, Tae'lur Alexis Coded</title>
      <dc:creator>Tae'lur Alexis 🦄⚛</dc:creator>
      <pubDate>Fri, 08 Mar 2019 13:21:55 +0000</pubDate>
      <link>https://dev.to/taeluralexis/nevertheless-taelur-alexis-coded--4l1g</link>
      <guid>https://dev.to/taeluralexis/nevertheless-taelur-alexis-coded--4l1g</guid>
      <description>&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F54tgwyne32n2mmmftnrv.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F54tgwyne32n2mmmftnrv.jpg" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
TLDR; Embrace failure, share your knowledge and focus on your progress



&lt;h1&gt;
  
  
  Reflections on my journey into tech and goals for 2019
&lt;/h1&gt;

&lt;h2&gt;
  
  
  I continued to code in 2019 because...
&lt;/h2&gt;

&lt;p&gt;2018 was a wild year of transformation and I was determined to ride that fire this year. As some of you may know, I come from a non-traditional background with no prior exposure to computer science. I was always more into the arts and history and definitely wasn't mathematically inclined so I never considered a career in STEM to be an option. Nevertheless, I stumbled upon coding while browsing the internet seeking a better life. Learning on my own instead of going back to school or enrolling in a boot camp, I learned to filter through the vast majority of learning resources in order to develop my own curriculum. I didn't really know what I was doing. Like I said I didn't have any experience with coding whatsoever. &lt;/p&gt;

&lt;p&gt;My journey wasn't perfect. I relearned concepts like DOM manipulation over and over until it somewhat made sense before I moved on to the next topic. I studied hard and ultimately accepted my first role as a Web Developer on July 18, 2018. I relocated to Seattle, WA from Orlando, FL to start a new adventure.&lt;/p&gt;

&lt;p&gt;When I first learned how to code in 2017/2018, my goal was to simply land a job. 2019 is different. I want to dive deeper into content creation (blogging about the projects I build, writing and recording tutorials, etc). Why? &lt;/p&gt;

&lt;p&gt;An exceptional developer possesses the ability to articulate their decision making process fluidly. They are able to communicate and break down technical concepts in a way that others can understand. I want to practice and strive to become a great communicator of code.&lt;/p&gt;

&lt;p&gt;I'm also fighting my social anxiety and natural introversion by becoming more active on social media and blogging. An introverted writer at heart, I've always been very guarded about my thoughts and social media has helped me gain confidence in myself. Due to how open and welcoming the tech community can be on Twitter, I've been able to come out of my cocoon and truly express myself.&lt;/p&gt;

&lt;p&gt;As far as my learning goes, I have chosen to focus deeper on accessibility and progressive web apps. The reason I've chosen those two subjects is because I am deeply dedicated to helping make the web more accessible. I wholeheartedly believe that no user should be left behind due to poor network connection or possessing visual impairments or disabilities. We should never code for ourselves and just assume that the conditions of our end users are an afterthought, to say the opposite is to admit that you could care less about user experience. I want to take the time out to thank &lt;a href="https://twitter.com/marcysutton" rel="noopener noreferrer"&gt;Marcy Sutton&lt;/a&gt;, an accomplished Accessibility Expert and woman in Tech, for introducing me to web accessibility and her encouragement and support!&lt;/p&gt;

&lt;p&gt;I'm also gaining a side interest in ThreeJS and WebVR in general so let's see how that goes. &lt;/p&gt;

&lt;h2&gt;
  
  
  I deserve credit for...
&lt;/h2&gt;

&lt;p&gt;Taking efforts to address my mental health and practice more self care. But you wouldn't know because I don't tweet about it as much as I should. &lt;/p&gt;

&lt;p&gt;When you're an ambitious woman with the desire to take advantage of opportunities, sometimes you forget to take care of yourself. I suffered burnout repeatedly and had to take breaks from coding, which did nothing but feed my imposter syndrome. I felt like I had a lot to prove because of where I came from and was determined to take advantage of every opportunity to not go back. I often questioned why I exist in this industry but I kept it inside because I was raised to believe that vulnerability is a sign of weakness. I was never really shown empathy as a child if I displayed emotion so to this day I battle with being able to express myself at times. However I'm starting to recognize that there is strength in vulnerability and am beginning to show more compassion towards myself.&lt;/p&gt;

&lt;h2&gt;
  
  
  I hope to see my tech community...
&lt;/h2&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Feiymvnpqepsywy687f0c.jpg" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Feiymvnpqepsywy687f0c.jpg" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
Giving a talk on how to build a personal brand on Twitter as a developer at CodeFellows in Seattle, WA. So nervous yet chill!



&lt;p&gt;...continue to prioritize efforts towards making software development accessible for everyone. &lt;/p&gt;

&lt;p&gt;I want to see more people-both experienced and not-become unafraid to admit their gaps in knowledge and to grow together.&lt;/p&gt;

&lt;p&gt;I also hope to see more individuals and companies drop the mentality that we need to work 80+ hour weeks including weekends in order to prove ourselves worthy to be in this industry. This is very discouraging towards people such as working parents or those with mental/physical illnesses who simply shouldn't have to sacrifice their livelihood in order to feel accepted in the tech world.&lt;/p&gt;

&lt;p&gt;More ways that we can make the tech community more inclusive is through being transparent about our journeys, be a bit unafraid to share our failures, and share our resources. I would also like to see more of us check our own biases and be more understanding of the plight of others. There are those of us who can't afford a laptop, Udemy course or we may possess a disability that may hinder our learning. Compassion and transparency will lead to a better and more inclusive community.  &lt;/p&gt;

&lt;h2&gt;
  
  
  What Lies Ahead...
&lt;/h2&gt;

&lt;p&gt;I have great things to look forward to that I'm proud of. I've been chosen to give technical talks at four conferences on building accessible user interfaces with React and React Native. I also want to continue livestreaming my attempts at learning different things related to code on &lt;a href="https://twitch.com/cyberbarbie" rel="noopener noreferrer"&gt;Twitch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For 2019 and beyond, let's all put our self care first, build dope things, share knowledge and give back.&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/taeluralexis" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; &amp;amp;&amp;amp; let's grow together ♡&lt;/p&gt;

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