Caitlin Palmer-Bright

Aspiring Full Stack Developer

Category: Learning To Code (page 1 of 2)

2RK Work Experience Recap

So in case you haven’t read any of my other posts on the topic, I’ve spent the last two months completing a work experience program with a Brisbane-based software development company Two Red Kites. I started the program not having any idea what to expect, and being really worried I didn’t know enough, but all my worries were completely unfounded. It has been the most supportive, challenging and motivating learning experience I can remember.  I thought I’d share some of my favourite aspects – coding related  and otherwise – of this recent chapter of my coding journey.

Starting with the Basics

Rails is an absolutely wonderful framework, and it does so much for you – as if by magic! The problem with this is it makes it much harder for beginners to understand what’s going on, and then to be able to change or fix things themselves.… Read more...

2RK Week 7/8

It’s been a while since I posted about work experience since we’ve had a few gaps, but we’ve definitely learnt a lot in this time!

The last two weeks were actually quite spread out, with public holidays and Rails Camp getting in the way a bit, but they were probably the best weeks so far. Week seven saw Sarah, Lilly and myself working a lot more independently on our final app – we had a basic set of guidelines to work within but were able to work on our own to figure out exactly how to implement what we wanted to achieve. I’ve heard it said several times now that if you can look back at code you wrote six months ago and not find something you’d improve, then you haven’t been learning.… Read more...

Git without the jargon – Part 2

Welcome back! If you missed part 1 of this tutorial feel free to check it out here.  We’ve covered the basics of creating a Git repo and pushing it to GitHub, and now we’re going to look into branching.

Branching is super helpful when multiple people are working on the same project, but can be great for individuals who want to work on different aspects or features without getting them mixed up. To picture how branching works, imagine you were working on a group assignment (ugh, I know) . You make a start, and send a copy to your partner. Their copy is like a separate git ‘branch’. It’s from the same project, but not the same exact version. If you continue to make changes and they add in some changes, you’re going to end up with two versions of the same project.… Read more...

Git without the jargon – Part 1

So one of the things that you hear a lot when learning to code is that you absolutely, positively, without-a-doubt need to be using version control, or more specifically, you need to be using Git.

There are some great tutorials around for learning how to use Git, but it’s hard to make sense of them until you’ve used it in a real scenario – so this tutorial will be talking through how and when to use the different git commands and will try to eliminate the jargon wherever possible!

For this tutorial I’ll be showing you how to get your work onto GitHub, but the process is almost identical for other sites such as GitLab and BitBucket.

The GitHub Octocat

So What Is This Version Control Thing Anyway?


100 Days of Code

So for the last few months I’ve been taking part in the #100daysofcode challenge, which I first heard about here on the CodeNewbie podcast.

The idea of the challenge is to make coding a habit by doing at least an hour per day for 100 days. It seemed like the perfect thing for me. At the start of the challenge I’d been back from a 6 week holiday for about 3 weeks, but hadn’t really got back into the rhythm of things with coding. I was mildly panicking, since I only had 2 weeks left in my job before I left to start studying IT full time and I kept on thinking ‘What if I don’t love it anymore? What if it’s not for me? ‘

So I decided to give it a go, and – spoiler alert – I made it!… Read more...

Sinatra Basics Tutorial Part 1 – Getting Your Ruby on the Web

Hi, my name is Caitlin and I love Ruby. It’s simple, it’s eloquent, it actually seems to be able to do everything I want it to do. But if, like me, you started your coding journey with front-end HTML, CSS and JavaScript, you might be frustrated with the fact that all your wonderful Ruby code, your classes and methods and RSPEC tests, all seems to be stuck firmly in the back end. As much as I love opening up my terminal, or running my debugger in RubyMine, I was a bit stumped as to how to connect my code with a front end so that I could share it with people.

Then came Sinatra – and ol’ Blue Eyes certainly sings a beautiful song.… Read more...

2RK – Week 4

Since last week was a bit disrupted, I was even more excited than usual to come back to work experience this week – and I was not disappointed! Our first day this week we started looking at the Sinatra framework for Ruby. If you haven’t heard of it, it’s a bit like Rails but a much lighter version. It has less scaffolding, which means you get a bit more control yourself, and there’s a bit more clarity with what it’s doing, rather than it all being done as if by magic, which can sometimes happen with Rails.

We built two apps in one day – both were number guessing games. In the first (‘NewYork’, after the famous Sinatra song) , we had our app generate a random number, we made a guess as to what it was, and then it responded if our guess was too high, too low or if we’d got it!… Read more...

2RK – Week 3

Week three of work experience with 2RK is over, and while it was a bit ‘all-over-the-place’ i was still a lot of fun.

Our Monday went more or less as usual, and started with a code review of our ‘homework’. Sarah, Lilly and I had all approached our task (to rewrite our FizzBuzz program from our first day but using classes and OOP) in very different ways. While what I had done wasn’t bad coding, it turned out it was very different from what Nigel had in mind. It was a valuable lesson in how important it is to clarify expectations with your ‘client’ – as I had to redo it entirely!!! 😛

We then spent some time working through some ways of cleaning up our code by using a range of different iterators (such as select, inject and map), and learning some alternatives to standard conditionals – including ternary operators and case statements.… Read more...

2RK – Week 2

Well all too fast another week of work experience at Two Red Kites has wrapped up, and what a week it has been.  I’m starting to feel really confident with the ‘rubyist’ way of doing things, especially when it comes to creating and using classes.

As with last week the days went so quickly, but managed to fit in so much! We started by reviewing our work from last week, and had a look at the code we each wrote for ‘homework’ – creating a new method to test the age of an instance of our Human class. This quickly led us onto a few new topics including edge cases (strange situations you might not have thought of that can muck up your code) and conditional assignment (one of the ways you can deal with certain edge cases, and one way of setting a default value for a variable).… Read more...


So I spent a decent chunk of today trying to refresh my memory on recursion. The concept itself made sense to me but being able to write recursive functions was another thing altogether.

The way recursion works in my head is kind of like the movie Inception – multiple dreams within dreams, but instead of dreams we’re talking about functions. The top/final/base level (I’ll refer to it as the base level for now) has a puzzle. But you need a clue from the next level to solve it. But then that level also has a puzzle, and you need to go to the *next* level to find a clue for that. And you keep going down until you finally find a clue! Then you go back up a level, use the clue to solve the puzzle, get another clue!… Read more...

Older posts