"I'm not a real runner"

I started considering this topic recently, because of my relationship with programming. I am spending every day of my life programming at the moment. It brings me a great deal of happiness, and I have improved at it significantly in the last few weeks. It was incredibly daunting to start programming full time earlier this year, because I was very conscious of the fact that my existing skills in that area were very limited.

Read More

Being Noughty

I have had the most intense week of my Makers experience so far. Maybe it’s because it’s the end of week 7 and I am not quite sure where the time has gone, or maybe because we have been working in groups on a (relatively) new set of technologies. Either way I feel like I have done and learned a huge amount. It started with making a single page application to quickly store notes at the beginning of the week, and by the end, we were building an SPA to summarise a set of news articles. We created the first release of ‘Noughty News’, delivering ‘fake news for millennials’, or at least, whatever news we could get our hands on to parse into our homepage. The results are pretty cool, and say a lot for what you can accomplish in a team given only two days and vanilla Javascript.

Read More

Making our own magic

I have frequently come across the idea that in order to understand something well, you have to investigate it both at a very high level and a very deep level. I’m starting to feel the effects of this principle at play with the work on Javascript we’re currently completing at Makers. After weeks of using frameworks and automated browsers to unit test and feature test our applications, we are creating a Single Page Application using only pure javascript, which means we’re finally getting under the hood of the layer of magic that is automated testing. It has been a fascinating journey, and ultimately one which has boosted our knowledge and confidence at the same time.

Read More

Working as a team

Week 6 at Makers was dedicated to projects - in particular, creating Makersbnb; a site where hosts can list ‘spaces’ that can be booked by users looking to holiday. We worked in teams, so for the entire week, my pairing buddies were Jack, Ruan and Jess. Although we only worked on this for four days, I felt like I learned a huge amount about working in a development team that wasn’t involved in the pairing we had done up until now.

Read More

Reflections on pair programming [Part 2]

Over the last five weeks, I have been learning to code at Makers Academy. Every day of these five weeks has been spent pair programming, which is where two people work on the same piece of software. One person plays the role of ‘navigator’; giving direction and dictating the strategy, and the other plays the role of ‘driver’; typing out the navigator’s instructions. Both partners ensure to swap roles at regular intervals, normally when a set of tests passes. I wrote up some of my thoughts on pair programming a few weeks ago after a difficult day, and I wanted to take pause again to give an update on some of my more recent feelings on this style of working.

Read More

Learning Javascript: week 5 at Makers Academy

After four weeks of learning Ruby, web development and databases, we moved onto Javascript week; the sole purpose being to learn the language in the space of a few days. The week itself went by incredibly quickly, and we all felt by the end of it that we had raced through a number of techniques that are incredibly powerful, and that we could have spent months investigating each. Here I will briefly cover what we learned, as well as some realisations I have made in my ongoing study on object oriented design.

Photo credit: The lovely Jean-Jacques

Read More

It's not about databases

Week 4 at Makers was all about using databases in a web application, and specifically about using DataMapper to create a Bookmark Manager which stored and displayed a list of urls that a user had saved to the application. The structure of the project took us through a range of useful skills and tools, such as using forms to save information to a database, creating relations between the data, and allowing for user registration. I finished the week feeling like I had experienced a fast-paced tour of the key DataMapper-related concepts, with just enough time to puzzle over each to a point where I was barely comfortable with it. I did not give much thought to the fact that there was a theoretical user at the end of my application that wanted to use it.

Read More

My magical week at Makers

Last week my Makers cohort and I moved on from core work in Ruby and started developing web applications. Whilst being fun and different, it also exposed us to a range of add-ons to our programs from a host of different sources, which provided meaningful functionality, but where we had no idea how they worked. Using Capybara to automate our browser-based tests was a key example of this. We knew it worked like Rspec and was very useful, but when pressed for exactly how it performed, we were all left grasping for even the most theoretical reasons.

Read More

What I have learned after three weeks of coding school

After a week of making a basic web app, our weekend challenge was to build a game that allowed a user to play rock paper scissors against a computer. I felt happy with the process I went through to make it, and was pleased with my result, even if it didn’t look as shiny as some of those that were presented. One of the biggest benefits I have gained from the web challenges is feeling much more comfortable with test driven development. Whenever I set up a directory for a web app, one of the first things I do is write my initial test cases based on what I expect my program to do. The fact that I need to write both feature and unit tests means that I am very aware of how I need my software to behave, both behind the scenes and for the end-user.

Read More

Week three of Makers Academy: Web Development

The third week of Makers has all been concerned with web applications, and building a web-based battle game. I honestly don’t know where the time has gone in the last few days, or how I got to the stage of building the structure of my game after having been introduced to the client-server relationship just four days before. I have learned a lot about the practical applications of the ruby structures we’ve been building in the last three weeks, as well as a great deal about how websites and web-based interactions work. One of the most startling and comforting feelings I encountered at the end of the week was relief that I was finally working in ruby again, after three days of working with totally new ideas. Given that I could barely code in ruby two and a half weeks ago, this feeling was a big relief!

Read More

Hitting Blockers

have been accustomed to in the last couple of years. When I talk about a mental blocker, I mean the feeling when you get stuck on part of a problem, and proceed to spend a number of hours chewing it over in your mind. You might be trying to look at the problem from different perspectives, thinking of novel ways to solve the problem, or even just staring blankly at it, wondering why it has not solved itself by now. For me, starting a coding course meant that I was suddenly faced with a host of logical and logistical problems that were new to me in many ways. As such, I inevitably reached a point multiple times where I believed that a problem was all but impossible to make progress on. I often ended up solving these problems after a break, but I found it particularly useful to bear in mind that chewing through a mental blocker is often an important part of learning, and a signal that my understanding of a topic is steadily increasing in the long run.

Read More

Reflections on Object Oriented Design

Today is the beginning of my third week at Makers Academy. We will now try building web apps, which means that we’re about to start work with very concrete (in a sense) and immediately verifiable results. It also means that we have now completed ‘the ruby part of the course’, which feels a little odd. After spending two weeks intensively programming in ruby, I almost feel like I know less than when I started, given how much I am now aware that I have to learn. I nevertheless appreciate how I can start to use Ruby as a tool in my arsenal as we progress into more applied and integrated work. As such, this post is a reflective piece on some of the OOD principles I have picked up in the last two weeks, how well I feel I understand them, and how important they seem at this stage.

Read More

Doing what you love

Many people I know have a wide range of skills which I find enviable and impressive, such as great musical ability, programming expertise or knowledge about a specific topic. One big misconception I have had in the past was that these people either had these skills because they had a natural aptitude for them, or that they had spent many gruelling hours learning them. I saw skill acquisition as akin to enrolling yourself in a self-taught course, that required continual conscious dedication, and I believed that you could only benefit from or enjoy these skills after years of devoting your time to learning them.

Read More

Challenges of pair programming

Today was my first difficult day. I feel like the pairing experience is what made it difficult, because looking back, the concepts we dealt with today were not significantly harder than others I’ve encountered. This isn’t to say that it’s either my pair’s or my fault, but I think that looking back on the day I can identify some of the reasons why the experience was stressful and what might help in the future. I realise I have been diarising my pair programming experience for a week now, and I have not actually written anything about pair programming itself. Most of this post will be about my experience today, followed by some more general observations.

Read More

Day 5 of pair programming

I learned a lot today. The day was quite fragmented: The first hour was spent chatting to the others about our weekend challenge. This was followed by a quick standup and a code review lasting just over an hour. We then had a group code review, after which we spent two hours refactoring test cases before meditation. After that we had a quick workshop on coding methodology before focussing on week 2’s challenge. In some ways these aren’t the optimal conditions for getting into flow, but on the other hand I came away feeling like I had picked up a smattering of new insights and techniques, as well as a strengthening of my existing knowledge.

Read More

Lessons from the Hampton Court Palace Half Marathon

’d signed up for the Hampton Court Palace Half Marathon a few months ago, thinking that it was at a good time of year and looked like fun. I run a lot - I frequently do 9 and 13 mile runs, and I enjoy the fact that I can normally just turn up at a half marathon and still do a time that I’m happy with. I had done the Victoria Park half marathon in 87.11 in January 2017, which was a PB, and which I wasn’t expecting to beat. I knew before starting at Hampton Court that I had probably lost a little fitness since then, and that the main objective of the day was to not worry about my time too much, and enjoy the race (after not walking, of course).

Read More