Friday, February 03, 2017

CODECLAN - I AM A GRADUATE OF SCOTLANDS FIRST AND ONLY DIGITAL SKILLS ACADEMY

So I am 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 about 100 graduates from Scotland's 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 who have 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 environment it was an odd experience at first but I soon got used to it.

I imagine what it is like to work at Google, People huddled around 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 learned 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
  • 3 - I have learned 3 new languages (Ruby, Java, and JavaScript)

So what have I learned in 16 weeks? It's quite a lot of hours but quite a short time to become an expert.

So let's start with the Languages:

Ruby is the first programming language we learned. Looking back probably my favorite of what we did learn, it's simple and forgiving, most relaxed and Arrays and Hashes accept whatever you want to put into them. We learned 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

JavaScript was third and probably the most versatile that we learned and currently popular. It's not the same as Java which I had assumed before learning it. We used Javascript to add functionality to our apps and the front ends.

I guess also HTML and CSS could be considered a language, and we did some training on 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.

Frameworks

We learned 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 learned 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.

SQL

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.

Unix

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 favorite and it is free so long as you keep your code open to the public.

Agile

Each morning we had a standup going around the cohort each throwing a ball among us discussing what we had done, learned, 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? I 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. It's 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 I'm dead proud. It's 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 '70s, and interesting to 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...