<?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: Lex</title>
    <description>The latest articles on DEV Community by Lex (@lexjames06).</description>
    <link>https://dev.to/lexjames06</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%2F311593%2F64826389-2ab0-4952-bf4d-32a5fb442eae.jpeg</url>
      <title>DEV Community: Lex</title>
      <link>https://dev.to/lexjames06</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lexjames06"/>
    <language>en</language>
    <item>
      <title>CSS Grid: "The Big Three" cheat code</title>
      <dc:creator>Lex</dc:creator>
      <pubDate>Wed, 11 Mar 2020 20:59:35 +0000</pubDate>
      <link>https://dev.to/lexjames06/css-grid-the-big-three-cheat-code-15hn</link>
      <guid>https://dev.to/lexjames06/css-grid-the-big-three-cheat-code-15hn</guid>
      <description>&lt;p&gt;I have to start with a disclaimer that I'm a big believer in the 80/20 rule; 20% of the work will get you 80% of the results.&lt;/p&gt;

&lt;p&gt;While I don't condone only learning 20% of your craft, if CSS really isn't your area of expertise, but need to use it here and there, 20% of grid will get you a &lt;em&gt;LONG&lt;/em&gt; way!&lt;/p&gt;

&lt;p&gt;This guide will give you that 20% of grid and if you remember The Big Three, you will conquer most of the workload you need out of grid.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;You're creating some kind of UI and you want to lay things out in a very structured order, maybe a collage of different size and shape pictures?&lt;/p&gt;

&lt;p&gt;You have a defined space you want work in and you want to simply place the pictures in the exact space of the grid you're looking for.&lt;/p&gt;

&lt;p&gt;For Example:&lt;br&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%2F9m5afnb6r6cvfbbxrs3k.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%2F9m5afnb6r6cvfbbxrs3k.png" alt="CSS Grid Examples: Three different examples of elements arranged in a grid"&gt;&lt;/a&gt;&lt;/p&gt;
CSS Grid Examples: 3 different examples of elements arranged in a grid



&lt;p&gt;Well would you believe me if I told you that you can accomplish all three of those with only three lines of code? No?! Good thing, it's not quite three lines of code, but it's not far off. Let me explain...&lt;/p&gt;
&lt;h2&gt;
  
  
  The Big Three
&lt;/h2&gt;

&lt;p&gt;There are many big threes in the world, but here we're talking about the three properties you need to accomplish the above layouts in grid; &lt;code&gt;grid-gap&lt;/code&gt;, &lt;code&gt;grid-template-areas&lt;/code&gt;, and &lt;code&gt;grid-area&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So what do they all do?&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;code&gt;grid-gap:&lt;/code&gt;
&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%2F5ikaiybspmqkh9l92uxv.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%2F5ikaiybspmqkh9l92uxv.png" alt="example of grid-gap"&gt;&lt;/a&gt;&lt;/p&gt;
Example of grid-gap



&lt;p&gt;As you can see, it very much does what it says on the tin. The best part, it will make those spaces &lt;em&gt;between&lt;/em&gt; your elements, not around them (which in my opinion is a much more natural layout choice - you can always add margins on the container, if you want space around).&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;code&gt;grid-area:&lt;/code&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.item.a&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ff914d&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
CSS code snippet: how to use grid-area




&lt;p&gt;This is simply the name you want to give each element. Here you have the element &lt;strong&gt;&lt;em&gt;A&lt;/em&gt;&lt;/strong&gt; in image &lt;strong&gt;&lt;em&gt;(1)&lt;/em&gt;&lt;/strong&gt;, that has two classes applied to it; the &lt;strong&gt;&lt;em&gt;item&lt;/em&gt;&lt;/strong&gt; class that all elements have assigned, and the &lt;strong&gt;&lt;em&gt;a&lt;/em&gt;&lt;/strong&gt; class - applied only to element &lt;strong&gt;&lt;em&gt;A&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When you know The Big Three, it may be intuitive to explain this last as it's the only property applied to the child elements, but I think it's easier to understand &lt;code&gt;grid-template-areas&lt;/code&gt; by getting this part down first.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;code&gt;grid-template-areas:&lt;/code&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;container&lt;/span&gt; &lt;span class="nt"&gt;for&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;above&lt;/span&gt;
&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-template-areas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="s1"&gt;"a"&lt;/span&gt;
  &lt;span class="s1"&gt;"b"&lt;/span&gt;
  &lt;span class="s1"&gt;"c"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
CSS code snippet: using grid-template-areas for image (1)




&lt;p&gt;Using the example of &lt;strong&gt;&lt;em&gt;(1)&lt;/em&gt;&lt;/strong&gt; above, this code snippet is for the container of the grid you're working with. We've simply defined a &lt;strong&gt;&lt;em&gt;500px&lt;/em&gt;&lt;/strong&gt; square with gaps in between each element of &lt;strong&gt;&lt;em&gt;15px&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We've then used the &lt;code&gt;grid-template-areas&lt;/code&gt; property to define both the rows and columns of the grid.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/lexjames06/embed/PoqQgXX?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;As we only see a difference in rows here, let's use example &lt;strong&gt;&lt;em&gt;(2)&lt;/em&gt;&lt;/strong&gt; above to step up the difficulty level.&lt;/p&gt;

&lt;h2&gt;
  
  
  The new problem: breaking it down
&lt;/h2&gt;

&lt;p&gt;So to accomplish &lt;strong&gt;&lt;em&gt;(2)&lt;/em&gt;&lt;/strong&gt;, we need two elements to sit side by side in the top row, and then a third element on a row by itself, but twice as tall as the top row.&lt;/p&gt;

&lt;p&gt;That would look a little something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;container&lt;/span&gt; &lt;span class="nt"&gt;for&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;above&lt;/span&gt;
&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-template-areas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="s1"&gt;"a b"&lt;/span&gt;
  &lt;span class="s1"&gt;"c c"&lt;/span&gt;
  &lt;span class="s1"&gt;"c c"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
CSS code snippet: using `grid-template-areas` for image (2)





&lt;p&gt;What we've essentially done here is separate the grid into 6 individual boxes, assigned each one to an element, and any side-by-side elements with the same assignment automatically fill in the gaps between.&lt;br&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%2Fevz36ve1hgsosigs2x0v.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%2Fevz36ve1hgsosigs2x0v.png" alt="transformation of grid-template-areas for (2)"&gt;&lt;/a&gt;&lt;/p&gt;
visual demonstration of grid-template-areas for (2)



&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/lexjames06/embed/wvaybqa?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  What about (3)?
&lt;/h3&gt;

&lt;p&gt;So how do we accomplish &lt;strong&gt;&lt;em&gt;(3)&lt;/em&gt;&lt;/strong&gt; with that gap in the grid? I promise, it's so much simpler than you probably expect.&lt;/p&gt;

&lt;p&gt;Let me introduce you to "&lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;", a character that solves all your gap problems in &lt;strong&gt;grid-template-areas&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The "&lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt;" simply acts as a placeholder for a gap that you want.&lt;/p&gt;

&lt;p&gt;Let's take a look at how we can use that in &lt;strong&gt;&lt;em&gt;(3)&lt;/em&gt;&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;container&lt;/span&gt; &lt;span class="nt"&gt;for&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;3&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;above&lt;/span&gt;
&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-template-areas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="s1"&gt;"a a a b b b"&lt;/span&gt;
  &lt;span class="s1"&gt;"a a a b b b"&lt;/span&gt;
  &lt;span class="s1"&gt;"a a a b b b"&lt;/span&gt;
  &lt;span class="s1"&gt;"c c . . e e"&lt;/span&gt;
  &lt;span class="s1"&gt;"c c d d e e"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
CSS code snippet: using grid-template-areas for image (3)





&lt;p&gt;Now this may look like a lot to digest at first glance, but by visualising each of those assignments as a small box, it will be much clearer (see below). Within a couple of test scenarios, you'll get the hang of how to do this.&lt;/p&gt;

&lt;p&gt;To help visualise &lt;strong&gt;&lt;em&gt;(3)&lt;/em&gt;&lt;/strong&gt;, it would be represented like this:&lt;br&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%2Frhe21ngcq9thueqpqfa0.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%2Frhe21ngcq9thueqpqfa0.png" alt="transformation of grid-template-areas for (2)"&gt;&lt;/a&gt;&lt;/p&gt;
visual demonstration of grid-template-areas for (3)



&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/lexjames06/embed/jOPZoYV?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;A quick recap of The Big Three:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;grid-gap&lt;/code&gt; - defines the gap between all separate children elements.&lt;br&gt;
&lt;code&gt;grid-area&lt;/code&gt; - gives each child element a unique name.&lt;br&gt;
&lt;code&gt;grid-template-areas&lt;/code&gt; - defines what area each element will cover.&lt;/p&gt;

&lt;p&gt;The more you break down your &lt;code&gt;grid-template-areas&lt;/code&gt; the more you can control the width and height of each element in your grid, especially in relation to their other elements of your grid.&lt;/p&gt;

&lt;p&gt;Take a stab at recreating the 3 layouts we've discussed, and see if you can do it by memory.&lt;/p&gt;

&lt;p&gt;Remember, this isn't the only way to achieve these results, it's just a simple way to get great results without needing to remember lots of different properties.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Last minute challenge&lt;/em&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you feel comfortable using The Big Three, really push yourself to see if you can recreate this:&lt;br&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%2Fu5y3s5169spe96hpbed3.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%2Fu5y3s5169spe96hpbed3.png" alt="Challenge grid to recreate"&gt;&lt;/a&gt;&lt;/p&gt;
Challenge grid to recreate



&lt;p&gt;It will be slightly more difficult than the previous layouts, but I've created a codepen for you to check against if you get stuck.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/lexjames06/embed/QWbQRrG?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Thanks for reading! &lt;/p&gt;

&lt;p&gt;If you want to know more about CSS Grid, all of the other properties and where they could be useful, check &lt;a href="https://css-tricks.com/snippets/css/complete-guide-grid/" rel="noopener noreferrer"&gt;this&lt;/a&gt; out.&lt;/p&gt;

&lt;p&gt;If you have any questions, comments or concerns, don't hesitate to leave them below. Or if you simply want to say hi, don't be shy! :)&lt;/p&gt;

</description>
      <category>css</category>
      <category>ui</category>
    </item>
    <item>
      <title>Why my bootcamp blog failure lead to bootcamp success!</title>
      <dc:creator>Lex</dc:creator>
      <pubDate>Mon, 09 Mar 2020 19:44:18 +0000</pubDate>
      <link>https://dev.to/lexjames06/why-my-bootcamp-blog-failure-lead-to-bootcamp-success-3glc</link>
      <guid>https://dev.to/lexjames06/why-my-bootcamp-blog-failure-lead-to-bootcamp-success-3glc</guid>
      <description>&lt;p&gt;Trust me, no one was more disappointed by my lack of blog posts about the bootcamp than I was! However, as my dad always taught me, every cloud has a silver lining. So what was my silver lining?&lt;/p&gt;

&lt;p&gt;To keep it simple, I've broken this down into 3 sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why stop the blogs?&lt;/li&gt;
&lt;li&gt;The silver lining&lt;/li&gt;
&lt;li&gt;What's next?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So let's get into it...&lt;/p&gt;

&lt;h4&gt;
  
  
  Why stop the blogs?
&lt;/h4&gt;

&lt;p&gt;It kind of happened by accident actually.&lt;/p&gt;

&lt;p&gt;After my second week, I had already written most of week 2's content. Then as I was prepared to post it middle of week 3, I fell sick! I'll spare the detail, but I was bed ridden for a solid 4 days. The last thing on my mind was posting a blog...sorry!&lt;/p&gt;

&lt;p&gt;Then having missed a couple days of the bootcamp, I felt behind. I wasn't, but it didn't stop my brain from going into overdrive to try and 'catch-up'. This meant by the end of week 3 and going into week 4, I still had only posted about week 1.&lt;/p&gt;

&lt;p&gt;I told myself that I would catch up at the end of month. Oh how I had no idea that going into month 2 would be when the workload ramped up!&lt;/p&gt;

&lt;p&gt;As soon as month 2 started, I was 3 week's behind, I made the decision to not stress about it and focus on my development solely. To give you an idea of what that meant for me; I would arrive anywhere from 7am-9am, structured activity until 5pm, and then I would stay as late as 9:45pm some nights.&lt;/p&gt;

&lt;p&gt;I simply wanted to get the most out of my time there, as I wouldn't have this opportunity again to sit with knowledgable devs every day, all day. Unfortunately, for my knowledge gain, the blog suffered.&lt;/p&gt;

&lt;h4&gt;
  
  
  The silver lining
&lt;/h4&gt;

&lt;p&gt;I can't begin to explain how much I learned over the 8-weeks I was there!&lt;/p&gt;

&lt;p&gt;Once I stopped stressing about posting the blogs, put job hunting out of my mind and focused on learning, learning, and more learning, I found my rate of progression sky rocketed!&lt;/p&gt;

&lt;p&gt;I will say I am lucky that I come from an educationally STEM background, it has meant my way of thinking is very aligned with coding.&lt;/p&gt;

&lt;p&gt;I would see similarities in what I had previously learned, just using different terminology, so I skipped a few learning curves which was a pleasant surprise!&lt;/p&gt;

&lt;p&gt;So although I didn't get to stick to my goal of writing the blogs (or have much of/any social life for 8-weeks), making the better decision for my own growth has lead to me being significantly more prepared for the market and I feel confident in taking that next step!&lt;/p&gt;

&lt;h4&gt;
  
  
  What's next?
&lt;/h4&gt;

&lt;p&gt;Get a job!&lt;/p&gt;

&lt;p&gt;As simple as it sounds, that truly is the next step.&lt;/p&gt;

&lt;p&gt;I have learned enough to be confident in my applications (something I notice is a huge barrier in this industry for junior devs), and I'm really excited to take my next step in this career journey.&lt;/p&gt;

&lt;h4&gt;
  
  
  Quick Summary
&lt;/h4&gt;

&lt;p&gt;I think the most important thing I will say for anyone considering a bootcamp, or this industry; be prepared to learn and enjoy the learning process, because it won't ever stop!&lt;/p&gt;

&lt;p&gt;I truly have fallen in love with learning these new technologies and can't wait to continue learning them better, and even more.&lt;/p&gt;

&lt;p&gt;Over my time at Kodiri, I managed to dig my nails into many different technologies and I really feel like the more I discover, the more I realise how many there are out there!&lt;/p&gt;

&lt;p&gt;I was fortunate to spend time learning bits and pieces of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;NodeJS&lt;/li&gt;
&lt;li&gt;ExpressJS&lt;/li&gt;
&lt;li&gt;Redux&lt;/li&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;HTML5&lt;/li&gt;
&lt;li&gt;CSS3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to see how I've used any of those technologies, check out my &lt;a href="https://alexanderjstewart.co.uk"&gt;portfolio&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  P.S.
&lt;/h4&gt;

&lt;p&gt;I will be writing a blog detailing more about what we covered in the bootcamp for anyone interested in reading that :)&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
    </item>
    <item>
      <title>My bootcamp experience: Week 1</title>
      <dc:creator>Lex</dc:creator>
      <pubDate>Mon, 20 Jan 2020 22:26:46 +0000</pubDate>
      <link>https://dev.to/lexjames06/my-bootcamp-experience-week-1-5b26</link>
      <guid>https://dev.to/lexjames06/my-bootcamp-experience-week-1-5b26</guid>
      <description>&lt;p&gt;Wow...1 week finished and it's already better than expected!&lt;/p&gt;

&lt;p&gt;I think the best way my brain can think to explain is to break it down into 3 sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Skeleton - the structure of the week&lt;/li&gt;
&lt;li&gt;The Muscles - what we covered&lt;/li&gt;
&lt;li&gt;The Outfit - the extra flares I didn't expect&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So let's get into it...&lt;/p&gt;

&lt;h4&gt;
  
  
  The Skeleton
&lt;/h4&gt;

&lt;p&gt;If you take a look at my pre-face blog (if you want to call it that), a big part of my reasoning for joining this specific bootcamp was because it was structured in such a way that it emulated a working environment. To that, I learned more about what that means as the week went on.&lt;/p&gt;

&lt;p&gt;Outside of the first day (I'll get to that later), we start every day with "stand-up" at 9am. This is essentially a 15min update detailing where everyone is at with their current progress. To give a visual, we have an awesome sticky-note wall displaying all of our individual activities arranged to be in 1 of 4 columns; back-log (to be started), progress (currently working on), QA (quality assurance), and done (I think you get the point).&lt;/p&gt;

&lt;p&gt;We have a couple of groups that have staggered stand-ups, so after my group is done I get 30 mins to continue working on my current task before we then have our first workshop of the day. We have 2 of these every day, both before lunch and they run about 45mins each (maybe longer depending on complexity of the topic).&lt;/p&gt;

&lt;p&gt;Then it's lunch time, my favourite time of day!&lt;/p&gt;

&lt;p&gt;After lunch, the afternoon is very much our own. We continue to work on our tasks, but can also go through workshops videos (they're all conveniently live streamed so we can reference back).&lt;/p&gt;

&lt;p&gt;The only variance in daily routine is Monday and Friday where we have a team coding challenge using the Kodiri platform. Essentially we answer randomly generated questions on JavaScript, React, HTML or CSS, and we compete as a team against one-another. Also, Friday afternoons we have a retrospective where we discuss any particular challenges of the week or good points we want to highlight. These aren't necessarily coding related either, so it's nice to have your voice heard.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Muscles&lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;As you can imagine, day 1 is a lot of explaining of what to expect and setting up the logistics of the days ahead, but it didn't take long before we were in our first team coding challenge. Pace...I like good pace that challenges me, so this was very welcome to dive in to coding so early on.&lt;/p&gt;

&lt;p&gt;From day 1 we also started our first individual app project. We are each building a Netflix-style interface (Kodflix). For this we have been given a set of tasks listed on github, each leading us to developing part of the app. It's really handy the way it's been laid out as on the Kodiri platform there are videos walking you through each challenge, however on the github task-list, there are other resources (e.g. documentation, stack overflow posts etc.) that are suggested to use with the videos as a last ditch attempt to solve the challenge if you haven't already.&lt;/p&gt;

&lt;p&gt;In the workshops during the week, we covered different topics ranging from CSS/HTML through to introductory JSX inside of React. The workshops are very useful because they're interactive. Ricardo narrates and poses questions using guided discovery. Also, he is very pedantic about how we answer questions, for example if we want to describe an array and its contents, if we don't say "square brackets", he won't display the information in []. Although this may frustrate some people, I find it really good practice of getting used to terminology, and being able to express exactly what you mean without leaving room for interpretation.&lt;/p&gt;

&lt;p&gt;As for non-Kodflix/workshop activity, we use the Kodiri platform for training. The platform is great as it has many different levels to work through questions with, and breaks down each language into many topics so you can focus on one specific area you want to improve on. I spent most of my first week tackling all beginner level JavaScript training and managed to teach myself quite a few new methods off of the back of it.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Outfit
&lt;/h4&gt;

&lt;p&gt;The biggest unexpected for me was the amount of time I spent at Kodiri this week. I don't think I left before 7pm on any day!&lt;/p&gt;

&lt;p&gt;My main mentality throughout this bootcamp is to make the absolute most of it, and because I'm enjoying learning the languages so much, I just found myself staying late everyday continuing to either work on Kodflix, train, or build out my own project using what we'd learned so far.&lt;/p&gt;

&lt;p&gt;Speaking of personal projects, I started to build out a landing page for a podcast I am a part of (The B-Side Word Podcast...shameless plug). This was just as a test of memory for what we had learned, and also to put the skills to a different test than the more structured environment of bootcamp activities.&lt;/p&gt;

&lt;p&gt;I also met some really cool people! When you are self-taught, you're very isolated, but on the bootcamp I'm in a room with a bunch of passionate learners, a passionate couple of teachers, and on top of that, in the evenings I got to meet even more people attending either the evening cohort or meetup attendees. I'm a people person, so it was great adding a bunch of new faces to my database (coding joke...if that's a thing haha).&lt;/p&gt;

&lt;p&gt;The last unexpected thing was probably something that happened in the gym...bear with me. I was in the squat rack, eyeing the bar seeing if it would flinch before I beat it up with my impressive legs (he said sarcastically), and the guy next to me chirped "you've got this!". Immediately a connection was born. I love an interactive gym goer that just motivates you for no reason. We ended up chatting and he was a really cool guy.&lt;/p&gt;

&lt;p&gt;Fast-forward a couple days and there I am in the squat rack again and who walks up, the same guy! We get to chatting and he mentioned he missed the gym the day before because work ran late. I asked him what he did and of course, he was a developer. I immediately took his number and am grateful I now have a crossover friend interested in both coding and the gym!&lt;/p&gt;

&lt;h4&gt;
  
  
  Quick Summary
&lt;/h4&gt;

&lt;p&gt;All-in-all, week 1 was a success and a blast! I'm loving the people I'm around and I'm learning at a much quicker rate than I was self-taught. I haven't had passion like this for something since I used to play basketball, so it's been really refreshing stepping into this world, and the bootcamp, so far, has been 100% the right decision for me.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
    </item>
    <item>
      <title>My choice to join a coding bootcamp</title>
      <dc:creator>Lex</dc:creator>
      <pubDate>Sun, 12 Jan 2020 17:44:24 +0000</pubDate>
      <link>https://dev.to/lexjames06/my-choice-to-join-a-coding-bootcamp-3a32</link>
      <guid>https://dev.to/lexjames06/my-choice-to-join-a-coding-bootcamp-3a32</guid>
      <description>&lt;p&gt;When I was looking to break into the tech industry and saw the variety of ways it can be done, I stumbled across websites like dev.to, hoping to find any insight I could into the best ways to progress. &lt;/p&gt;

&lt;p&gt;Fast-forward a few months and I've found myself on a coding bootcamp in London, the most excited I've been about the career I am pursuing since I was chasing a career in basketball, and I'm really happy with the way I'm going about it. That's why I have decided to write about my experience on the bootcamp; maybe it will give another wide-eyed amateur developer one more perspective to consider in their research.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Note:&lt;/strong&gt; I think it's quite important to understand the context of my decision to join the bootcamp before I go into detail of my experience. Because of that, in this post I will simply focus on  what lead to my choice to join the bootcamp.&lt;/p&gt;

&lt;h4&gt;
  
  
  My somewhat related academics
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UYBhsYRW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/c12n4b2zk1eoy2gwoho3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UYBhsYRW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/c12n4b2zk1eoy2gwoho3.jpg" alt="Graduation picture"&gt;&lt;/a&gt;&lt;/p&gt;
I'm just a happy graduate with no idea what he's doing next



&lt;p&gt;Going back a few years now, I was fortunate to find myself on a basketball scholarship at Saint Leo University, Florida, which ultimately allowed me to gain a BA in Mathematics.&lt;/p&gt;

&lt;p&gt;When I graduated in 2014 I sought advice from others about possible career paths as I'd never really invested much thought into it (I was just happy I was getting a degree). I had been told for years how valuable a Maths degree would be and that it would open many doors for me, yet when it came to actually labelling those doors the only leads I could get from people were "teacher" and "accountant", two things I had zero interest in pursuing.&lt;/p&gt;

&lt;p&gt;In hindsight, moving towards the technology industry seems like an intuitive and common move, yet just a touch under 6 years ago, it apparently didn't cross anyone's mind (that I talked with anyway).&lt;/p&gt;

&lt;h4&gt;
  
  
  The next 5-years in 2 paragraphs
&lt;/h4&gt;

&lt;p&gt;With such a lack of sense of direction, you can imagine it's meant I've bounced around a few different jobs in different industries; Managing a Fundraising Team, PPI Investigation Officer, Academic Learning Mentor, even a Personal Trainer, and most recently Graduate Recruiter.&lt;/p&gt;

&lt;p&gt;All of these stops teaching me skills that I've carried forward like sales, effective learning disciplines, commercial awareness, management and many more. Yet none of the industries and jobs themselves giving me personal satisfaction and fulfilment, something I of course "crave" as a Millenial.&lt;/p&gt;

&lt;p&gt;It was my most recent stop that really opened my eyes and what made me stumble into the tech industry.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3wJaVc4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2nbrbooxdlkc4kl6wehj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3wJaVc4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2nbrbooxdlkc4kl6wehj.jpg" alt="3 versions of me sat on a couch together"&gt;&lt;/a&gt;&lt;/p&gt;
Multiple professional versions of myself



&lt;h4&gt;
  
  
  My discovery of tech
&lt;/h4&gt;

&lt;p&gt;This really came down to a few ingredients; my age, my living situation, my job. So let's break them down quickly...&lt;/p&gt;

&lt;h5&gt;
  
  
  My age
&lt;/h5&gt;

&lt;p&gt;I want to start here because it's the most macro view of this decision. At 28 years old and 11 months, last April I decided to move to London to pursue a new career in recruitment. I was getting closer to 30 and had grown tired of bouncing around jobs; I wanted to focus on a career.&lt;/p&gt;

&lt;p&gt;Having always excelled in my job roles, I felt recruitment gave me the opportunity to get true recognition for my work ethic (as there was uncapped commission involved), so I accepted a job and made the move.&lt;/p&gt;

&lt;p&gt;Turns out, although the recognition was something I wanted, the lifestyle of a recruiter was not for me at all! I found myself prioritising my work phone over personal life, living with alternative agendas to almost every client/candidate I spoke with and a lot of social drinking.&lt;/p&gt;

&lt;p&gt;Although recruitment didn't work out for me, I taught me a very important thing; at my age, I know myself fairly well and I know what I like...and what I don't like! This meant for me, when deciding to move on from recruitment, I wanted to put myself in a position where I actually liked not only the benefits of the job (that commission sounded pretty sweet!), but also the role itself and the lifestyle that came with it.&lt;/p&gt;

&lt;p&gt;Unfortunately, this isn't a piece of advice I can give for making career decisions, because it's experience that has taught me about myself allowing me to know I'm now going in the right direction, and that only comes with age.&lt;/p&gt;

&lt;h5&gt;
  
  
  My living situation
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sX2P6crB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/um2m1q8hpqfa2fvzsjc2.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sX2P6crB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/um2m1q8hpqfa2fvzsjc2.JPG" alt="sitting in front of big ben"&gt;&lt;/a&gt;&lt;/p&gt;
Newly living in the big bad capital



&lt;p&gt;When I moved to London, I joined a flat-share and found myself living with a developer from Spain. At the time of moving in, I thought it was interesting, but interesting like "that's cool", nothing more.&lt;/p&gt;

&lt;p&gt;We often had chats about projects he was working on and I liked the idea that he had the ability to create something from scratch, he just had to have the idea and then put in the work.&lt;/p&gt;

&lt;p&gt;It wasn't until I was moving out of this flat that I started to discover an interest in coding. My flatmate and I had a few discussions and his biggest advice to me was to try learning a language and see if I enjoy it. He warned me it can get really frustrating trying to solve errors all day, so if I don't like problem solving, it may not be for me. Little did he know, problem solving is one of my favourite past-times.&lt;/p&gt;

&lt;p&gt;Then I moved into a house, and you'll never guess what...another developer! This time a senior developer that manages a team. We've had a good few chats, and the thing that I loved most about the chats was the sense of passion I got from him immediately as he talked about coding. He encouraged me to spend time learning also and discussed with me a few different technologies.&lt;/p&gt;

&lt;p&gt;These were my first exposures with people in the industry, and both lead me to look into this career more seriously.&lt;/p&gt;

&lt;h5&gt;
  
  
  My job
&lt;/h5&gt;

&lt;p&gt;Working as a recruiter, you speak to a LOT of people! And being that I was in graduate recruitment, I spoke to a lot of young adults that honestly had no idea what they wanted to do. It was part of my job to go through that discovery with them and help them figure it out. Funny how much that rubbed off on me!&lt;/p&gt;

&lt;p&gt;When you quiz someone on what they want out of a career, and all the different factors that come into play, you start to realise how little of these factors you've considered in your own decision making. It really put me in a position where I was evaluating by the day what I wanted and if those criteria were being fulfilled. It was the first time I was asking myself some of these questions.&lt;/p&gt;

&lt;p&gt;On top of this self-discovery I was continually going through, we were also in a business transition that meant business developing in different areas. I spent a lot of time looking at potential clients in tech as it is a booming industry. In my research, I learned a lot about the lifestyle factors that come along with a job as a dev. This aligning with my desire to truly pursue a career, and getting advice from my flatmates/housemates, everything was pointing towards me making the move.&lt;/p&gt;

&lt;h4&gt;
  
  
  My new passion
&lt;/h4&gt;

&lt;p&gt;As advised by my former flatmate and current housemate, I started dabbling with some coding...&lt;/p&gt;

&lt;p&gt;At first I looked into Java as it was the term I was most familiar with, although I had no true idea of what I was doing. I was trying to learn alongside work, but work was consuming all of my mental energy and I was only getting about 1-hour a week of study in. This clearly was not ideal.&lt;/p&gt;

&lt;p&gt;However, even with this small exposure, I did notice a lot of joy when I got to spend time learning. I had never enjoyed learning my entire life, so this was new. I felt like when I was looking at the code, I was looking at my brain on a screen (it's the only way I can think to describe it).&lt;/p&gt;

&lt;p&gt;After a couple months of trying to learn like this, it wasn't quenching my thirst for learning the language. I had decided I was going to leave my job at Christmas and spend a month or two learning before pursuing some jobs; optimistic, I realise, but I planned on investing most of my waking hours into this.&lt;/p&gt;

&lt;p&gt;My job was starting to get to me more and more, and I wanted out sooner rather than later, but I was committed to the cause. Apparently the stars were going to align for me and I was let go of my job a month earlier than I had planned to leave. Now this may sound like a bad thing, but as my dad always told me "every cloud has a silver lining"; It wasn't until I left the office that I realised how much of a burden of stress was weighing on my shoulders, because it was immediately lifted!&lt;/p&gt;

&lt;p&gt;As soon as I got home, I jumped on Udemy and started a JavaScript course. I was advised it might be a better approach than Java, and turns out it was great advice!&lt;/p&gt;

&lt;p&gt;I was so excited by learning JS that it was all I did from then on...&lt;/p&gt;

&lt;h4&gt;
  
  
  My choice: time for the bootcamp
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ebEv1dxZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/h84z4f3m9gkc25h7z7ik.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ebEv1dxZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/h84z4f3m9gkc25h7z7ik.PNG" alt="kodiri cover art"&gt;&lt;/a&gt;&lt;/p&gt;
Kodiri: my bootcamp of choice



&lt;p&gt;During this new phase of learning, I decided to join a few meetups here in London and go to their events. In this I found myself at the Kodiri meetup promoting their January cohort.&lt;/p&gt;

&lt;p&gt;At this point, all my learning was self-taught and I thought everything was going great. I was able to build some basic functioning web-apps and was excited about developing these further and building out a portfolio. Then I went to a React meetup and realised I knew nothing!&lt;/p&gt;

&lt;p&gt;What was very apparent to me during my experience learning and then at the meetups, was that I learned very quickly and retained the information quite well. As it's a very logic driven industry, I felt I was just learning maths in a different language; I just had to translate. What was also apparent was that I was missing out on the opportunity to learn from others and even check if what I was doing was correct/efficient.&lt;/p&gt;

&lt;p&gt;My biggest reservation when looking at a bootcamp was the same I held for all forms of education, pacing. Whether I would be slower or faster than those around me, would I be able to move at my own pace? Turns out, with Kodiri, yes.&lt;/p&gt;

&lt;p&gt;Not only did Ricardo (the founder) consider things such as pacing, he paid attention to the entire format of the bootcamp and structured it very specifically. I had lots of questions for him and he answered them all to my pleasure.&lt;/p&gt;

&lt;p&gt;The bootcamp covers JavaScript, React, NodeJs and everything needed in between, and is set up to mimic the working environment; e.g. we start each day with a standup, we do pair programming, we use slack etc. This was a big deal for me as it demonstrated that Kodiri were invested in me getting a job, not just learning technical skills.&lt;/p&gt;

&lt;h4&gt;
  
  
  My conclusion
&lt;/h4&gt;

&lt;p&gt;What really and truly lead me to join the Kodiri bootcamp was a few different things, but it all boils down to; my ability to learn quickly from others being maximised in this setting, the structure of the bootcamp being individually paced and aimed at landing a job, and that I was currently not working and planning to take the time to learn on my own anyway. Not to mention, the price is extremely reasonable compared to many other bootcamps!&lt;/p&gt;

&lt;p&gt;This is the first time I've invested into learning about my industry before jumping in. I'm investing in myself before any employer invests in me, and I know that I'm doing the right thing for me. I haven't felt a passion or desire for something like this since I played basketball. I can't wait to see where this leads me!&lt;/p&gt;

&lt;p&gt;I will be going into much more detail of the structure of the bootcamp and what we've been getting up to in later posts, but I hope this has given some insight into why I personally chose the bootcamp route. It's not for everyone, it just so happened to be for me. &lt;/p&gt;

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