Finn in class

How CodeClan taught me more than just how to code

A Technical Assistant on our immersive course, Finn recalls lessons learned during her time here.

I’m a recovering perfectionist. From an early age on, I learned to be very hard on myself and to strive for perfection.

Needless to say, I was disappointed most of the time because I was essentially chasing an illusion.

Unsurprisingly, when I started the 16-week-course at CodeClan I was faced with my overactive perfectionism yet again.

There are a bunch of week-long projects students work on during their time at CodeClan. The first one happens after four weeks of learning Ruby – just four weeks after writing their first line of code ever.

The perfect project

For my project, I chose to write an inventory app for a shop. Of course, my overzealous mind tricked me into thinking I had to deliver a usable and complete product by the end of the week.

I wanted to produce an app that had all the necessary functionality for a shop owner to keep stock and on top of that, also provide them with a good user experience.

And obviously, it had to look good too, be easy to use and built with good, clean code. To sum it up: it had to be perfect.

As the week went on, I felt like I was running out of time to implement all the features and to go over my code to clean it up. By the end of the week, I was frazzled and unhappy with what I had achieved. It was not enough for my own high standards.

But after some good feedback from my instructors and some soul-searching on my part, I slowly started to realise that in just one week I had gotten a lot done for someone who’d only learned to code a few weeks earlier.

I began to think about realistic expectations.

Scaling back

As the second project approached, I was beginning to get anxious again. However, I decided to learn from my previous experience and dialled back my expectations as I built my Fantasy Zoo Manager using Java.

I quickly decided against doing a graphical user interface – better to not even open that can of worms. Instead I focused on learning more about Java specifically with my project in mind. I was still pushing myself to write the best Fantasy Zoo Manager I could create but I wasn’t measuring myself against external parameters anymore.

I was only trying to write the best code I could write at this stage.

And there was my lightbulb moment.

I realised that even if I simply felt more comfortable with Java than I had at the beginning of the project, I would already have succeeded. I still pushed myself hard and I’m very proud of actually achieving a 100% code coverage: every line of code I’d written was being tested and verified.

But aside from all the stuff I learned about Java, the biggest lesson was to not stress about being perfect: so what if I wouldn’t have something with a flashy interface to show off at the end of the week?

Go your own way

By the time the final project came along, I had relaxed considerably. I briefly considered using technology we had been introduced to during the course and building something with that but I was in a growth mindset. I wanted to learn something new.

So I made the choice to write an app in Go.

For a whole week, I tried to understand how this new language worked and how I could use it to get my app to do things. But with one day to go before the final presentations, I’d got nowhere.

There was literally nothing to show in a presentation and I had to admit defeat.

Only it didn’t feel like defeat! I was actually quite happy with what I had achieved that week. I’d learned a lot about a new programming language – just not enough to actually write the complicated app I was trying to write.

But that is completely fine! Nobody would ever expect me to write a whole app in a language I’d only started learning that same week – so why should I expect that of myself?

Do I still sometimes go too hard on myself? Yes, of course. But now when that happens, I just remember to not expect more of myself than I would of anyone else in my situation and all is well.

About Finn

Finn is a Technical Assistant at CodeClan Edinburgh.