Sunday, 20 March 2016

MA Application process

Here is an overview of the application process from my point of view. It is going to be very vague on the details (not good form to give it away and the structure always changes), but follow the tips and you should be fine.

I did these tips, as I would have liked to have known some of these things beforehand (ie dress code).



Deciding to apply

This is the most important part and should spend the longest on this before deciding to accept a place on the course. 

TIP: Know the exact reason for joining Makers. Use SWOT, pros and cons etc to make your decision.

TIP: Find people in the software industry and talk to them about their experiences.

TIP: Research thoroughly the course, company (the website), students views (read blogs like this, talk to them if possible), review sites, Youtube videos. You are going to be dropping a huge amount of money, make sure you know what you are getting yourself into first.

TIP: Discuss with friends and family your thoughts and if this is worth it.

TIP: Do some coding before even thinking about apply, you want to make sure that software/web development is the career for you. 

TIP: Try the following Codecademy and Code School, and try the Ruby or Javascript paths.

TIP: Visit the offices, and be prepared with questions to ask. I met Ollie, who was really helpful and answered all my questions. Look at the environment, can you see yourself coping and spending lots of time in this place?

TIP: Make sure you have the money (fees, accommodation, food etc), not only for the course (3 months) but for at least 2 months after the course. Even better for the month you do the precourse (so 6 months in total).

TIP: Make sure you can fully commit, no work, no other hobbies or holidays planned, no social events etc. You need to make full use of time for learning and resting

TIP: Be prepared for the craziest, emotional, draining experience of your life.

TIP: It is going to be tough, tougher than university, than work...understand this and know you cannot really prepare for this.

TIP: Do not quit your job until you have got an offer and confirmed on a cohort.

TIP: When Pre course starts, the workload is much bigger than expected.


Applying

Now you have made your mind up, great you will not regret it!!!

The application form is very simple and easy to use. I am not going to write what I put down, but if you really want this new career, love coding and want to join Makers Academy, then it will be easy for you to fill in the form.

I will not give details, as they may change the process or questions.

TIP: Write in UK English and use correct grammar, punctuation, spelling and make sure it makes sense.

TIP: Answer the questions exactly. They are not trick questions, just follow the instructions.

TIP: Check. Check again. Ask someone else to check for you. Check again. Print out and read your form.

TIP: I think it took a week to hear back from MA. So do not stress out checking email all the time.

Interview work

If you are successful, you will receive an email with a set of instructions. 

It will have a list of things to learn for the coding test and the structure of the interview. 

TIP: Over prepare for the interview, think of lots of questions that could be asked (check Google for interview questions) and write notes and answers to them. 

TIP: Do the set work. Even if you have done it before, do it again. Don't memorise the answers to the problems, that will not help at all. 

TIP: You will have a week or so to prepare, plan your time wisely and stick to it. Do not leave it to the day before.

TIP: You will be sitting very close to the interviewer, so make sure you wear clean clothes and smell good!


Interview

Again, every interview will be different, so I will not divulge what happened. 

There will be a few questions, a logic test and a coding test, although this is not set in stone and it might be different for each candidate.

During my interview, they were trialling a new software for the coding part of the interview which was weird at first, but really good. Plus Nikesh, was really helpful and made the whole process feel very relaxed (especially when one of the laptops decided not to work!!!).

I think I over prepared, but that was great as it gave me confidence to handle anything. Plus all your notes will be useful for applying for jobs afterwards.

TIP: Once you made it here, just relax, and be prepared. If you really want it then you would have done enough to get it, if not then you should have done more. Better to be over prepared than under. 

TIP: Check out Google for interview techniques. 

TIP: Do not lie, be yourself. What they are looking for, in my opinion, cannot be faked.

TIP: Drink water during the interview. 

TIP: Dress code, I was at a loss here as love wearing a suit, but this is coding and everyone is pretty relaxed. So just be smart, no need for a tie or suit. For a guy, shoes, trousers/dark jeans and ironed shirt (and jumper) should be good. Just be comfortable in your clothes and make sure they are clean and ironed!

Here is some motivation music, if you need some pumping up, to hear before the interview:


  

Acceptence

My acceptance came within a couple of days of my interview (I do not know if this is usual). I was checking my email every half hour, I was so nervous, but it worked out great in the end.

I had around 15 days before the pre course started, so more practice to do. 

TIP: Follow the instructions and read everything in the email.

TIP: Make sure that you are certain again, go through all the reasons and feelings for doing this.

TIP: Get all your affairs in order before starting the course (leave your job, sort out finances and budget, etc), time will be at a premium when you start the course don't waste it on admin.

TIP: If there is lots of time before the start of the pre course, then start to do some extra learning and practice (get comfortable with command line, git, and go over ruby and do lots of problems)

Rejection

Luckily, I did not get this email. But if you did, do not feel too downhearted. If you really want to do this than you will find a way to make it happen.



TIP: Ask MA why you did not get a place and what you could do about it next time.

TIP: Try another bootcamp.

I have been here for three weeks, and I love it, I love the work, I love failing, I love the students, I love the atmosphere, I love the coaches...This is going to be one the best things you ever do, it is not perfect, but it is great!


Tuesday, 8 March 2016

MA Week One Summary

What I did?

Monday

  • First day, and it was very easy and relaxed. Only a little bit of coding.
  • Name game. Too long
  • Free breakfast and talk with others
  • Social after
  • paper challenge with Junyan
  • Talk with Dana and Jordan about how to cope with course
Tuesday
  • Had a short introduction about the structure of the course
  • Started working with my pair partner Patrick
  • Worked through the first challenge, creating Boris Bikes, implementing object oriented programming (via Ruby) and Test Driven Development (via Rspec).
Wednesday
  • First stand up in our group with Roi, discussing our wins and struggles from yesterday, and our plans for today.
  • Worked with Kevin, who has a great blog here, decided to start the weekly challenge from scratch due to issues with git and wanting to cement the basics.
  • Joined the meditation group, and did some mindfulness exercises.
Thursday
  • Worked with Harsheet, continued from question 16 out of 22 and used his code as a starting point.
  • Played Ping Pong, and got beat twice. Revenge is on the agenda!!
Friday
  • Worked with Pete, continued from Q20 till the end (see here for my code)
  • After 5 received free drinks and partied with the rest of Makers till midnight.
Weekend
  • Worked on Airport Challenge
  • Went over the Boris Bikes Challenge alone, to cement the work.


What I learned?

  • Big Breakthrough 1: Hammering home that everything in ruby is an object, and ruby syntax is useful but stops the user from seeing this.
  • Big Breakthrough 2: Using mocks in tests, to avoid creating objects from other classes, to help create outputs to help test specific methods.
  • Big Breakthrough 3: Understanding the idea of Behaviour Driven Development, as an overarching methodology to produce software. It really helped see the forest from the trees (implementation and unit tests) 

Challenges and struggles?

  • Struggling with turning user stories into features and feature tests
  • Doing TDD, instead of just normally doing the code first.
  • Feeling dumb and coping with this
  • Working with someone who knew more than I, and feeling like I was not contributing
  • Getting used to working with a Mac. It is the first time I am using one, so I am a bit slow compared to using a unix/windows laptop.
  • Trying to write this blog. It is very hard to find time to write this blog and deal with the course and life. I think I was ambitious in doing it this way, so I will need to do it in a different format.

Success?

  • Finishing off the challenge before the end of the week, despite starting again
  • Using someone elses code base to work from
  • Finishing off the weekend challenge, despite restarting three times
  • Doing meditation twice during the week
  • Working well with my pair partners, and learning lots from each of them
  • Still writing this blog
  • Walking to office and home, 5 times during the week
  • Bringing packed lunch (warm meals with my thermos) everyday, and avoiding eating out and saving money
  • Walked over 10,000 steps twice during the week. 
Other
  • Party on Friday at Makers was great, a great time to really relax and socialise.
  • Going to football next week
  • Spending time with cool, interesting, fun smart and driven people. Nikesh was right, I have found like minded people who I feel I will be friends for a long (whether they will be with me another matter :-( )
  • Really happy with my choice to attend this course, it is really draining and lots to take in. Yet by the end of the weekend I felt that I grasped a lot of new ideas and was able to understand a lot.



Tuesday, 1 March 2016

MA Precourse Week 4

What was done

  • Practised more ruby through completing code wars' katas (not as much as the previous weeks).
  • Met my mentor and did pair programming together.
  • Completed the fizzbuzz kata in ruby using a rspec as the testing framework.
  • Pair programmed with some of my fellow cohorts.

What was learned
  • Learned about "Test Driven Development" (TDD for short).
  • Learned and practised some basic rspec (TDD framework for Ruby) on some basic katas.
  • Learned the basic structure of rspec tests for methods. 
  • Learned about regular expressions.
Struggles
  • When pairing and knowing what was already being explained, but not wanting to sound arrogant. 
  • Pairing in general, very weird not to do my own thing. Although when doing it with Patrick, I just turned my computer off, so we could work together and not be distracted.
  • Writing tests firsts instead of figuring out the method then coding and testing if it works (this is how I approach code wars katas). 
  • Setting up the files, directories, accessing the lib files in rspec.
  • Pairing with Patrick, spent ages on this kata, and two other guys (Tobenna and Paul) both managed to finish it before us and with less code. Despite this, I still felt it was a great learning experience having to explain my ideas and solve problems as a pair.
  • Struggled with using look arounds in regular expressions.
Successes
  • Getting more confident with using regular expressions. I managed to do a quite a few katas on code wars using regex, and I am very happy. I am not perfect, and there are aspects (ie look ahead and look back) which I struggle on. I have got some resources to help me with so I am happy. 
  • Doing some pairing, and not ending up spooning each other (see video below) 
Other
It was him shooting at me at Makers
  • Met my mentor, Jonny, at Makers and spent a couple of hours going through the fizzbuzz rspec pairing tutorial. Jonny was great, and really helpful, he spent so much extra time going through some key ideas on rspec and classes. I feel lucky to have him as a mentor. 
  • While pairing with my mentor, someone decided to rain down on us nerf bullets. Which was a bit of a shock, but all in good fun.
  • Last week of Pre course, and it was a very easy and relaxing week, no weekend challenge (well it was catch up, which meant no work for me as I did everything on time due to not working).
  • Finally going to start, on Monday 29th February, and I am excited and nervous. But not as much as when I started pre course, I have met and worked with a bunch great guys from my cohort at the Ace Hotel, and the chat, via slack, conversations have been fun and helpful. So I can not wait to start working with them.
  • Went to Ace on Tuesday, and we had almost 10 people come in and work. It was great, we had a laugh, helped each other, encouraged each other. Who would have thought coding would be so social. 
  • I have finally been given the code to the Makers office, so no more going through the intercom. I finally feel I a student at Makers.   

Saturday, 27 February 2016

MA Precourse Week 3

What was done

  • More learning and practising ruby coding
  • Finish of all the problems set in Chris Pines Learn to Program
  • More code wars katas

What was learned
  • How to work with tests
  • Practising more Git and command line
  • Understanding more about blocks, procs and lambdas (well not that much of this)
  • Always check the tests first before doing the coding, I would end up using different names which would automatically fail the test otherwise.

Struggles
  • Chapter 14 of Chris Pine. This was all about procs and blocks, which I have always struggled on, but after reading a few tutorials I feel semi confident.
  • Make a better shuffle play list (last exercise in chapter 11). I just could not pass the tests, although I felt my code was good.
  • Need to put issues have on github and get help from my cohort, instead of struggling. I am just spending lots of time on a problem which could be solved with some help. Although, I do believe that the struggle is also helpful, but I will need to get through so much work in the coming months that I need to prioritise my time.
  • I had a persistent cough as a side effect of last week's flu. This stopped me from coming to Ace hotel, as I did not want to pass on my virus and disrupt every one. I am very considerate.

Other
  • Set up a meeting to do some pair programming with my mentor on Monday
  • On Friday, I attended the graduation ceremony for the seniors at Makers. It was great seeing all the  projects, and was impressed by the number of new technologies that they had to learn to get their applications working. Also good to meet and my cohort, and see how much fun and camaraderie between all the students and coaches. I am super excited to get starting full time, but also nervous with all the new stuff that I will have to learn. 
  • Code wars rocks, not only for learning how to solve problems and practise syntax, but also in terms of friendly competition within my cohort (we have a leader board). Currently I am 3rd, although I had an unfair advantage as I did a lot of code wars before my interview at Makers to help me decide if I wanted to move into coding. I must say, code wars is probably the number one activity that has made me want to be a programmer. 
Blog struggles
  • I think I will have to give up doing the whole music section, unless it is really straight forward. It is taking me too long to search for music with some relation to the ideas studied, so will stop putting music unless it is on the first few pages of YouTube search results.
  • Same applies to images and gifs on Google search. Thus my blog is not going to be great to look at, but I will have images of my adventures in Makers which should make up for it.

Tuesday, 16 February 2016

MA Precourse Week 2

This week has been rubbish. Sunday evening I started to feel ill, and ended up with the flu. I have been stuck in bed for 3 days with very little work done.

What was done


What was learned
  • Basic ideas and implementation of ruby (ie strings, variables, methods, control flow, hashes, arrays, blocs etc) by going through Ruby Kickstart and doing the associated exercises.
  • Never struggle for longer than 30 minutes
  • If struggling, take a break and come back to it later or when inspiration strikes.
Struggles
  • I have been sick with the flu for the whole week, so trying to code has been difficult. Glad that I did not manage to get behind and keep up with my peers.
  • Seriously need a tidy, clean and orderly environment to be able to concentrate with coding.
  • Doing katas (programming problems) with procs, blocks and lambdas. Still don't understand these ideas, but they are really useful so will need to spend more time reading up on them.

Success
  • Managed to finish off all the problems set for this week, despite being ill. 
  • Improve my code wars score. I am second in my cohort, but top place is over 60 points ahead so I doubt I will have time to overtake him. I know it is not a competition, but it is really cool trying to improve my record while trying different problems.

Other
  • Our cohort was assigned mentors, mine is Jonny, and we spoke over slack. Very helpful guy and looking forward to working with him.
  • Slack is brilliant, everyone is helping each other, learning new and different ways of solving problems. Everyone needs to get on this.

Need to do
  • Get comfortable using regular expressions
  • Meet up with the guys during the week
  • Learn more about procs, blocks, and lambdas and do related katas on codewars
  • Make a start on Ruby Koans and Ruby Monk 
  • Meet my cohort and more people from MA at the graduation ceremony. I feel like I have known my cohort for ages (only just over 2 weeks) so should be great to meet most of the guys again. This event will be really exciting, as we will witness the final projects  being presented and will either be inspiring or nerve wrecking as this will be us in another 12 weeks!!!
Life goals


Sunday, 7 February 2016

MA Precourse Week 1


What was learned

  • Introductory material from MA
  • Command line interface (CLI)
  • GIT and GITHUB
  • Working with others to learn from and help solve problems
  • Improving problem solving in programming

Activities

  • Communicating using Slack
  • Work through command line tutorials (See links here) and Git tutorials (See links here)
  • Setting up my computer with required software (Sublime Text, Ruby, Git etc)
  • Went through Git immersion tutorial (still need to finish)
  • Finished the challenges for Git and CLI
  • Write up reflections for the week for the coaches at MA to help me with my learning (sort of like this blog)
  • Pracitised my typing skills during the week
  • Worked on some ruby kickstarter, code wars and Chris Pine
  • Wrote flash cards for key commands for GIT and CLI (use Anki)
  • Spent Thursday at Ace Hotel, Shoreditch with Gaby, Kevin, Tobenu and Patrick. Went through command line and Git immersion together. 
  • Spent Friday at Forge, just across from the Ace Hotel. Although no one came by, I got loads done and using a table is far better than a sofa. 

Struggles

  • I got stuck for ages on a couple of the questions on this weeks challenge on comand line, one I managed to solve (forgot speech marks, duh!) and the other was a unix problem (solved using nitrous command line). Big thanks to Adil!!!
Most of these commits were for one question!!!

  • Really need to be more strict with my breaks. I just plough through and it is not great. I end up feeling really tired and straining my eyes.
  • Got to level 14 on git immersion, and had to restart as I changed the .gitconfig in my folder instead of doing it for my profile...annoying, but at least I did not have to restart level 50!!
  • When going to cafes or hotels to work in, need to do so early in the day, as the lighting is crap and really tires me out.
  • Can be hard learning in public venues, lots of background noise which is distracting, need to bring some headphones and play some pink noise to drown it out. Click on the video below if you want to be bored...

Successes

  • Finished most of this week's work early, so I got started on Chris Pine and Kickstarter.
  • Working with some guys during the week was great, everyone was friendly and we all helped each other when stuck. Special shout out to Tobenna for looking after our stuff when going out for breaks.
  • Good at switching to different topics to keep fresh (should stick to 30 minutes rule). For example, not doing one tutorial on command line all day, but doing something else.
  • Avoiding spending all my time on one topic and mix up topics studied through the day (interleaving effect - good for learning)
  • Keeping a log of what I need to do for each week and what needs to be completed.
  • Helping guys on slack.

Other stuff

  • Before the start of MA, I already started to play with Git and started to push some code to Github. This is the basic stuff, but there is so much more to Git than meets the eye (ie Git immersion).
  • I have used command line before (not to the extent used in MA), the first computer I used was DOS based so everything was done on the command line, no windows and monochrome (yellow) colour.
  • The pre course website is fantastic and is really helping me organise my activities for the week.
  • Everyone is really helpful

Need to do:

  • Pair program on ruby problems
  • Memorise commands for tasks in CLI and GIT
  • Stop using my mouse and use keyboard commands instead. Also use CLI to manipulate files and folders instead of "My Documents". 
  • Read some books on ruby.
  • Set a time limit for my work, so I can have regular breaks.
  • Finish Git immersion course
Here are some more videos relating to this week's content (hard to find anything good that had some link to the GIT or CLI):



Bookmarks: GIT

Random list of bookmarks for Git and Github...hopefully will update this regularly and there is no order of preference (might do later)

After a couple of tutorials, most of the problems are best solved by using google and/or searching stackexchange for solutions.

Version control software and online version control

Tutorials