Published on

Q&A with Jack Franklin

Ruby and JavaScript developer

My name is Jack Franklin. I'm a Ruby and JavaScript developer working at GoCardless, a financial startup in London that allows anyone to pay and receive money through direct debit. Prior to GoCardless I studied Computer Science at the University of Bath and have also written a book on jQuery that was published in February 2013. I'm also a Google Developer Expert for the HTML5 platform and spend a fair amount of my time writing and speaking on JavaScript.

What inspired you to become a developer?

I like solving problems, and I like writing code. I first got started with HTML and CSS before moving onto PHP, JavaScript, and other programming languages. I quickly found that I not only enjoyed writing code but the challenge of solving problems in code was one I really enjoyed. I quickly found the community online really (for the most part!) welcoming and friendly, and incredibly willing to help. The fact that I had strangers on the other side of the world answering my basic code questions was fantastic. I was then inspired to try to give something back and that's why I try to put time regularly towards speaking or writing.

What tools do you use to organize your work?

In terms of organising my work I use two main tools. The first is TeuxDeux (by Tina Roth-Eisenberg, see the interview - WSP), a very straight forward todo application. It just lets me put a list of things I want to do today and then I check them off - any that don't get done just move onto the next day. I've found it much better than a more complicated app with scheduling and other features I don't really use.

The second app I use is Notesy, a notes application written by Andy Appleton. It again is really simple and to the point. It's a browser app but works offline too and comes with a free iPhone app. I tend to write absolutely everything in Notesy - even the answers to this interview!

When it comes to writing code, it's all written in Vim (yup, I'm one of those people!), probably within a tmux session so I can jump in and out as I please. I've usually got two or three projects going at once so having these all in sessions that I can leave and then come back to at a later time is really handy.

What is your ideal work environment?

In terms of my development environment, as mentioned, it's pretty terminal heavy. I'm usually found running iTerm in full screen with a tmux session or two going. Vim will be guaranteed to be there somewhere. I find that I'm much more productive using the keyboard to navigate and sticking to the command line as much as I can. I've customised my environment very heavily (as my dotfiles atest to https://github.com/jackfranklin/dotfiles) so I can move around it very quickly. It was a steep learning curve when I first got started with Vim, but having been using it for about 3-4 years now, I can confidently say that it's worth it. I really suck at using anything else now! Other than that, the only other app I've got running most of the time is Google Chrome, and probably Chrome Canary too.

Where does your work inspiration come from?

Ideas that I get for projects to build or articles to write usually come from something that I've been doing that I felt wasn't quite right, or perhaps was taking longer than I wanted it to; this leads usually to me trying to write some code to speed up the process net time. I also try to use Twitter to find other interesting projects that people are working on that I can use or write about on my blog. I've found if you can follow like minded people on Twitter, you quickly get a bit list of interesting content, tutorials, code, and so on. My "To Read" backlog is huge! I also like to watch videos of conference talks and will often get excited or have an idea spawn from that.

Who are the developers you admire most?

This probably sounds a bit cringey but anyone who spends their own time to giving back to the community, whether it be open sourcing code, writing posts, organising or speaking at events, or anything else. We're lucky to be part of an industry where sharing is so encouraged and actively done.