Weeks 4-6 - The School Of Code Bootcamp
Tags: codenewbie, bootcamp, schoolofcode, 100daysofcode
Published: 2020-03-03 21:17:54

<img src="https://dev-to-uploads.s3.amazonaws.com/i/ou0i1kx2xwj176j6xtyw.png" width="400" alt="school of code logo"/>

It feels like I wrote my last blog post around 6 months ago. Nope, it was just 3 weeks but we've crammed so much in! We've enjoyed hearing from a variety of guest speakers over the last three weeks. Narj from BJSS talked about her career and her current role, Wendy from West Midlands Police talked about preventing cyber crime, Theo Millward talked about how technology has revolutionised his business, David Hore talked about computational linguistics at Fluence and Martin Reynolds from Advanced talked to us about his DevOps role. It's brilliant hearing from so many different people within tech and i'm quite surprised at the number of tech companies in and around Birmingham. 


<img src="https://dev-to-uploads.s3.amazonaws.com/i/d06k5oxn6jwno2g03clo.JPG" width="500" alt="visitors to bootcamp"/>

###What we've learnt
Again, SO MUCH.
- Databases, using Google Cloud Platform to host our first DB
- Making DBs with SQL and writing SQL queries
- Postgres - linking up our server to our DB
- CRUD (Create, read, update, delete)
- REST API's
- HTTP request methods - (we made some fancy pokemon requests with these!)
- Used Jest for testing
- CSS Variables
- Used the express generator to set up a server
- We made our own codewars style kata and wrote tests for it (ours was called 'Microwave Mayhem')
- A bit more about scope in js.
- Iffes - immediately invoked function expressions
- Closures (one function closing over another)
- Began learning React
- React components, JSX, Babel, transpiling, Webpack
- Conditional rendering of components
- Using state to control things in react
- SVGs and changing their size with buttons and state.
- Deployment - continuous iteration and continuous deployment
- Creating a react app with npx create-react-app 
- The useEffect function 
- We made a shopping list react app and a Pokemon search react app
- How to understand problems and break them down to begin solving them
- More testing in react with beforeEach and afterEach
- Custom hooks (we made a counter)
- We learnt about Agile and the different ways it can be implemented (scrum, kanban, extreme programming, waterfall)
- CSS modules
- Typechecking with PropTypes
- Animating a button with onAnimationEnd
- Lean start up methodology
- React router


###How I feel
I feel quite astounded at the amount we've learnt. I really enjoyed weeks 4 and 5 but found week 6 (the first proper week we spent learning React) exceptionally hard. I think it was quite an emotional week for a lot of us as we battled feeling quite inadequate and at times unable to even think of how to begin solving a problem. I think I also felt so frustrated with myself that I forgot other simpler things we'd previously learnt. I started to think that I wasn't destined to 'get' React...but after receiving help from my fellow bootcampers and after having lots of supportive chats with each other, it somehow slowly started to sink in on Friday afternoon whilst putting together our Pokesearch app. It was lovely to feel a little more in control of what we were doing!

I'm really loving being with such a lovely, supportive group of people. We have energisers everyday around 3pm which help wake us up a little during the afternoon slump. Energiser highlights include mini golf, floor ping pong, the sock game, backwards Mario Kart+squats and Ben's invention 'Binny-Pong-Quizzy-Song' - a quiz game where you get the chance to answer a question if you manage to throw the ball in the bin and the quiz question is delivered by Ben, singing it to a well known tune that you've also got to get. Skills. The bootcampers and I are still enjoying lunchtime walks around Digbeth and Friday night social sessions! 
 
<img src="https://dev-to-uploads.s3.amazonaws.com/i/r16tidlis6y3594pag4x.JPG" width="500" alt="bootcampers on a walk"/>


###Where I'm at
I'm happier with react now than last week and I think I could manage simple React projects with a lot of googling and lots of planning. A couple of the other bootcampers and I have begun a side project to get more experience with managing something as a small team from start to finish. We've been learning about using github for project management (milestones and issues) so we're going to practice using that too. I feel like I've got a good basic understanding of a fair amount of front end and back end but I think we could do with some consolidating and putting the two together now. 

I went to the brum.js meet up a week or so ago with a few other bootcampers and found the networking and open discussion session really helpful. It was lovely to meet people from the Bham tech scene and particularly enjoyed speaking to Tom from Purple Bricks about his team. I'm looking forward to more meet ups in the next few weeks. 
 

###Where I want to be
I would like to get more confident with React and remind myself about back end (it feels like so long ago that we did it!) Our side project will help with that as well as what we're doing during the day at SoC. 
We've got our first project week coming up in week 8. I'd like to make sure we use all of the different things we've been taught, stick to best practice and deliver a good MVP by the end of the week - also hoping I'm able to contribute well for both front end and back end. 🤞🏼