My Dev Journey: Bootcamp Pre-Course
Tags: javascript, codenewbie, bootcamp, beginners
Published: 2021-05-03 19:08:25

Thanks for checking out my first blog post on my journey into tech! I'm aiming to do one of these each week as a retrospective, to see how far I've come! 🏃🏻‍♂️
Consider following me on [GitHub](https://github.com/fearneyork).

## Who I am!

I’m Fearne, I’m a trainee Software Developer, about to start my bootcamp through [Northcoders](https://northcoders.com/). I live in Leeds, West Yorkshire with my partner [Sam](https://dev.to/samroebuck_), and our two Gerbils, [Guss and Jim](https://www.instagram.com/gussandjim/). 🐭 🐭

I went to University and did my degree in Design Engineering, which is just Industrial/Product Design with a different name slapped on it. For just over a year I worked as a Technical Designer for a prop and set design company.

## What I knew before applying

 - A little bit of Python

 - A little HTML and CSS from a while back

 - That I enjoyed learning about what makes the tech I use work, and honestly I think this is the most important pre-requisite rather than any knowledge/experience.

## What I’ve learnt since applying
Here's a list of some of the things I've learnt and links to resources I've found useful!

###[JavaScript Basics](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/)

On freeCodeCamp I've gone through everything from comments and variables through to loops and recursion.

###[ES6](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#es6)

*_LOTS_* of ES6 content, from let and const variables through to Promises.

###[Basic Data Structures](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#basic-data-structures)

Manipulating Arrays and Objects! Great fun 🥳

###[Debugging](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#debugging)

`console.log()` is now my most typed phrase — *and I love it* — it's such a valuable tool for understanding what is happening at any point in my code.

###[CLI](https://openclassrooms.com/en/courses/4614926-learn-the-command-line-in-terminal?status=published)

[ohmyzsh](https://ohmyz.sh/) is a great way to style your terminal to a less threatening theme (I use [Spaceship](https://github.com/denysdovhan/spaceship-prompt)) which can really help take the barrier of fear down using the command line.

The best advice from this course is to stop using Finder for searching through your docs, use your Terminal! I now use mine for as much as possible, and it's taken a lot of the fear out of the mysterious black box.

###[Git basics and using GitHub](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV)

Very daft video series and really enjoyable, if you have a GitHub and haven't got a clue where to start, why not with a rainbow poems 😂

###Using VSCode
Here's a couple of extensions and themes that I've been enjoying so far, if you know some good extensions let me know!

[Auto Close Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag)

[Dracula Theme](https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula)

[Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)

###[CodeWars](https://www.codewars.com/dashboard)

Such a great way to warm up in a morning or to try out some theory work that I just covered. Highly recommend for anyone starting out, it's a great way to put your skills to work!

## What I found difficult

###Background processes

Grasping processes that happen in the background, especially the processes that compound and have no observable steps. 

As an example, mapping over an array rather than creating a for loop.

###Instance properties and instance methods

The reason why length() doesn't work. ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#instance_properties) says it best)

###The path of least resistance

If after trying and trying again to get a solution to work I start to feel like there's a better way. And there usually is.

The path of least resistance isn't about cutting corners but is about working smart not hard.

This means thinking about the problem logically rather than rationally, i.e. not always needing to split a string down to an array, or not always needing to create a for loop.

###Exiting Vim 😨

Got stuck in Vim?

`Esc` then `:wq` then `Return`

###Possibly the most important

Not defining where I am in my tech journey based on  where others are. 💜

## What I've enjoyed so far

 - Learning, it's great fun to grasp something new and there's so much more to come!

 - Ternary operators and syntactic sugar in ES6

 - Template literals *chef's kiss*

 - [CodeWars](https://www.codewars.com/dashboard)