Everyone has to start somewhere. How I prepared to begin my coding journey.

The journey before the journey. Who am I and what preparation did I undertake before starting the SchoolOfCode boot camp.

Everyone has to start somewhere. How I prepared to begin my coding journey.

Before I begin it is important for me to share, I don't know how to blog. This isn't just my first coding blog entry it is my first ever blog entry. So just be patient with me, I'll get there! That said, being new to blogging lines up perfectly with my coding experience so far. Coding is also brand new to me, I've dipped my toe into the water before and enjoyed it but this will be my first dive into the deep end. The SchoolOfCode is going to be all about trying things I have never tried before and putting myself in positions I might not be fully comfortable in. That is what is going to make this journey so uniquely challenging.


Let's start with a little about me.

My name is Josh (if you didn't notice by the blog title and URL) I am 22 years old and I live in the United Kingdom. Before deciding to venture into the world of code and software development I originally began pursuing a career in Psychology. As of April this year (2022) I have completed my bachelor's degree in Psychology. However, I felt unsatisfied with the field I was going into and had been considering my options and passions. I think many of us have been in a similar situation where we are unsure what we should be doing with our lives. I was very lucky to have a family friend working in software development and when speaking to him, and other friends of mine who were interested in coding themselves, everything fell into place for me. This was what I wanted to do, this is what I wanted to pursue a career in.

But how?

That was the glaringly obvious question, I didn't know how I could get into this line of work. I felt maybe it was too late for me having finished university with an unrelated degree and little real coding experience. This is where the SchoolOfCode came into my life, they believe the world of technology is for everyone no matter their background, age or experience. Just one look at their website showed this to me:

School of Code offers free intensive and flexible coding courses open to applicants of all backgrounds. You don’t need to have any previous technical experience or any qualifications. All you need is motivation, and to like solving problems! School of Code's purpose is to give everyone a route into technology and teach them the skills they need to leap into the industry.

This was perfect for me and I was eager to apply, and apply I did.

I keep mentioning it, so what is the SchoolOfCode?

schoolofcodepromo.png

The SchoolOfCode is an online intensive 16-week boot camp that takes participants from zero coding experience to being ready for work in that time. I will have to complete several projects (which I am really looking forward to) and an additional final project over a period of 4-weeks. It will be Monday-Friday, 9-5 which will be intense but I am looking forward to the workload as it seems I already can't get enough!

For my cohort, I was selected out of almost 3,000 applications! I was overjoyed when I found out I had been selected, especially as the application process gave me a real taste of what to look forward to during the boot camp.

What did I complete during the application process and what was it like?

  • The first thing I completed was the creation of a pixel character. I followed instructions and experimented a little on my own with HTML and CSS to create this little guy: I am pretty happy with how he turned out in the end. I originally made a Batman pixel character but decided to make one closer looking to me to use as my profile picture for a while.

  • Following this I watched a tutorial video on how to use scratch. After the video, we had to create our very own scratch game. I decided to create a catching style game. I created Dot the Hungry dog and you can find the game here. I created an intro sequence with animation, sounds and dialogue. The intro also asks the player for their name before the game begins. The game itself can track the score and also track 'dropped' treats and after 4 misses the game ends, tells you your score and invites you to click the screen to try again. I was quite happy that I was able to create a system that allowed the restart button to avoid replaying the intro sequence and move the user straight back to the game.

  • For the final step of stage one I had to put together a small video answering various questions to show my confidence in communicating in a remote style. In addition to this, I completed a small application form explaining why I wanted to be on, and why I would be a good fit for, the boot camp.

After being successful in this stage I was invited to a 1:1 zoom interview where I answered questions about myself, how I had found the process and some puzzle questions to assess how I think about things.

Around 10 days later I go the email...

I was absolutely overjoyed when I read that e-mail in the Marks & Spencer queue! The food from there was extra tasty that evening! Since then I have been busy finishing up at university and getting prepared to start.

What I have done to set me up for the start of the boot camp?

Before the start of my full-time journey with the SchoolOfCode I was supplied with two pieces of documentation. Stage 2 of my learning (stage 1 being the application tasks) and a welcome pack.

Stage 2

Stage 2 had 7 main tasks, I will try my best to keep this somewhat short.

  1. Setting up VS Code - It was fun to see my coding environment, install extensions and have a look at some themes and fonts (if I am going to be working in an environment a lot it is important it looks nice!)

  2. Preparing a file system - Long gone are the days of a messy computer. It was satisfying going through and clearing out my computer and setting up files for the start of my course, I love good organisation!

  3. Learning how the internet works - I watched a three-part series breaking down the systems that make up the internet. It was very interesting to see how simple yet incredibly complex everything is.

  4. HTML and CSS - This was the first big one for me. I dived into FreeCodeCamp's HTML and CSS course and had to complete the various tasks presented to me (72 to be exact). This felt like a real start to coding and it gave me a new perspective on website creation. It's incredibly fun and very rewarding when your code satisfies the requirements of each task

  5. Getting used to using the command line - I had never done anything like this before so this was completely new to me. However, I found the explanations and the line commander game supplied by the SchoolOfCode to be really intuitive and helpful. By the end, I felt really confident with what I had learned and understood the command line on a completely new level (I am sure there is still a LOT more for me to learn though).

  6. Git and GitHub - This one took me a while to get used to. But with a good amount of practice, I am much more confident using git commands for version control and I am happy with how I have set out my GitHub profile README, so happy in fact here is a screenshot of how it looks when you first load up my profile (at the time of writing):

  7. My favourite task: Creating a tribute page - I had a very fun time creating this. I decided to make a tribute page for my favourite music artist Jack Harlow. I wrote the code on CodePen and then cloned a GitHub repository from the SchoolOfCode, inputted the code from CodePen, pushed the work back to GitHub and created a webpage from it. If you want to see the webpage click here. I decided that I didn't want a static webpage with a timeline of events so I decided to create an automated slideshow going through Jack Harlow's career, this was fun and challenging. The part of my code I was most proud of was my work in CSS with keyframes, animations and animation delay. I have pasted a small section below.

.slideshow > * {
  opacity: 0;
  animation: cycle 40s infinite linear;
}

.slideshow > *:nth-child(1) {animation-delay: 0s}
.slideshow > *:nth-child(2) {animation-delay: 10s}
.slideshow > *:nth-child(3) {animation-delay: 20s}
.slideshow > *:nth-child(4) {animation-delay: 30s}

@keyframes cycle {
  0% {opacity: 0.0}
  4% {opacity: 1.0}
  33.33% {opacity: 1.0}
  37.33% {opacity: 0.0}
  100% {opacity: 0.0}
}

Following Stage 2 of my learning, I went through the welcome pack which introduced me to the course timetable, the slack groups, key dates and other 'things to do.' There were some recommendations in the welcome pack of how to get into various good habits. One recommendation was to spend a small time at the end of each day reflecting on what you had learnt.

That brings me on to...

Why I have started this blog.

There are a couple of reasons I decided to get blogging. I firstly think it will be a great place for me to share my journey with others if they want to follow along, but it will also be a way for me to share my journey with myself. It can be easy to forget where you started, so future me I hope you're doing well!

I also want to track my progress, with small updates each day or larger updates each week (I'm not sure what format to go with yet) I will be able to reinforce my learning by calling back to what I have done. I will also be able to look back to certain areas on my development in the future. In addition, I think it will be very helpful to have my words next to my code in a digestible format. I don't want to look back to April 2022 and think 'what on earth was I doing here?' If i know what I was up to I will be better able to understand my code, my problems, my solutions and again see my progress.

Finally, I think it will be fun!


If you've got this far, thank you! Im very happy with the start of my journey and right now I feel very excited to get started. I have just over a week to go and my next blog post will either be after day 1 of the course or at the end of week 1. I have enjoyed taking my time with this post so maybe weekly updates will give me more freedom to be creative with how I present them. Anyway, if you want to follow along with my journey please do. If you want to contact me for any reason please do, the best place to connect with me is Twitter - @_pattisoj. I hope you have a good week, and happy coding!