Northcoders Week 1: Mountains to climb, paths to choose 🧙🏻
Published: 2023-12-06 21:45:49

This blog was actually intended to be put out nicely and neatly at the end of week 1 of my boot camp experience. But as it is in the real world, not everything goes exactly to plan as my blog this week and next will pertain to. It's been a tough entry into the world of tech, but I’m still here, still smiling, albeit with strained eyes.

---

For those of you who don't know already, [Northcoders](https://northcoders.com/) is an industry-leading software development training and solutions provider. They offer cloud, data and software engineering bootcamps either via self funding or via a government scholarship program. I have opted to enrol on the software engineering bootcamp which gives you the skills to become a full stack developer, mainly using JavaScript as the jumping off point. 

Now I should mention that I do not have a history in writing code, but whilst on my Graphic Design & Communication BA we did do a module on front end web development which was a lot of fun and really piqued my interest, but was something I could not fully explore due to the constraints of my course. 

Flash forward to November 27th and I started my bootcamp after many months of preparation, saving money and a lot of anxiety…


## Week 1

Northcoders have an extensive online platform that is used throughout the course and it is _top class_. It tracks your progress as you go along and is intuitive and well designed so kudos to the engineers behind the scenes. Now in the interest of business I’m not going to recant to you the everyday tasks and modules we are covering, just more a brief overview of what the experience is like as I want to be as open as possible in regards to what it is like to switch careers after many years in a different field and of a certain age. 

I am doing this course completely remotely from Devon, although I do wish there was an option to meet up with fellow students as per the Manchester, Leeds, Birmingham and Newcastle offices. _(South-coders?!)_ but remote is also fine as I get to do the majority of the course in my coworking space and that's fine by me!

As you would expect the first day is a lot of admin, introductions and laying out what the course will be like for the duration of the 13 weeks. The structure is great and really allows the right amount of time for each concept to take hold whilst also not overdoing it so you don't get lost in a rabbit hole of learning. You can see the general course specifics [here](https://northcoders.com/our-courses/coding-bootcamp).

We had a crash course on command line which is something that we should already know due to the _(60 hour!)_ pre-course material so I was already pretty comfortable with that, and we also moved over to git and github as they for the foundations of how NC operate. I actually had an entertaining session with my private tutor [Kim](https://dev.to/thekimmykola) way back when about git and I legitimately thought it sounded like nonsense, but flash forward and now I am SO grateful to her for introducing me to git, github, command line and oh my ZSH when she did because it meant this first day was a lot more bearable.

Throughout the week we moved over various topics such as thread of execution, call stack, variable environments and the general way Javascript executes code. It often feels very daunting as this kind of understanding was something I always assumed I was not intelligent enough to understand. But as you will see, this thought process is just a symptom of **_imposter syndrome_** which is a whole blog of its own (and coincidentally a lecture later on). The way that these concepts were introduced and explained was excellent and it helps that they use very visual representations of them and treat us all with respect with the questions we had. 

Later in the week we had a great lecture about how we as software engineers break down a problem. I think we are all guilty of seeing a problem and jumping to the most logical solution, I mean who doesn't love a green tick ✅(looking at you Jest) but this lecture was really a lesson in restraint. I had a big realisation, the reason I like to code so much is  because I love problem solving. I love the act of breaking down a problem, input, output, use case, edge case, the works. I don't know the official jargon for each step (yet) but the concepts fascinate me. But even without looking at code, I love to sit and use a pen and paper to think about what I am being asked to output, essentially I like the human language of pseudo-coding, it's real, tangible and simple. It actually reminds me about when many years ago on my Graphic Design course we were told not to use computers to solve design problems but to use pen and paper and discussion first. It helps to foster a healthier mentality, especially within teams (nicely done Northcoders!).

Now it wouldn't be 2023 without someone on the internet mentioning chatGPT and yes, it is talked about extensively on this course. They are not vilifying the software, but also they do not encourage its use as learners. Essentially ChatGPT has the ability to write code, solve Katas and be a generally helpful little buddy in most workflows. The extent to which it does so correctly is up to personal interpretation. But I have spent this money and risked everything to learn to code, not to learn to prompt something to code for me. If I input a kata into it and it solves it I get a nice green tick… but that's all I get. I don't get the sometimes hours of debugging that comes with being a learner, and you know what? That's the bit I like. I like to fail as it means I explore more options, reach out for support and speak to my peers, and to me that's better than a computer telling me what to do, although I'm sure my future will be using lots of generative models and that's ok too. 

The week ended with a (hilarious) day of HTML & CSS. I have done a fair bit of this in the past and so it was ok, it was taught briefly so that we spent most of the day experimenting with various online Northcoders curated courses to help us battle it all. It's not something that I overly enjoy at this stage, but that comes from frustration with the tools I'm using. I have the ability to create a beautiful website at the design stage with the adobe suite or Figma, but being the designer and engineer at the same time was not easy. This will of course get better with time. I did however show my class the awful 90s cat website I managed to scramble together by the end of the day. 😸

The week finished and I felt elated. I have worked so hard to get to this point and it was everything I wanted and more. It's hard work and thankfully tests my abilities like I never imagined but that's exciting. I love learning and to get this opportunity again is just brilliant. 

Some topics covered this week that I found interesting

- Thread of execution
- Pseudo-Coding 
- devdocs.io (my hero)
- regexr.com (regex === 🫠)


I want to shout out to my classmates who I paired with this week, it's a new kind of work structure. Most of us are used to sitting at home coding and asking our cats for help. So, it was great to change that and have real human interactions, and do something we all love.

Thanks for sticking with this blog, I appreciate it's a bit long winded, but I actually find it therapeutic to spew it all out, helps me reflect on the week gone by so you're stuck with me for the next 13 weeks! 

Next week is absolute chaos and a £1,500 mistake 💻 === 💀

---

As always, happy coding and you can find me on [LinkedIn](https://www.linkedin.com/in/daniel-gruitt-2a9996138/) where I don't post enough.