A new beginning

A new beginning

Week 1

Introduction

Hi I'm Michael Anderson, I have been working in the transport and logistics industry for the last 9 years in a variety of companies and roles. At the age of 32 I decided to uproot my whole life for a career change, I sold my home my wife and I moved back into my mother's house to give me the financial freedom to take 6 months off to study General Assembly's Software Engineering Immersive 12 week coding bootcamp here in Sydney. This blog will have two parts running on a weekly basis. 'A new beginning' will be about my thoughts and experiences throughout the course and job hunt.'Working title' will be a more technical breakdown of a project, homework or code snippets I created the previous week and how I could improve them, or if some classmates are willing, how others handled problems differently, and what I can take away from their methodology.

Choosing a Bootcamp

There are several different bootcamps running here in Sydney, General Assembly was brought to my attention by a friend who graduated from the course and is currently working in the industry. After reading some reviews, watching a few youtube interviews with alumni and reading through some curriculums I decided to follow his advice and landed on General Assembly.

The second big question was whether to study online, or face to face. I had previously tried online study when I was younger, I had never found it to be as engaging, so even with an hour train ride each way and needing to operate on a little 13' laptop instead of my larger home setup, I chose to study on campus.

##Programming history I have had some limited programming experience. In high school I took programming as an elective where I learned Qbasic, logic diagrams and pseudo code, my first year in the bachelor of engineering I did a unit on the basics of C++ and during my career in transport I have cobbled together several excel macros where I identified the opportunity to automate and streamline some of the tedious jobs different roles have required. In my own hobbies I have also tweaked Lua code for game mods, dabbled with HTML and CSS for some basic websites and TTRPG resources. This course has been the first time I have ever looked at javascript.

##A week in review In the lead up to this course there was some pre-work that run us through an intro to HTML, CSS and javascript, culminating in a scissor paper rock game against a computer. When the teacher announced that the course didn't assume the completion of this work, and would be covering the basics again I was a little concerned that we would be unnecessarily using up a lot of our limited time covering topics I felt I was already comfortable with. The major topics for the week were javascript arrays, conditionals, functions, loops, objects and variables as well as teaching us how to navigate and manipulate our file structures through the terminal, and use github to hand in our homework.

I can confidently say my concerns were unfounded, while we were encouraged to do code wars exercises and typing speed training if we were confident with the topics discussed, I instead found myself being engaged by the content all over again. The teacher had a depth of understanding that kept the content interesting and while covering the basics also gave a more nuanced explanation than I would have considered reading in a text based format. The exercises that taught simple concepts mentioned above also taught how to manipulate strings and data in many different ways and implement more complicated tasks from scratch. The sheer repetition of morning warm up exercises, several tasks through the day and a boat load of homework has also paid big dividends, with homework tasks that are larger than a scissor paper rock game that initially took 10 hours to build, now taking a couple of hours.

I think the biggest surprise this course offered that I had never considered was the students. With 13 people in the room, from a variety of professional and cultural backgrounds, and varying levels of programming experience there is a wealth of differing methods to complete the same tasks. Watching homework demonstrations, and demonstrating my own code has shown many ways I should improve my work that I would have not found as easily in a self taught environment, or seeing only how the teacher completes a task. The other aspect of a room full of students is answering questions and helping others with their work, trying to explain a topic you yourself only learned the day before well enough to show someone else really tests and solidifies that knowledge.

At the end of week one feeling encouraged and very satisfied with my progress so far. I believe that my confidence, and ability have improved massively in just a week of work. I am excited to see what I will be capable of doing in 3 months time.

##Other Goals Outside of the class work itself I have a three other goals I want to achieve within this 3 month period that will hopefully add to my success at the course. I hope this blog will hold me accountable to these goals so they do not get lost among the workload.

1. Blog

My first goal is to publish 2 blog posts a week, posting them either Sunday night or Monday morning. One similar to this with an introspective of the previous week, and another with a more technical discussion of my own coding and what I might be able to do to improve the code or my workflow.

2. One book a month

The aim is to read one book a month for the next 3 months. the first book is going to be Limitless by Jim Kwik. These books will be non-fiction to count towards my one a month quota, as I also spend time on the train reading fiction to relax. Moving forward I will include a little bit about the book I am reading in each of these blogs.

###3. Touch typing and typing speed As a person who spends way too much time on a computer for work, school and hobbies, my typing is pretty terrible. As I write this blog I have watched my own fingers, and I probably only utilise 2-3 fingers on each hand and my left hand can be seen jumping as far right as the U key on occasion. I have checked a few guides on learning to touch type and improving my speed. I have decided to start out with keybr.com before moving to a more coder focused speed typing training.

28 wpm with 97.22% accuracy while trying to touch type is my starting point as of this blog post.

##Wrap up If you have made it this far, thank you for reading. This is the longest piece of writing I have done in about 9 years, hopefully this exercise of writing my thoughts will also help with my habit of rambling, but that is not likely.