<?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: Kev Morel </title>
    <description>The latest articles on DEV Community by Kev Morel  (@sirkevlar).</description>
    <link>https://dev.to/sirkevlar</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%2F629003%2F87a5ed20-0b6d-44dd-8f41-9f72c4ee4de3.jpeg</url>
      <title>DEV Community: Kev Morel </title>
      <link>https://dev.to/sirkevlar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sirkevlar"/>
    <language>en</language>
    <item>
      <title>Coda 2 Coder - Final Project</title>
      <dc:creator>Kev Morel </dc:creator>
      <pubDate>Mon, 13 Sep 2021 10:00:40 +0000</pubDate>
      <link>https://dev.to/sirkevlar/coda-2-coder-final-project-d7a</link>
      <guid>https://dev.to/sirkevlar/coda-2-coder-final-project-d7a</guid>
      <description>&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Final Project Phase
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Howdy, 👋 thanks for sticking with me. Ten weeks into bootcamp, begins project phase. Three weeks of working closely with another three people. As the announcement of our selected groups loomed, the tension in the air was palpable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Last few weeks in a paragraph (or two)...&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The summer holidays have traditionally been a time for the family. 👨‍👩‍👧‍👧 When I was a teacher/tutor, my working schedule was deliberately very light during the summer hols 🌻 which allowed me to spend loads of time playing with the kids for at least 6 weeks a year. 🤸 This summer was slightly different though, thanks to my hefty work schedule. The girls even went and stayed in a caravan in Wales without me, 🏕️ although I did manage to join them for the last two days. 😎 Throughout this course, people without kids have said they can't imagine what the workload is like for those of us who do have them. It is true, that boot camp 🥾 has been a challenge and it is also true that there are many other family related jobs to do as well, but my family certainly didn't make the experience more difficult, quite the opposite! It is thanks to the amazing girls in my life 🌟🌟🌟 and their support that I completed the course and graduated for the first time in my life and I will always be incredibly grateful to them. 💖💞💜&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XVXR48LY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8k0v26jfbluv70l90ymj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XVXR48LY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8k0v26jfbluv70l90ymj.jpg" alt="The Thai red chilli crop from my garden"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What 3 weeks of project phase taught me...
&lt;/h2&gt;

&lt;p&gt;I really am lucky. I can't quite explain the tension that most of us were feeling as our project phase groups were being decided. Although I had a very positive experience working with people in boot camp, there was the odd story of someone who didn't. The pressure ramps up towards the end of the course and everyone was keen to have a harmonious team. In Tiffany, Steffen and Marius, I couldn't have asked for a better team! Firstly they were three people I already knew pretty well and got on with, but also we had a nice set of complimentary skills. Like I said, lucky.&lt;/p&gt;

&lt;p&gt;Project management is my bag. Throughout project phase, I was very careful to make sure my time was very evenly spent. I really enjoyed understanding all of the elements that made the project work and felt I was most effective on a macro level, analysing potential problems and coming up with solutions. I seem to have a good understanding of the user journey and all the possible hurdles that can arise.&lt;/p&gt;

&lt;p&gt;Svelte is really intuitive. We really enjoyed using Svelte; the docs are really good and it is pretty straightforward. It does have to be said that thanks to its relatively new status, the community support when you do hit a problem is a little lacking, but problems are few and far between. Svelte is streamlined and rapid thanks to the way it compiles, it is very readable and has a really simple way of dealing with state. We found that it did pretty much everything React does, but in a simpler way. Group Svelte tattoos were discussed, but only briefly. 😉&lt;/p&gt;

&lt;p&gt;Small differences can mean big delays. We generally had a great experience using MongoDB. The support is ace, the dashboard simple to use and the models are much more straightforward as there are no lengthy SQL requests. Overall, our first experience of using a non-relational database was remarkably positive. Our biggest issue was when transferring our boilerplate for setting up a relational DB over to this new project. Most of the boilerplate worked, but there were a couple of subtle differences, which cost us about 4 hours in time!&lt;/p&gt;

&lt;p&gt;TDD rules. Throughout the project, it is fair to say that the whole team was in a state of controlled panic. We got the project MVP completed, but most of our journey was pretty tense and challenging. The only point at which we felt relaxed as a group was during unit testing the backend endpoints. The security of thorough testing gave me probably the most enjoyable day of the project and of course the backend never let us down.&lt;/p&gt;

&lt;p&gt;Paired programming really works. I had for some time by this point been convinced that paired programming was a good practice, largely due to the up-skilling and bug prevention that it provides. I was still dubious about how quick two developers pairing could be and wasn't sure if they would be more productive individually. I can definitely say, that in these circumstances, productivity was through the roof and in my opinion, we were way more productive than we would have been individually. Perhaps there are other circumstances where this wouldn't be true, but during spiking and early project phase, I can say for certain that it is.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G1LUNnyL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cmqgzlr7ct1f6622131p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G1LUNnyL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cmqgzlr7ct1f6622131p.jpg" alt="Photo by Emily Ranquist of graduates throwing their hats in the air"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming up in part seven...
&lt;/h2&gt;

&lt;p&gt;The job hunt... I have a plan, but will it work? How many of us will make the graduation night out?&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Final Project Phase
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>northcoders</category>
    </item>
    <item>
      <title>Coda 2 Coder - Frontend</title>
      <dc:creator>Kev Morel </dc:creator>
      <pubDate>Thu, 26 Aug 2021 09:02:22 +0000</pubDate>
      <link>https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d</link>
      <guid>https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d</guid>
      <description>&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Frontend Block
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Hey again 👋 it's been too long! I had been looking forward to frontend block since the course began and it didn't disappoint, although the late blog entry probably goes to show just how busy thing started to get!&lt;/p&gt;

&lt;h2&gt;
  
  
  Last few weeks in a paragraph (or two)...&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Late July/early August are when thing really start to hot-up in the garden 🌞 🌵 Everything is fruiting and we finally had first taste of our hard work. One stir fry with some of our own carrots 🥕 and some of Alys' (my youngest daughter) peas, which are definitely the most successful crop this year. All finished off with fresh herbs 🌿 from our vertical herb garden.&lt;br&gt;
The pace really started to escalate in boot camp as the workload began to ramp-up leading towards final project phase. 👨‍💻 The pressure to get a job is coming fast and there are projects to finish for that all important shiny portfolio website. Those of you who are particularly vigilant 👀 might have noticed there was quite a gap between that last entry and this, but I am finally getting close to catching up 😏&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qYZbF0n2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oc5qh6linpu0kias99sx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qYZbF0n2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oc5qh6linpu0kias99sx.jpg" alt="Daisies growing on our back wall"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What 3 weeks of frontend taught me...
&lt;/h2&gt;

&lt;p&gt;Frontend can be more complicated than backend. Backend block had started out really difficult, with plenty of new concepts to grasp and had taken about two weeks before I understood what i was doing. Once I got my head around it though, everything seemed to slip into place and the last week was a breeze. Frontend was much more familiar territory for me, so it started slow and easy, but soon changed! Making sites properly reactive and managing state can be challenging and frontend soon started to look in many ways trickier than backend, albeit in much more comfortable surroundings.&lt;/p&gt;

&lt;p&gt;Everyone seems to find CSS 'fiddly'. I have to admit that I am one of the few devs I know who actually enjoys working with CSS! I am not sure why, but I suspect it's because I have a pretty good understanding of the box model and tend to be able to get the results I want pretty quickly. This became clear during frontend when myself and Juliette (the queen of CSS) were called upon on numerous occasions to provide impromptu CSS support in the form of zoom chats. Teaching is the best way to master a subject though, so winners all round.&lt;/p&gt;

&lt;p&gt;Working with the DOM frustrates people. One of the wonderful things about unit testing is it all happens in one place: You can have test files and utils files open simultaneously in VS code and the whole process is smooth and easy. The frontend experience can be somewhat more 'janky', often having to hop between screens and dealing with 'hot-reloading' that sometimes just doesn't reload. I am sure that once I have a huge developer’s screen as part of my setup that this will be less of an issue, but if you are working from a single 13" screen, there is a lot of hitting [COMMAND][TAB].&lt;/p&gt;

&lt;p&gt;React can be as complicated as you choose. React was lots of fun to work with as it makes it much easier to produce really responsive websites. The use of components just makes loads of sense when it comes to a site being extendable. Also when developers want to be able to put sites together at speed, re-using components is really efficient. The more re-usable you make your components though, the more you are going to rely on passing props to them and of course the more files you will end up with. I got the feeling that only experienced React devs are getting the most out of it terms of re-usable components and I am certain my code will become much more DRY and efficient as my understanding of React increases.&lt;/p&gt;

&lt;p&gt;Forms can be awesome. I have to admit that when I have made websites in the past, largely just using HTML &amp;amp; CSS, I have found forms to be quite a lot of work, with very little reward. Once you add the functionality into a form though it becomes much more challenging and interesting. The form validation sprint was one of the most surprisingly fun days in the course so far and no longer do I sigh when I hear the word form.&lt;/p&gt;

&lt;p&gt;Flutter looks great, but there is still a lack of online community. I had heard so much about Flutter coming into this course and was really excited to try it out. Dart is very similar to JS and Flutter looks pretty straightforward if you like OOP. The Flutter docs are really good too, but you just can't beat React when it comes to the community support. Every time I hit a problem with Flutter that the docs couldn't help me with, it took sometimes hours to arrive upon a solution. Hopefully as it becomes more frequently used this will change, but for now I think React wins thanks to the vast amount of online support available for just about every error you could come across.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2s_dnXtk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9lg21snxa2po7kkhedvr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2s_dnXtk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9lg21snxa2po7kkhedvr.jpg" alt="Athlete crossing the finish line. Picture by RUN 4 FFWPU"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming up in part six...
&lt;/h2&gt;

&lt;p&gt;Final project block. Who will be on my team? What kind of app will we build? Will I be able to convince any of them to try out Svelte? &lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Frontend Block
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>northcoders</category>
    </item>
    <item>
      <title>Coda 2 Coder - Backend</title>
      <dc:creator>Kev Morel </dc:creator>
      <pubDate>Tue, 06 Jul 2021 18:31:45 +0000</pubDate>
      <link>https://dev.to/sirkevlar/coda-2-coder-backend-4lf</link>
      <guid>https://dev.to/sirkevlar/coda-2-coder-backend-4lf</guid>
      <description>&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Backend Block
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Hello there 👋 and welcome back. Backend block with Northcoders was one of the most challenging three weeks of my life, but it did stand to prove that as Dave would say: "The click is inevitable".&lt;/p&gt;

&lt;h2&gt;
  
  
  Last few weeks in a paragraph (or two)...&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;June is always an awesome month in our household, 🏡 but this one was particularly special. My youngest daughter was born in the middle of June, so we normally have a big celebration weekend 🎉 for her birthday and father's day; this year we had a family outing to the park. 🛼 My Mum had a BIG birthday this year too, so parties were commonplace, although thanks to restrictions, they were quieter than we would have liked. June is also the month in which the garden starts to bear fruit. 🍓 This year we have made peppers our main crop 🫑 and I have been experimenting with complimentary planting (basically if it goes well on the plate together, it probably grows well together). Thanks to this new strategy, this year's crop is looking like the best yet, including the biggest, most productive chilli plants i have ever seen! 🌶️ So excited for the next few months, when we can start eating some of our hard work. 🥘&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SvMm8DAp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d6suykip6u0k1po5jywu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SvMm8DAp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d6suykip6u0k1po5jywu.jpg" alt="Baby Thai chilli just beginning to grow in my garden. Spicy!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What 3 weeks of backend taught me...
&lt;/h2&gt;

&lt;p&gt;Difficult can be fun. I always knew i was likely to favour frontend. In general I think a lot of us 'artistic types' probably do. We are used to seeing or at least experiencing some kind of shiny, polished resolution to our work. So when backend began with a maze of files and new concepts, it was no surprise I found it challenging. Two weeks in and I was still struggling to make my way out of the maze and imposter syndrome was inevitably looming. We were assured by a previous Northcoders cohort, that it would get better, but that seemed very unlikely! Only a week later after setting up an api, as predicted, I was flying through the maze of files with ease and a new fan of backend was born. I may find it more challenging, but the sense of satisfaction at the end was very strong.&lt;/p&gt;

&lt;p&gt;A server is an app! I always though of a server as being a huge computer, the kind you see in 'Ocean's 11' or some other heist movie. Always living in its own dedicated, super cooled environment, accompanied by a host of flashing lights. In fact, a server is just an app, which allows you to interact with with a database effectively 'serving' up the data so it can be viewed or used. This concept was driven home by the fact that on day one, my humble laptop was acting as database, server and client. Using HTTPS to create a server on our machine, which was serving up data from our SQL database created using Postgress, and serving up requests to our 'client' using Insomnia. It was confusing at first to be fulfilling all three of these roles from one machine, but eventually I got used to it.&lt;/p&gt;

&lt;p&gt;Express is popular for a reason. Express JS is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications (in their own words). Basically that means you can do all the same things as HTTPS servers, but it has been made a lot more simple, with many of the repetitive blocks of code handled 'under the hood'. For example, lots of time and many lines of code are spent 'stringifying' code so it can be sent as a string and 'parsing' at the other end to convert back to JS. This is one of the wonderful things Express can do for you, but don't forget that Express by its own description is 'minimal', so if you forget "app.use(express.json());" at the top of the file, this feature won't work.&lt;/p&gt;

&lt;p&gt;MVC can make your head hurt. MVC (model, view, controller) is a way to organise your server by splitting it into separate sections and files, grouping together the functions which have a similar role. In backend, we would largely be concerned with the M &amp;amp; C parts of MVC. Controllers, which are functions who have access to the client side request and resolve. These functions take a client request, then route that request to the appropriate model and upon receipt from the model, send the data back to the client. And models, which are the functions that take a request from a controller and extract the required data from a database. The first few days of MVC were really challenging as the server starts to break out into dozens of files, which are challenging to keep track of, especially when you still aren't quite sure what many of them do yet! This was the first time that i had to deal with days of consecutive imposter syndrome, but I can assure you, that after several days of negotiating your server, you will begin to understand exactly what it is doing.&lt;/p&gt;

&lt;p&gt;SQL isn't as 'friendly' as JS. After months of becoming intimately acquainted with JS, I have become used to how forgiving it is as a language and how helpful it can be with errors too. If error chasing is your thing, then JS is your best bud! If you have lovely separated files and a well organised server, a JS error will (most of the time) point you to exactly where your error lies, even down to the line on which it happens. SQL, however likes to make you work harder with helpful messages like 'ERROR near ;'. Thanks SQL! You would think that a language which is so particular about its syntax, would be more error friendly, but no such luck! If in doubt, chances are you missed a semi-colon. There is plenty of fun to be had with SQL though: Merging tables was particularly interesting and SQL presents you with some new puzzles to overcome.&lt;/p&gt;

&lt;p&gt;Is it a bird? Is it a plane? No it's Supertest! A really useful NPM package that allows you to test an endpoint behaves as it should. Using Supertest whilst building a board games API really confirmed the value of TDD. My API is pretty simple and only a work in progress, but even still has loads of files and quite a few endpoints. The test suite is huge, but it gave me absolute confidence that there would be no issues upon hosting. Although hosting for the first time wasn't without its own error chase, that was only a setup issue. The API behaved exactly as it should thanks to Supertest!&lt;/p&gt;

&lt;p&gt;Errors can't be too specific. One of the most exciting things for me about building my API was getting the chance to write an error message. I know it might sound really strange, but having been on the client side of error messages for so many years, the idea of writing my own was very exciting. I started off with the best of intentions towards my fellow devs: Write really specific error messages that tell you exactly what was happening. Seemed like a great idea! Then a slightly different error was caught by the same block. "No problem, I can just make the error message slightly less specific", I thought. By the fourth time I had to refactor my error message to make it less specific, I realised "not found" or "bad request" might have been better to start with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EGUVJtzF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7syxa7cvvz3ukx4tiain.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EGUVJtzF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7syxa7cvvz3ukx4tiain.jpg" alt="Picture of the frontend of several shiny Mercedes cars"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming up in part five...
&lt;/h2&gt;

&lt;p&gt;Frontend block. We finally get to make things look pretty. 🤩 Which will be better... Flutter or React Native? It's the battle of components vs widgets.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Backend Block
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>northcoders</category>
    </item>
    <item>
      <title>Coda 2 Coder - Foundations</title>
      <dc:creator>Kev Morel </dc:creator>
      <pubDate>Sun, 06 Jun 2021 19:47:38 +0000</pubDate>
      <link>https://dev.to/sirkevlar/coda-2-coder-foundations-1igk</link>
      <guid>https://dev.to/sirkevlar/coda-2-coder-foundations-1igk</guid>
      <description>&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  JavaScript Foundations
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Welcome back 👋 Three weeks of JS Foundations taught me so much, not just about JS. Primarily I had to learn to pick myself up and dust myself off, then clean up my melted brains from the floor...&lt;/p&gt;

&lt;h2&gt;
  
  
  Last few weeks in a paragraph (or two)...&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Summer really takes it's time in the UK, especially if you live in the north! But finally, the sun has come out. 🌞 The extra work in the garden has been a welcome relief from JS Foundations. The relentless pace of boot camp 🏃‍♂️ means there is little time to recover from one mind-blowing concept before being introduced to the next, headaches from learning are a real thing! So i was grateful that pumpkins 🎃 grow relentlessly and seem to outgrow their pots weekly. I also had really successful time seeding peppers this year so ended up giving away seedlings 🫑 ↔️ 🍅 I did get some tomato plants in exchange though. More plants to home, but the upturn in weather has meant many of my indoor plants have been re homed outside 🪴 In boot camp, everything started to feel a lot less conceptual and a lot more 'real world'.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rvnC7cRS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20i5vr180rq5xhz1wvr3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rvnC7cRS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20i5vr180rq5xhz1wvr3.jpg" alt="Spinach and chard growing in my DIY up-cycled vertical garden, made from used plastic bottles"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I get from JS Foundations...
&lt;/h2&gt;

&lt;p&gt;Recursion isn't as scary as you think. Most people I know first encountered recursion on freeCodeCamp. I did, in the introduction to this blog recommend this resource (and still strongly do), but their introduction to recursion makes it a little more complicated than necessary. My advice would be to take a simple JS kata like factorial and try to replicate your solution using a recursive function. If you feel comfortable with recursion, then look up 'tail-end recursion', which removes the call stack build up and makes those recursive functions lightning-fast.&lt;/p&gt;

&lt;p&gt;Pure functions make for complicated TDD. A pure function is one which won't modify or mutate any data outside it's scope. So the input data and everything outside of the function's scope should remain unaffected after it's invocation. This concept itself isn't complicated, but once you factor in TDD then you are back into the world of mock functions and I wish you luck! This is possibly still my weak link in JS, but I still have plenty of time to come back to it. Having said all that, I am becoming more and more friendly with jest and the procedural nature of TDD. It gives you absolute faith in the functionality of your code step by step. Also it requires an additional layer of planning, which creates far more robust, reliable code. I am certain than it will be no slower in terms of productivity as problems tend to be solved very quickly, due to the way TDD breaks coding down into small manageable and easily de-buggable problems.&lt;/p&gt;

&lt;p&gt;Giving lectures where you are trying to explain the 'this' keyword looks really tricky as it renders the use of the word this redundant. The this keyword is implicitly bound to the object in which the method was invoked, which basically means that if you have a method which uses the keyword this, which is stored as a value within an object. When that method is invoked from within that object, the word this will be referring to that object. It means you can write functions using the word this instead of having to hard code each object's name into a function, thus making functions re-usable as methods within multiple objects. Object oriented programming seems relatively straightforward at the moment, compared to functional programming, but no doubt time will prove me wrong!&lt;/p&gt;

&lt;p&gt;Classes, constructors and prototypes are better than factory functions. Classes brought with them one of the most fun couple of boot camp days so far. I was working with the legend Khizar, a knowledgeable and patient programming pair partner. Also we were using classes to build a Pokemon themed game, which pleased my partner as a childhood Pokemon fan and pleased me as an old-school gamer. Factory functions are the older way of using functions to build objects in JS. It allows you to build many objects using the same template, handy for example when building several Pokemon characters with similar attributes. The code when using factory functions isn't very DRY as there is tons of repetition. Fortunately classes and constructor functions do lots more for their money. They automatically create a new object and more important they create a prototypal link between the constructor and the object, meaning that any functions available in the constructor are also available in the created object, without the need to code the function in each object.&lt;/p&gt;

&lt;p&gt;Asynch, call backs and the day we were told we cant return out of functions anymore. Because javascript is a synchronous language and human beings are impatient, this created a problem: When your app or web page hits say an image which takes a while to download, that would mean waiting for it to fully load before the rest of the page can continue to load and become interactive again. Thanks to Ryan Dahl, Node and a lovely place called 'the event loop' we have access to an asynchronous world where functions can live, waiting for data to be retrieved and when the call stack has cleared can return that information via our friend 'the callback function'. One nasty side effect of this is that our functions can no longer return in the traditional way as use of the word return, would mean the function would exit out, before the data had been retrieved. Instead all data is handed back using callbacks. This method of achieving asynch in JS is pretty confusing though and leads to something called 'the asynch tree of doom'. Fortunately I will mainly only have to recognise this method and not employ it myself too often.&lt;/p&gt;

&lt;p&gt;Promises and the return of return. After a few days living in the frustrating confines of asynch land and callbacks, it became clear that this is a massive part of living with JS. The only way to avoid blocking code (code which stops other code executing) is to take advantage of the event loop. Fortunately there is the newer JS method of using promises. These guys allow you to stop stacking up callbacks and instead return (yes we are allowed to return again) promises into another block depending on their state. Promises can be pending (awaiting response), fulfilled (they are sent to the next then block) or rejected (they get sent to the catch block at the end of the chain, which catches all errors). And promises can be easily returned to the next then block if necessary, for example if you are wanting to write some logic based on the return values of two separate promises. I imagine we will end up using promises more than callbacks, but there is still asynch/await to come so stay tuned...&lt;/p&gt;

&lt;p&gt;Imposter syndrome is real and just about everyone suffers from it. If you don't know what it is, then basically it is like that unshakable feeling of doom you get when you feel like you are in over your head. Something which I expect most people in most careers have felt at least once or twice. The problem is that in the world of software development you are constantly learning and equally frequently coming up against confusing concepts. Each time you hit a new concept which is unfathomable, the feelings of doubt are the same: "I should understand this by now". "I thought I could speak JavaScript". "Maybe this concept is just one step too far for my brain to take". The fact is, almost all computing concepts take practice before a full understanding is achieved. Don't listen to the doubting voices and remember that just about everyone else is going through it too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hChobyxz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yisnjjrtndc0t4cy0rtg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hChobyxz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yisnjjrtndc0t4cy0rtg.jpg" alt="Server Room Photo by Manuel Geissinger from Pexels&amp;lt;br&amp;gt;
"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming up in part four...
&lt;/h2&gt;

&lt;p&gt;Backend week, company presentations and cohort drinks. Will I be able to handle going out in public places again?&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  JavaScript Foundations
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>northcoders</category>
    </item>
    <item>
      <title>Coda 2 Coder - Boot camp</title>
      <dc:creator>Kev Morel </dc:creator>
      <pubDate>Sat, 15 May 2021 18:33:41 +0000</pubDate>
      <link>https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4</link>
      <guid>https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4</guid>
      <description>&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Boot Camp Weeks 1 &amp;amp; 2
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Hi again 👋. Thanks for coming back! Read on to find out about my first couple of weeks of boot camp @ &lt;a href="https://northcoders.com/"&gt;NorthCoders&lt;/a&gt;...&lt;/p&gt;

&lt;h2&gt;
  
  
  Last few weeks in a paragraph (or two)...&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The last two weeks have genuinely been the busiest of my life, serious life-juggling required! 🤹🏻 My kids are beautiful, but high maintenance to say the least. My garden is beautiful too, but at this time of year, it's also pretty high maintenance. 🌱 🌿 The weekdays are crammed full of learning, which I love, but it does mean that the weekend is for catching up on all the general stuff that I can't help with during the week: Plenty of cooking, 🥘 cleaning, and general family business 👨‍👩‍👧‍👧&lt;br&gt;
Boot camp is a combination of hard work, mind-blowing concepts, 🤯 and amazing people. 🤩 The enthusiasm and support shown by the tutors is both appreciated and essential. The other folk on the course with me are a wide mix of personalities, from mixed backgrounds, but we are all united in the desire to learn. 📖 🖥 By the end of week two, it seems that most if not all of us have had our brains 🧠 melted several times. United by the groups' combined 'brain-pain', Friday zoom get together was packed with laughs and comradery. 💻 🍾&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QB3NEN8I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2i2fvpp7kg20is85jml3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QB3NEN8I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2i2fvpp7kg20is85jml3.jpg" alt="Purple and yellow viola from my garden"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I get from the last two weeks of JS...
&lt;/h2&gt;

&lt;p&gt;Paired programming. This is the reason I know I am going to love the job, whatever company or role I end up in. It seems that this kind of work is common practice. There is a navigator, responsible for the macro-level thinking (planning and general direction) and the driver for the micro (the coding). It is really great to be able to concentrate on only one of those at a time, and swapping the role is done regularly. The surprising thing for me though was the complexity of problems it is possible to solve when working in a duo: Definitely more than the sum of our parts. Shout out to 'Lightning Jack' and his mock function work!&lt;/p&gt;

&lt;p&gt;TDD (test-driven development). Get used to this one, as I understand from friends and family in the industry that we will be doing it all the time. At first, it does slow you down a bit, especially with simple functions. However, it really does teach you to learn to love the red light as much as the green. Once you start to understand your error messages, the red lights are the best route to the green. Also passing the simplest test first, then concentrating on passing the next simplest test case, can lead to some really great solutions to complex problems. Jest seems to be the testing tool of choice right now and after some initial head-scratching, most of us seem to have a decent understanding of it. EDIT: I should state that while TDD should be employed as standard practice, I have been informed by more than one junior dev that it is sometimes skipped due to workload. Expect to be busy!&lt;/p&gt;

&lt;p&gt;The execution context diagram. Get used to this one too! At first, it is a little complicated but not too hard to wrap your head around. It does really help to understand some of the various 'interesting' behaviors of JS, some of which lead to an infinite world of possibilities. Also, it gives you the opportunity to sound like a pro when using terms like 'global variable environment' and 'call stack'. It's not a big stretch to go from shouting out 'local execution context', to actually knowing what that means.&lt;/p&gt;

&lt;p&gt;Mock functions, and the first day my brain really got fried. At some point when you hit the foundations of functional programming, it all starts to resemble 'Inception', but twice as confusing! Instead of dreams within dreams, its functions being called or even created within other functions. It starts to get hard to track where you are or even what you are doing. Just when we thought it was already complicated, we hit the at first unfathomable 'mock functions'. These can be used to test various things, for example, it could test to see if a function called by another actually got called, how many times it was called, etc. Mainly this was confusing for me as the syntax just felt a bit unfamiliar and I had thought I could speak 'JavaScript' pretty well. I felt like someone who speaks Spanish but got dropped in the middle of Portugal. We got the testing to work though, and I am sure it will become natural quickly.&lt;/p&gt;

&lt;p&gt;Closure, the COVE (closed over variable environment), or if you really wanna sound clever, the persistent lexical scope reference. This seems to be one of the most important concepts to grasp in foundations and it is pretty easy to see why, once you understand its basics. It is however a subject that seems to inspire fear in many. I guess it isn't the concept of closure that is so confusing, rather the implications of this behavior and the complex functional programming which follows hand in hand. I won't go into too much detail, but basically, it is a behavior that allows you to attach a 'backpack' of memory to a function and therefore be able to do many wonderful things. A simple example is a function that is capable of tracking and limiting how many times it allows itself to be run. Over the next 12 weeks, I expect to come across many uses for this behavior, but for now, me and my comrades on boot camp were just happy to get some of our tests to pass, although I honestly could not explain how or why in at least a third of the cases.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://northcoders.com/"&gt;NorthCoders&lt;/a&gt; staff are awesome! 😍 I deliberately haven't filled this second blog post with links for a reason I talked about on the intro page... GOOGLE! If you are reading this with the interest of becoming a full-time dev, then hopefully by now you are used to searching for your own solutions! I did however put the &lt;a href="https://northcoders.com/"&gt;NorthCoders&lt;/a&gt; link on this page three times so far, for a reason: I have been really impressed with the tutors/mentors on so many levels. They have been friendly, supportive, entertaining, mind-blowing, generous, and have displayed a deep understanding of both the subjects and teaching. So far these last two weeks have been up there with the best, and that is thanks to my fellow JS newbies and the fantastic tutors. I may have melted, but I am really looking forward to doing it all over again next week 😎&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eH3KjpqF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jb6rxekahfissz37xeah.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eH3KjpqF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jb6rxekahfissz37xeah.jpg" alt="Fractal art Image by Ralf Kunze from Pixabay"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming up in part three...
&lt;/h2&gt;

&lt;p&gt;Imposter syndrome: What is it and what can I do?...&lt;br&gt;
Will any of us still be able to talk after a week of recursion? (Functions that call themselves.) And will anybody manage to draw anything better quality than Harry's duck in Friday Pictionary? Only time will tell...&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn"&gt;Dev Journey Introduction&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Boot Camp Weeks 1 &amp;amp; 2
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>northcoders</category>
    </item>
    <item>
      <title>Coda 2 Coder: Dev Journey</title>
      <dc:creator>Kev Morel </dc:creator>
      <pubDate>Mon, 10 May 2021 21:58:51 +0000</pubDate>
      <link>https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn</link>
      <guid>https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn</guid>
      <description>&lt;h3&gt;
  
  
  Dev Journey Introduction
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Hi, 👋 Thanks for checking out my blog. What follows is a story of my career transition from touring musician and music tutor to software developer: Coda 2 coder...&lt;/p&gt;

&lt;h2&gt;
  
  
  Backstory&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I'm Kev, formerly a career musician 🎼 and music tutor. I live in the hills near Manchester. I have two beautiful daughters Isla and Alys and I spend most of my time either coding 💻 or playing one of my many instruments 🎹 🥁 🎸 (not sure how many we have in the house, but it's probably about 50!) When I'm not doing either of those things, I spend the rest of my time cooking for my hungry daughters, 🍲 tending my organic garden, and talking to plants 🌱 I used to run a &lt;a href="http://www.dogfacerecords.co.uk/"&gt;record label&lt;/a&gt; and toured Europe 🇪🇺 on many occasions with a few lovely 😍 people. I produced several EPs and albums including &lt;a href="http://www.kevmorel.com/music"&gt;my own&lt;/a&gt; 💿&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hezYnN01--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w6vnruur976lej7qm6lz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hezYnN01--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w6vnruur976lej7qm6lz.jpg" alt="Peas from my garden, growing through a homemade bamboo trellis"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Previous experience/knowledge
&lt;/h2&gt;

&lt;p&gt;At the start of my career, I worked as an administrator and general dogsbody for a software development company, during which time I gained a wide variety of tech-related experience including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building three PCs including a server&lt;/li&gt;
&lt;li&gt;Some basic de-bugging&lt;/li&gt;
&lt;li&gt;Some basic web-design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Throughout the rest of my career leading up to today, I have often been the go-to-guy whenever there were any tech issues, thanks largely to my previous experience and my family history (my Dad is a pretty heavy AS-400 developer and both my brother and sister have worked in senior positions for huge tech companies, it's a family thing.) Thanks to this I ended up gaining some more interesting experience including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Printer technical support (yes it is a thing)&lt;/li&gt;
&lt;li&gt;Building many websites (using Squarespace, Wix, etc)&lt;/li&gt;
&lt;li&gt;Setting up several PCs to run ubuntu partitioned&lt;/li&gt;
&lt;li&gt;Kitting out and engineering a music studio&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although I didn't have any real experience of coding until the beginning of this year, it is fair to say that I was probably destined to end up as a developer. I do however continue to be surprised at how much I still love "messing about with a computer".&lt;/p&gt;

&lt;h2&gt;
  
  
  Coding journey this year up to now...
&lt;/h2&gt;

&lt;p&gt;I guess a lot of us start at &lt;a href="https://www.freecodecamp.org/"&gt;FreeCodeCamp&lt;/a&gt; so I probably don't need to say much about it. It is obviously an amazing resource and I would fully endorse using it and supporting it if you can. If you've not seen it yet, then you can learn, test, and get qualifications for free or donations.&lt;/p&gt;

&lt;p&gt;Also, most of you reading this are no doubt aware of &lt;a href="https://www.codewars.com/"&gt;Codewars&lt;/a&gt;, the place where you let your problem-solving muscles flex. Just remember that readable code is probably more important than the shortest, cleverest solution.&lt;/p&gt;

&lt;p&gt;Google, Google, Google (no link necessary). As a music tutor, I advised its use regularly. But never did I imagine how often I could use it myself! And I hadn't even heard of &lt;a href="https://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; before 2021. Although try not to copy and paste code you don't understand if you can avoid it, seems to be the order of the day. If in doubt &lt;a href="https://developer.mozilla.org/"&gt;MDN Docs&lt;/a&gt; or if you like a bit more explanation &lt;a href="https://www.w3schools.com/"&gt;W3 Schools&lt;/a&gt; and at least try to understand what CTRL V just did for you.&lt;/p&gt;

&lt;p&gt;After sweet Aunty Google, comes my next favorite resource, YouTube (again, no link necessary). You will come across so many concepts which at first make your core temperature rise thanks to synaptic fireworks, but there is so much help out there. MPJ's assistance on the understanding of Higher Order Functions &lt;a href="https://www.youtube.com/c/funfunfunction"&gt;(Fun, Fun Function)&lt;/a&gt; was very much appreciated as was Daniel Shiffman's explanation of git and many other things &lt;a href="https://www.youtube.com/c/TheCodingTrain/featured"&gt;(The Coding Train)&lt;/a&gt; and finally lots of VSCode tips from &lt;a href="https://www.youtube.com/channel/UC-T8W79DN6PBnzomelvqJYw"&gt;James Q Quick&lt;/a&gt;, which did speed me up tons.&lt;/p&gt;

&lt;p&gt;If you have never come across regular expressions, then I would strongly suggest checking out &lt;a href="https://regexr.com/"&gt;RegExr&lt;/a&gt;, even if you won't ever have to use them, it is at least one night of entertainment and wonder. If you ever wondered how an email address gets validated, then look no further!&lt;/p&gt;

&lt;p&gt;My final discovery has been the developer community. I knew cooperation was strong in this industry, but it seems in its best cases to be built on a foundation of knowledge sharing, which for an ex-teacher and anyone else I guess is heartwarming 💟&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AspE_gEn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tcx8wfheku8wi5070m3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AspE_gEn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tcx8wfheku8wi5070m3.jpg" alt="Army platoon marching boot shot. Photo by Filip Andrejevic&amp;lt;br&amp;gt;
  "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next...
&lt;/h2&gt;

&lt;p&gt;I started a boot camp at &lt;a href="https://northcoders.com/"&gt;NorthCoders&lt;/a&gt; on May 4th this year. Intro week was amazing. The main thing I have learned so far is how much I enjoy paired programming. I always loved collaborating as a musician, now I am just collaborating with a slightly different language.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dev Journey Introduction
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4"&gt;Boot Camp Weeks 1 &amp;amp; 2&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-foundations-1igk"&gt;JavaScript Foundations&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-backend-4lf"&gt;Backend Block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-frontend-2p9d"&gt;Frontend block&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/sirkevlar/coda-2-coder-final-project-d7a"&gt;Final Project Phase&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>northcoders</category>
    </item>
  </channel>
</rss>
