CodeClan: Week 1

Starting Out

Here we were at the start of a new adventure. We’d all made sacrifices to be here. I stepped away from my job in retail, leaving behind a workplace and colleagues I’d worked with for over 15 years. I didn’t earn a lot and had to rely on benefits to get by. One of my motivations for taking the course, beyond love of the subject, was to be able to support my family without benefits. The course was expensive and I was the sole provider financially. After paying for the course, I was going to have to live more frugally than ever to make my savings last.

It was thrilling to be surrounded by lots of supportive, optimistic people in a similar situation to my own. Career changers who have been out of education for some time. Some of us have children to care for. We all have varying experience with programming, and some students have none at all. With everyone having shared goals, there was a great sense of camaraderie and our Thursday social – a pub quiz – helped us make friends early on.

Cohort E39 met each other and our instructors for the first time since our pre-course induction using a zoom video conference all.
What do you get when you put 18 students && 4 instructors into a zoom?

Overcoming Initial Challenges

The first week was an overwhelmingly positive experience. However, I did experience a certain amount of nervousness and apprehension about how well things would go learning remotely as is natural. I’d been looking forward to being on campus, having face-to-face interaction during lessons, lunch with new friends and the Thursday night socials that build life-long friendships.

Despite worries over what I might be missing out on, I recognised it solved another, more pressing issue. The schools had shut down because of Covid-19, so if I had to travel into Edinburgh to study, who was going to look after my daughter while I was away? Though she’s mature and responsible for her age, I didn’t like the idea of leaving her on her own all day, five days a week. When the schools first closed it wasn’t what would happen with CodeClan, so initially I wasn’t even sure I would still be able to attend the course if it went ahead. It going remote meant that I could still attend. I would just need to find ways to help my daughter, who is quite self-sufficient, remain entertained while I was in class.

There were challenges setting up my home environment to learn and work from home. In a classroom setting, the instructors would use projectors so that everyone could see what they were coding. Some people had a t.v. or an extra screen at home that they could use. I had a laptop running Linux that I couldn’t use for the course (as everyone has to use a MacBook). I would log into zoom on the Linux machine so I could see the code on that screen, and would code-along on the MacBook. I also needed to set up somewhere quiet, so that I would not disturb my daughter, or be interrupted in the middle of lessons.

It turned out to be an imperfect solution because I had intermittent issues with my wi-fi and there were times I could not get certain devices to connect at all to the broadband. In those situations, I had to split the screen of my MacBook, with zoom taking up one side of the screen and my code editor on the other side.

Thankfully the lessons were recorded. Normally they wouldn’t be, but learning remotely gave us this advantage and being able to go over lessons again later on, even if it was just to review certain sections was a real boon.

The other reality was that I wasn’t able to have as much time to spend with my daughter for a while. Homeschooling was extremely difficult but it was good to know that while I was learning, so was my daughter. There was homework in the evenings and at weekends, and during the first week I was just starting to get a feel for how time consuming things were going to be. Lunch time and dinner time became more important than ever as times we spent together and we had to make the most of them.

Learning this week

  • Day 1 – Unix and Git
  • Day 2 – Functions, Conditionals, Testing
  • Day 3 – Hashes, Arrays and Loops
  • Day 4 – Debugging
  • Day 5 – Active learning

One of the most exciting things about the first week was realising that I had already learned more in those first days at CodeClan than I had in many months of trying to learn using free learning resources. We started by learning how to use the command line to navigate around our system and master essential skills like creating, renaming, moving and deleting files and directories. While I had recently converted to using Linux system at home, I hadn’t mastered the command line, but within the week I was finding it quicker and more natural to use than navigating around the file manager with the cursor.

We also got to know Git and GitHub, which we would be using for version control. I was aware of but didn’t know how to use. As I got more comfortable with using the command line, I became more comfortable using git. Speaking as someone who used to have to back up various stages of projects ‘the old way’ naming files index1.0.html and so on, this was a particularly valuable skill to finally master.

Ruby was the first language we would learn, and the first week looked at programming fundamentals including functions, conditionals, hashes, arrays and loops. I was already familiar with these concepts from previous experience teaching myself some JavaScript and Python, but going over it again really helped me consolidate and retain that knowledge. I really like Ruby as a newbie friendly language because it’s not too strict and provides reasonably helpful error messages when something does go wrong. I found the documentation to be really helpful because there are lots of examples to let you see how things work.

Test Driven Development was the biggest surprise of the week. I had never considered how to test software beyond using it as a user would and see that it does what you expect it to. Writing tests was really difficult as first, more so than writing the code to make the tests pass. It did get easier with time, and seeing the green checks as tests pass is incredibly satisfying. I had gone into the course with a primary interest in front-end and mobile development and discovered much wider world of programming. I can now happily say that I would enjoy the opportunity to take on a role as a tester and take that knowledge further if the opportunity came up.

Beyond the code

One of the workshops we attended was based on learning strategies and how to learn more effectively and therefore retain more of the things we were being exposed to. As many of us hadn’t been in formal education for years this was relevant and helpful. I found that I’m quite a visual learner, so seeing concepts explained with diagrams helped a lot more than just reading about it alone. The best way to learn, for me at least, is by doing. Lots and lots and lots of repetition. The evening and weekend homework gave us lots of opportunities for that.

The other big takeaway from the week was sleep! I didn’t get a lot of it. I was up until late in the evening and when I went to bed I would struggle to get to sleep. I was so very tired but at the same time my mind was buzzing. I would roll around for hours before finally dropping off, then I’d be up early the next morning. I was tired most of the week as I tried to find a better way to manage my sleep. Taking some time away from the screen in the evening before bed to read helped me unwind and fall asleep more quickly.

Reflections

The first week was every bit as incredible as I’d hoped. Everyone is very friendly and supportive. No matter who may be struggling, we’re all there for each other, offering help and encouragement. Content wise, I didn’t find any of it too challenging. The main challenge was in the volume of material covered, but it was so fun that it didn’t really feel like work. It left me feeling highly motivated and eager to continue next week.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.