So Im writing this from home in Aberdeenshire, I have left Edinburgh and my CodeClan learning experience has finished... After 16 weeks of full time study, lectures, homework, projects and no life I have graduated. Go me! I did it and have a certificate to prove it. I am a trained coder... A certificate from the Scottish Qualifications Authority should also follow shortly. I am one of a about 100 graduates from Scotlands first and only digital skills academy. How cool is that!
Now I have finished, the first thing I would say is I miss the routine and the people having spent so many hours over the 16 weeks living and breathing code and hanging out with my cohorts. Looking back and having come from 20 years in an office enviroment it was an odd experience at first but I soon got used to it.
I imagine its what it is like to work at Google, People huddled round laptops, dress down Friday every day, chill out spaces and table tennis room. With hindsight we were fully absorbed into a little CodeClan cocoon and the environment was set up with the purpose of learning to code and do it supported by your tutors, support staff and fellow cohorts. It was a brilliant place to study and work.
Before I go into what I have learnt here are key some figures from my time:
16 - I studied for sixteen weeks
109 - I created one hundred and nine GitHub repositories full of code
26 - I participated in twenty six paired programming lab exercises
23 - I completed twenty three homework exercises
3 - I completed three x week long projects
104 - I traveled by train one hundred and four times
22 - I traveled by bus twenty two times
42 - My typing speed increased from 24 wpm to 42 wpm
So what have I learnt in 16 weeks. Its quite a lot of hours but quite a short time to be become an expert.
So lets start with the Languages:
Ruby is the first programming language we learnt. Looking back probably my favourite of what we did learn, its simple and forgiving, most relaxed and Arrays and Hashes accept what ever you want to put into them. We learnt all the fundamentals of a programming language here: Conditionals, Functions, Arrays, Hashes, Loops, Classes and Multiple classes,
Java, was second up and a compiled language, we used Android Studio to code in Java. Initially just using the Android Studio interface to go back through programming fundamentals in this new language, then off into programming Android apps that could be downloaded to android devices or Android Simulator
I guess also HTML and CSS could be considered a language, and we did some training on in both these to make web pages and make them look cool. In addition we also had some training in Canvas which gives the ability to draw shapes and pictures within an HTML page.
We learnt a couple of frameworks, React and Ruby on Rails, which help structure our code and automate quite a lot of the boring long winded scaffold coding.
Computer Science Theory,
We learnt quite a lot of computer science theory throughout the course, and one week near the middle was dedicated to computer science theory. Learning about the 4 Pillars of Object Oriented Programming (Abstraction, Encapsulation, Inheritance and Polymorphism… and that was off the top of my head). Algorithms, Computer Architecture, data structures, parallel programming and restful routes.
Test Driven Development,
Here we used add ons in the programming languages that would provide test scripts to test our code. The mantra pushed into us was to write the test scripts first before you write your code. So in a separate structure you would write the tests, have them test what you expect the results to be and then have the test fail, then write your code to pass the test.
To persist the data used within our code we were given SQL skills, enabling us to create a database add tables, seed it with data and have our code interacting with the database. reading and writing to the database such that if the code is restarted the data has persisted.
Right from the start we had a small intro to Unix, I had used it before but not for a long time so it was a good refresher.
Git and GitHub
This is our version control system and online storage for our code. I have used version control systems before and this is my new favourite and it is free so long as you keep your code open to the public.
Each morning we had a standup going round the cohort each throwing a ball among us discussing what we had done, learnt, and if we had any problems. A great way to start the day and good for a routine. Everyone needs to participate, instructors included.
And many many more things….
So what Now? I need practice. What I have been taught has been frantic and intense. I am not an expert in coding yet, but I have a good or brilliant foundation to improve on.
An interesting Googled estimate out there suggests that it takes 10,000 hours to become an expert in something, so I fall quite short of this. But I have notes and a new passion for writing code and learning so I can only improve.
If you are wondering should I go through the CodeClan experience? Id say if you have a spare 4 months and like learning, have an interest in coding and are ok to give up your evenings and weekends and any free time you have for that time. Then Yes go for it.
Would I do it again? Yes most defiantly. Its a real sense of achievement when you finish. There are moments of joy and terror on the way through however... Joy when you work hard to get something working, and Terror when you are given a task and you have no idea what you need to do or how to do it. This happens over and over again and it starts to become the norm.
>> If you have any other questions ask them below or email me and I will reply.
Thanks again to Code Clan, its instructions and support staff. And to my fellow cohorts… Well done you ALL Graduated and Im dead proud. Its been real and one of the best things I have ever done... Wife and Children aside. Thank you!
<< This ladybird book is from when I was a kid in the 70's, interesting read to see how things have changed was it my destiny to work with computers. Oh and I am now fully converted to Mac over PC...