<?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: Carl McIntosh</title>
    <description>The latest articles on DEV Community by Carl McIntosh (@cod3rcarl).</description>
    <link>https://dev.to/cod3rcarl</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%2F464954%2Fded007c1-a8a3-4cd0-bfe3-8a6934f0672a.png</url>
      <title>DEV Community: Carl McIntosh</title>
      <link>https://dev.to/cod3rcarl</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cod3rcarl"/>
    <language>en</language>
    <item>
      <title>Map(), Filter(), Reduce()</title>
      <dc:creator>Carl McIntosh</dc:creator>
      <pubDate>Thu, 03 Dec 2020 16:48:02 +0000</pubDate>
      <link>https://dev.to/cod3rcarl/map-filter-reduce-177n</link>
      <guid>https://dev.to/cod3rcarl/map-filter-reduce-177n</guid>
      <description>&lt;h1&gt;
  
  
  Advanced Array Methods
&lt;/h1&gt;

&lt;p&gt;Filter, Map and Reduce are 3 extremely powerful array methods that can take a lot of the burden off of loops in your code. They will also make your code cleaner and easier to read.&lt;/p&gt;




&lt;h2&gt;
  
  
  Filter
&lt;/h2&gt;

&lt;p&gt;Let's say you have an array of items like above and you only want to keep the items with a number above 5. A for loop, if statement and .push() array method would reach that goal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KypsFuga--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/usp2ju1o5onfasczn880.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KypsFuga--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/usp2ju1o5onfasczn880.png" alt="forLoop"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;You would need to define a new array for the items to go, so that the original array stays intact. The for loop then iterates over the length of the array and pushes the index that matches the condition in the if statement into the new moreThan array.&lt;/p&gt;




&lt;p&gt;The filter array method takes away a lot of the effort and leaves much cleaner code.&lt;/p&gt;

&lt;p&gt;Filter takes in a callback function with three arguments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the current item,&lt;/li&gt;
&lt;li&gt;the current index - Optional,&lt;/li&gt;
&lt;li&gt;the array that filter was called on - Optional&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the majority of cases you will only ever take in the current item so for these examples I will exclude the latter two arguments. if you wish to read more about the other arguments, &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter"&gt;check out the MDN docs on the subject.&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--31ZQvhjS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pi89c1mzyqgkuhco2sgn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--31ZQvhjS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pi89c1mzyqgkuhco2sgn.png" alt="filterLoop"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;With the filter method, there is no need to define a new array as all the work is down by the filter method. There is also no need for the for loop and if statement as the filter method will visit each item and return a new array based on the retuned condition. With the filter method the return statement must be a boolean or else you will encounter problems with your code.&lt;/p&gt;

&lt;p&gt;To make this code even cleaner we could also use an arrow function instead to provide an implicit return.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const moreThan = items.filter((item =&amp;gt; item &amp;gt; 5));&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Map
&lt;/h2&gt;

&lt;p&gt;The map array method will loop over an array and produce a new array transformed by the callback function it takes in. Like the filter method it takes in three arguments&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the current item,&lt;/li&gt;
&lt;li&gt;the current index - Optional&lt;/li&gt;
&lt;li&gt;the array that map was called on - Optional&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Again I will focus on just the current value but more information can be found &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map"&gt;here.&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7nd1KSpL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ynseesc901pqy0dym2bw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7nd1KSpL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ynseesc901pqy0dym2bw.png" alt="mapDouble"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Like the filter method, map will loop through each item in the array and return a new array based on the condition give. Unlike filter this should not be a boolean.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aJhCa8Qv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/949vslj4lfbtcrsofqqg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aJhCa8Qv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/949vslj4lfbtcrsofqqg.png" alt="mapWordLength"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;The second example here shows how you can change the array from one of strings to one of numbers. Map has looped over the array here and returned the length of each word instead.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v-alNHOi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gr0tm77zbimzl2slaesm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v-alNHOi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gr0tm77zbimzl2slaesm.png" alt="mapSentence"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Notice how for the third example here I am using the same array as the second example. The original array never changes when you use these array methods, which is important for reuse-ability.&lt;/p&gt;

&lt;p&gt;If you are not using arrow functions, you will need to include a return statement or else you will end up with an array filled with undefined.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reduce
&lt;/h2&gt;

&lt;p&gt;The reduce method works differently to the previous two methods, in that you're not limited to returning a new array. You can 'reduce' the array down to strings, numbers, objects etc...&lt;/p&gt;

&lt;p&gt;The reduce method takes in a callback function that has 4 arguments. Unlike the map and filter methods, where only one argument was essential, two of these arguments are essential for reduce to work&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the previousValue - Also known as the accumulator&lt;/li&gt;
&lt;li&gt;the currentValue&lt;/li&gt;
&lt;li&gt;the current index - Optional&lt;/li&gt;
&lt;li&gt;the array that reduce was called on - Optional&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As well as the callback function, the reduce method can also take in an optional value to indicate the initial value. This is because at the start of the array there is no previous value so it acts as the beginning of the loop. If this was not there, the callback function will take the first value of the array as the previous value, this value then acts as the start of the loop. This can lead to some issues, which I will explain. The best practice for the reduce method is to include an initial value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nxQ_ZhQ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q7gf0cfzehef7z9440lw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nxQ_ZhQ4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q7gf0cfzehef7z9440lw.png" alt="reduceAdd"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The classic example for the reduce method is to add all the values in an array to 'reduce' it down to one total sum.&lt;/p&gt;

&lt;p&gt;The initial value at the end (0) makes sure the total starts with 0. If it's removed the total will start with 12 and not include it in the final total. This will result in the same value at the end. Great!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UW72vZlm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9ylgy6hjof115v9pmv2s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UW72vZlm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9ylgy6hjof115v9pmv2s.png" alt="reduceAdd2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However if we wanted to do something different with our reduce function, like add from a particular number, then the initial value has to be included to start the total in the correct position.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3vpedKNZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/imussunvlnmbn8pnzdpv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3vpedKNZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/imussunvlnmbn8pnzdpv.png" alt="reduceSubtract"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Say you wanted to subtract the array values from 100, you would need the initial value, otherwise you will start subtracting from 12 and return -26.&lt;/p&gt;

&lt;p&gt;There is nothing stopping you from using reduce to combine words instead of numbers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0s7e2nra--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/url55jnn8u31ebwdfaqb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0s7e2nra--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/url55jnn8u31ebwdfaqb.png" alt="reduceWord"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, I will show one example where you could use all three of these functions at once using an array of objects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OBfAoWxD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/g6wrbdeniu986z1zo2nt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OBfAoWxD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/g6wrbdeniu986z1zo2nt.png" alt="reduceShopping"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First the shopping list is filtered, the condition looks at the price key in the objects and excludes everything that is not below 2.5. This is then mapped and only the price key is returned, this can then be reduced by adding the values and returning this number.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

</description>
      <category>map</category>
      <category>reduce</category>
      <category>filter</category>
    </item>
    <item>
      <title>My First React Custom Hook</title>
      <dc:creator>Carl McIntosh</dc:creator>
      <pubDate>Tue, 24 Nov 2020 13:17:03 +0000</pubDate>
      <link>https://dev.to/cod3rcarl/my-first-react-custom-hook-2e23</link>
      <guid>https://dev.to/cod3rcarl/my-first-react-custom-hook-2e23</guid>
      <description>&lt;h3&gt;
  
  
  Premise
&lt;/h3&gt;

&lt;p&gt;I've created a simple counter in React that increases and decreases a number, using the useState hook in React to pass down props to the buttons.  I wanted to create a hook that showed the previous total to the user&lt;/p&gt;

&lt;p&gt;It uses useRef() to store the current value.  This is then placed inside a variable.  The useRef hook returns an object with one property (current) You can read more about useRef here &lt;a href="https://reactjs.org/docs/hooks-reference.html#useref"&gt;https://reactjs.org/docs/hooks-reference.html#useref&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;usePreviousTotal&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2Q5WF7IN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fm8nxfsxp50r3962qmje.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2Q5WF7IN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/fm8nxfsxp50r3962qmje.png" alt="code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've also used a useEffect hook as I'm reaching inside the DOM to grab the current value, this is stored in the dependancy array as I only want to render this when that value changes. You can read more about useEffect here &lt;a href="https://reactjs.org/docs/hooks-effect.html"&gt;https://reactjs.org/docs/hooks-effect.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now all that is left is to import the hook into the app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PjkNIw-W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d6w2jx7ffsyx0vjcfgwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PjkNIw-W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d6w2jx7ffsyx0vjcfgwz.png" alt="hook"&gt;&lt;/a&gt;&lt;br&gt;
 And that's it.  Look more at the React docs for more information. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GJL2Ukv---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kcuqy4rie6ow9j9rjxkx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GJL2Ukv---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kcuqy4rie6ow9j9rjxkx.png" alt="counter"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>hooks</category>
    </item>
    <item>
      <title>School of Code Day 2</title>
      <dc:creator>Carl McIntosh</dc:creator>
      <pubDate>Tue, 22 Sep 2020 17:47:16 +0000</pubDate>
      <link>https://dev.to/cod3rcarl/school-of-code-day-2-2oeh</link>
      <guid>https://dev.to/cod3rcarl/school-of-code-day-2-2oeh</guid>
      <description>&lt;p&gt;Most of today was spent learning about objects and arrays.  The beginning of the day was a recap of the functions and loops we were working on yesterday, moving onto objects and how they function. One thing that stuck in my mind was how  blank objects are are not equal to each other, they are uniquely identifiable while being empty. We learnt about dot and bracket notations and also nested objects.  In the afternoon, we spent time on arrays, declaring, reading and looping them.  We finished off with a great talk by Joe (sorry I missed his last name) who talked about our hero journeys.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>School of Code Day 1</title>
      <dc:creator>Carl McIntosh</dc:creator>
      <pubDate>Mon, 21 Sep 2020 16:57:29 +0000</pubDate>
      <link>https://dev.to/cod3rcarl/school-of-code-day-1-1l6l</link>
      <guid>https://dev.to/cod3rcarl/school-of-code-day-1-1l6l</guid>
      <description>&lt;p&gt;Day 1 over and my brain is frazzled, but in a good way.  I've learnt quite a lot and feel the need to understand it a little bit more before the day is done.&lt;/p&gt;

&lt;p&gt;Today we learn't mostly about functions although had some introductions to the data types.  (Strings, numbers, booleans, null, undefined and objects).  Functions I need to work on,  I am having trouble getting to grips with the loop functions, but i'll get there.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Career Change Into Tech</title>
      <dc:creator>Carl McIntosh</dc:creator>
      <pubDate>Mon, 21 Sep 2020 16:56:46 +0000</pubDate>
      <link>https://dev.to/cod3rcarl/career-change-into-tech-5he5</link>
      <guid>https://dev.to/cod3rcarl/career-change-into-tech-5he5</guid>
      <description>&lt;h1&gt;
  
  
  Background
&lt;/h1&gt;

&lt;p&gt;I'd been bored, unfulfilled and getting slightly complacent in my job.  It may sound big headed to say, but it was true that I could (figuratively) do my job in my sleep.  I had done it for 15 years and I had definitely hit a ceiling.  There was no 'Senior Print Production Manager' job to be had, every few years the company added some new innovation and new products and I just absorbed all the new information and carried on.  &lt;/p&gt;

&lt;p&gt;The past couple of years,  I had become disillusioned with my role.  Upper management were not taking my ideas on board and I was tasked with more and more work because they knew I would just get on with it and the job didn't challenge me in a positive way.  It got to the point where I just wasn't looking forward to going into the office anymore.  &lt;/p&gt;

&lt;p&gt;I began to take an interest in coding,  at first I just wanted to see how websites worked so I found a Udemy course that gave me the beginnings I wanted,  unfortunately I didn't have the time to commit myself fully into the subject so the course tended to be a start stop activity when I had time,  I initially applied for Cohort 3 of School of Code, but didn't continue with my application as I wasn't in a position to quit my job and learn full time.  &lt;/p&gt;

&lt;p&gt;Around a year ago in my company cuts were starting to be made in all areas of the business as the company tried to save money. ( I should say that my company mainly printed products for schools) Schools were ordering less and less.  This is where my complacency came into play a bit.  I was so good at my job, and the company in no way had anyone who could take over what I brought to the table,  but I still didn't see the writing on the wall. Then Covid-19 happened.&lt;/p&gt;

&lt;h1&gt;
  
  
  Furlough
&lt;/h1&gt;

&lt;p&gt;I was furloughed, which wasn't surprising as the schools had all closed and so there would be no orders coming in.  I used  the extra time I had to look more into coding and found a great interest in the subject.  Being furloughed I should have used the time to knuckle down and get firm grasp on the subject, that's not what happened.  Having been working full time or in full time education for pretty much my entire life (I went from school to university and a part time job to full time employment) i decided to take some downtime.  I spent time learning the keyboard, playing way, way too much Playstation and a surprisingly large amount of time fishing.   I was in alien territory as I had never been unemployed.&lt;/p&gt;

&lt;p&gt;Again this is where the complacency starts to creep back in as I fully believed that once Covid was under control I could go back into my job and everything would go back to normal.  I was in constant contact with my employer who assured me that everything was ok with the business. Then one week it wasn't.  &lt;/p&gt;

&lt;p&gt;I received a call from my boss saying that we needed  a meeting,  during the first of what turned out to be three meetings,  I was told that my job was at risk of redundancy.  At that point I knew my job wasn't at risk, it was already gone (the third meeting was them telling me I was made redundant).  I was asked the normal questions of whether I had any ideas of how the company could save money, I offered suggestions on how they could raise the companies profile, &lt;br&gt;
 new product ideas which they hadn't taken on board before when I suggested them and I even offered to take a pay cut, but I already knew they had made their minds up and this was them doing everything 'the legal way'.  A lot of people may have felt like it was a punch to the gut to be told their job was at risk.  I felt, almost a sense of relief,  I was being forced to take a look at my working life and make some decisions.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Next Step
&lt;/h1&gt;

&lt;p&gt;You may think at this point that I would finally follow my dream of becoming a full time coder.  You'd be wrong.  I was trying to think practically,  I had a full time job which was coming to an end,  I have bills and a mortgage to pay and I was on what I would call decent money, so to swap that to pursue a career in a field I had no expertise in would (I believed) be foolish.  After finding out I was being made redundant,  I made a plan in my head.  I had a three month notice period to work off and I was put on gardening leave so I had all the time in the world to apply for jobs,  which I began doing.  I updated my C.V and applied for positions I felt I would be suited for.  Let's call this 'panic mode'.  The problem with being so loyal to one company for your entire career is 1. The notice period, which in my case was 3 months.  2. The lack of experience.  Yes I had 15 years experience as a Print Production Manager but I had already decided that I did not want to get back into that field.  This was my fresh start, so it was all about finding what I had in transferable skills to take into a new role.  This is where I was finding problems,  transferable skills are a great thing to have,  but a lot of jobs that I found interesting were not looking for transferable skills, they were looking for actual skills.  It got to the point where I was applying for jobs and being told I wasn't moving forward or recruitment agencies telling me they didn't have anything that fit my skills or just not getting any response at all.  This is when I saw the School of Code were preparing for another bootcamp.&lt;/p&gt;

&lt;h1&gt;
  
  
  School of Code
&lt;/h1&gt;

&lt;p&gt;I had followed the School of Code since I applied for the 3rd Cohort about ten months previously.  On that occasion I took time to make my avatar as part of the application but didn't submit it in time.  At that point in my life I was working long hours and didn't believe I was at the best point to move on with the application.  When I saw that they were putting on another bootcamp I instantly applied and submitted my avatar,  I figured I would see what the next step of the process was. Once I had submitted my video answering questions about myself I figured that would be as far as it went,  when I made it through that, the next stage truly opened my eyes.&lt;/p&gt;

&lt;p&gt;The scratch project truly was an amazing thing to put into the application process.  After watching the &lt;a href="https://www.youtube.com/watch?v=jjqgP9dpD1k"&gt;CS50&lt;/a&gt; video,  and completing the scratch project that followed,  I had decided that this was what I was going to do and I would do anything to get there.  I started looking into other bootcamps I could finance myself as i never believed I could get through all the application stages.  I started up the Udemy course again and found different apps to help with my skills.  I figured I had my redundancy money to fall back on to help finance any course I ended up doing,  but I made the decision to make the career jump.&lt;/p&gt;

&lt;h1&gt;
  
  
  Now
&lt;/h1&gt;

&lt;p&gt;Now,  I wouldn't be writing this blog post if I had not been successful.  It's the right time for me to be doing this and in the grand scheme of things everything seems to have fallen into place at just the right time.  If I hadn't had been made redundant at that exact point I would not have applied and be changing my career now.  I'm beyond excited to be starting this journey and will give it my all to make myself successful.  &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
