Hi, I’m Rowan. I’m a Node.js and front end developer with 10 years experience building websites. I’ve enjoyed working in a broad range of environments and industries, and I am based in London.
I maintain a lot of personal projects. including Joblint, a command-line tool for testing job posts, and Pa11y, an accessibility testing dashboard. I have also coached students in my spare time at Codebar – an initiative to make technology more diverse and welcoming.
Back End: I’ve been working with Node.js since 2011, using PHP and a little bit of Ruby before then. I’m very enthusiastic about Node.js and the ecosystem which has sprung up around it; particularly the focus on smaller modules which do one job well.
Ops: While I’m still relatively junior I’ve taken more of an interest in ops recently, learning about Puppet provisioning and continuous deployment. I’ve maintained Linux and Windows servers as well as managed MySQL, MongoDB, and Redis databases.
Joblint: A Node.js command-line tool and website to test job posts for issues with sexism, culture, and expectations. Joblint gained a lot of traction initially, resonating with developers who were fed up of screening terrible job posts. It gave me a good introduction to managing a popular project with a lot of issues and pull requests coming in. Visit Joblint.
Pa11y: A Node.js-based dashboard and command-line tool to test websites for common accessibility issues. Pa11y uses Headless Chrome to load pages and run a series of checks, it then generates reports in JSON, CSV, and HTML. View the Pa11y source code on GitHub.
Pacer: A flexible, fault-tolerant, Redis-based rate-limiter for Node.js. Pacer can easily be used as middleware in a Connect/Express-based API, and can rate limit based on the type of consumer accessing the API. I built this as part of another personal project and split it out. View the Pacer source code on GitHub.
Libraries: I open source a lot of the code I write, whenever I spot common idioms or generic code that might be useful elsewhere. You can view more of these on my GitHub profile.
Speaking and Writing
UX For Your Node Modules: I gave a talk at the London Node User Group in 2014, speaking about the importance of a good README with a focus on Node.js projects. The talk was well-received, and I enjoyed it despite my nerves – I’d do it again. Slides are available here.
Personal Blog: I maintain a personal development blog. Writing benefits my own learning massively, and I enjoy sharing knowledge with my peers.
Cruft: I used to help maintain and write for Cruft, a blog for the technology department at Nature. I published several posts and coordinated other contributions.
Financial Times: Senior Developer, February 2016 – Present
Nature Publishing Group: Developer, November 2012 – February 2016
Role: I was initially hired as a Front End Developer on Nature Jobs, quickly moving to work on Scientific Data – a new journal. After this I moved into a split Node.js and Front End role working on the new platform for journal delivery.
Notable Challenges: The front end team made a decision to open source the Node.js part of the new publishing platform. This presented a large challenge in tidying up our codebase, documenting it, and defining a more appropriate API for an open source project.
BraveNewTalent: Front End Developer, October 2011 – November 2012
Role: I was hired as the only Front End Developer, replacing my predecessor. My role involved working on product features and expanding/leading the Front End team.
Notable Challenges: Part of the way through my employment I was chosen to re-architect the front end of our platform. We redefined how we worked in the front end, eliminating a lot of template logic with Mustache and starting to use LESS as a CSS preprocessor.
Freestone Creative: Web Developer, January 2008 – October 2011
Role: I worked on web sites, email marketing, web banners, and games for some large brands. I was employed as the second member of a new in-house development team, to expand the agency's offering.
Notable Challenges: Working with designers and account managers to change the way the agency managed web projects. This was an uphill struggle but paid off directly with increased development work and revenue.
Work/life balance is important to me – a rested developer is a good developer! Outside of work I love to draw; illustration and comic art mostly. I also read a lot, my favourite genre being dystopian fiction (Margaret Atwood is hands down the best author). I occasionally go running, but this is less of an interest and more so that I can eat all the food.