Acebook — Day 2
You don’t need to tell a wanna-be software developer the many ways in which technology has come to the rescue when we are faced with a problem. Take for instance, the problem of being sick when you’re tasked with a group project. Unfortunately for me, this was my situation during a group project at Makers Academy. In an age where pretty much everything can be done online, I was not ready to admit total defeat and not contribute to the team, so the decision was made to work remotely. Something many software developers do full-time.
With the projecthaving been split up on Trello (a group project site) into smaller tasks, this seemed like it was going to be a doddle. At least that’s what I thought. There are many different technologies to help remote workers, Slack is a popular messenger app for software developers as it includes formatting features similar to Markdown and lets you send code snippets to colleagues in a highly readable format. Then there are remote pairing websites where you can send someone a remote view of your computer screen so you can work through your code in realtime.
Having started the day confident of the task I was undertaking, it wasn’t that long before I ran into issues. This week is all about becoming familiar with Ruby on Rails, a Ruby based framework that I’ve never used before. My duty was to build on the existing code and implement a comments feature for our Social Media site Acebook (any similarities to Facebook is totally coincidental… Promise!). I found some good online tutorials which explained things really well, however, my code wasn’t doing what it was supposed to do. Now what?
I tried to get in touch with the rest of the guys to see if they could help but when you’re on the other side of London, you can’t simply just cry out for help. The guys were busy with their own tasks and trying to explain the situation on Slack isn’t all that effective, especially when it’s not crystal clear what exactly the situation is. After contemplating the various different remote paring options (all of which come with their drawbacks, mainly lack of speed), I decided to suck it up and come in.
Now don’t get me wrong, I feel like working remotely is a good solution to some of the issues this industry faces. Whether it’s keeping overheads at a minimum or, trying to embrace a culture of flexibility to best suit the various personal situations of your employees, working remotely can be an effective solution to a problem. However, when you’re a noob like me, and you feed off the support and technical assistance from your fellow cohort members, maybe remote working isn’t always the best idea.
Armed with a bottle of hand sanitiser and a solemn promise not to lick anyone, I arrived at Makers HQ about 2:30. The guys in my team were also trying to debug a similar error and one of the coaches talked us through some of the peculiarities of Rails, we understood that our errors came from the smallest of demons… The letter S.
Creating databases in Rails is simple enough stuff, as long as you pay attention to the distinction between the singular and plural names which Rails automatically hands out. So your table might be called “Comments” but Rails will automatically label a row a “Comment”. Sounds pretty obvious but if you have any errors in your schema, it’s not always the most obvious mistake to spot.
Once we figured out that Rails was unforgiving in confusing this distinction, we made our way forward and as the whole group gathered, made some excellent progress with our Acebook app.
We had a retrospective at the end of the day, during which we raised some questions for us to think about. We talked about what went well and what didn’t. This culture of ‘retros’, ‘stand-ups’ and general emotional ‘check ins’ is one that Makers has instilled in us. They take a very holistic approach here, one in which it is not outside the realm of possibilities to indulge in group hugs or daily meditation. As quirky as that may sound, it has been an eye opening experience which has made me realise that emotional intelligence is every bit as important as technical understanding. A happy coder is a proficient coder.
All in all, it was an excellent day of programming, with a great group of guys (Julian, Alfie and Tom). Day 2 was painless enough, let’s just hope the rest of the project is too.