How I learnt to stop worrying and start loving node

Note: This and all other posts tagged with ‘tech’ will discuss the technologies associated with the Novlr build and will be fairly in-depth.

When deciding how we were going to build Novlr, we evaluated a number of different technologies over the course of a few weeks and settled eventually on node.js (commonly referred to as just ‘node’). Node isn’t a platform I was familiar with (I do love a challenge) but we selected it because of its flexibility in server-side and client-side development for real-time, scalable online applications. We were also inspired by Ghost, who have built a simple blogging platform on node.js which allowed us to see what it is capable of.

I have developed primarily in php and on Drupal in the past but have a grounding in Javascript which I am hoping will give me enough to carry me through the node learning. I spent a month back in November putting in about 6 hours a day, alongside my day job, on research, online tutorials, building simple example apps and reading books. That was the fastest learning curve I have ever climbed but by the end of it I felt ready to start working with node and hoping that I could learn everything else I needed along the way! And boy am I learning.

Best way to learn node according to a beginner

I thought it might be useful for others starting on a node journey to share what I found most useful. So here’s what I did. In this order:

  1. If you haven’t already, learn some javasrcipt
  2. Read all about node – get your head around asynchronous programming. Learn what event-driven non-blocking I/O really means.
  3. Read this book and build the app  – this is from scratch, including installing node
  4. Sign up to this course at Code School  – it’s $25/month but easy to suspend subscription and won’t take you a month
  5. Do the three core concepts from – these are excellent command-line tutorials, a great way to learn and have a supportive community.
  6. Do the Expressworks elective on
  7. Follow this guide and make sure you are comfortable with express on node

At this point, I then built my first production site using node, express and jade (for templating) which is the site you are currently on, the Novlr marketing website excluding the blog which we threw up in wordpress on our existing apache server for ease, although we intend to switch this to ghost to have everything on the site on node at some point soon.

So that’s it. The journey so far

Every single day I learn something new. I break something and have to fix it again. I start from scratch. I reconsider the structure. I whine at Thomas, I can’t do this. It’s too hard. And then I get a little win that carries me through until the next emotional cracks reveal themselves.


Why we’re building Novlr: Part II

Thomas is Novlr’s CEO. You’ve had a post from him already. It may or may not come across in his words, but he is an incredibly perusasive man. So when he asked me what I thought about building an online novel writing software – oh and you’ll have to build it, you’ll be CTO – my initial reaction to these sorts of questions was curiously amiss (supportive humouring with a slight air of whimsy) in favour of a curiosity about what was going on in his head.

After, passing the idea around a few times, we realised that we were both excited, we thought it would be desired and it would help not only him (the eternal procrastinator) but thousands of other novel writers the world over. We can make novel writing painless. Simpler. We can make something that makes people rue they day they ever thought a word processor fixed to their desktop would do.

Then it hit me. You have to build it. That thought keeps hitting me. Weekly. Daily. Hourly in particularly challenging sprints. But the idea of what I could produce is too intoxicating and I’m too far gone! I am building Novlr and I have never been more excited about a project. It’s late nights, early mornings and an awful lot of learning but I am enjoying it.

To give you some background. Thomas and I have worked together for 3 and a half years in two different digital teams. Myself as Producer and Thomas leading both teams. I also do freelance web development in my spare time (not that there’s any of that anymore!). I studied English Literature with Creative Writing at university but taught myself basic programming over the summer when I realised I wanted to go into digital and have continued to teach myself a number of different languages in the meantime.

Novlr is being built on node.js, which is a language I knew nothing about before October 2013. I am learning as I go along and that journey is tumultuous to say the least. You can read about that journey in a separate post where I talk about the reasons for choosing node and where we are at with it.

I will be writing about the journey to build Novlr from a CTO’s perspective. The ups and the downs. Because yes, we’re a business but we want to be open, honest and frank about every part of Novlr, even if that means we break some cardinal rules of business from time to time. It’s more important to us to build the best possible novel writing software and we can’t do that without having followers who trust us and can feedback to us as honestly as we share with them. We would love you to take this journey with us.