Nicholas Johnson
Curriculum Vitae / Resume
Hi! I am polyglot full stack developer with a passion for learning and teaching new skills.
I wrote my first real BBC Basic program when I was 11. It was a choose your own adventure game. I have been writing code ever since. Over the years I have progressed through a wide variety of technologies including C, Java, Ruby and JavaScript.
I regularly provide consultancy services to companies small and large, including recently Telefonica, Sky, Cisco, Ryan Air, M&S and many more.
If you have an interesting project, or you would like some training or consultancy for your staff I would love to hear from you.
Last updated: 22 July 2015
Skills
JavaScript / Node / Mongo / Angular/ Ruby / Rails / Training / Evangelism
JavaScript
JavaScript is my favourite language. I am the author of JavaScript plus a dash of JQuery, A Sensible Introduction to Coding with JavaScript. I enjoy teaching JavaScript to small groups.
I have the top answer to the question "What is a closure?" on Stack overflow.
You can see some of my other posts here.
AngularJS
I'm a massive fan of Angular.
I maintain this post on Angular vs. JQuery on stack overflow, and this one on SEO with Angular and Pushstate. I'm currently authoring the AngularJS book - step by logical step.
I teach an Angular course several times a month and appreciate the power and organisation Angular brings to my projects.
BackboneJS
Backbone is the granddaddy of lightweight MV* JavaScript libraries. You can read my book on it here. I also maintain this Backbone post on Stack Overflow.
JQuery
Though most of my front end work now revolves around more modern libraries, JQuery remains relevant. I have authored a great many plugins over the years. You can browse my projects on my GitHub page.
NodeJS
Node is my server-side toolkit of choice on most projects. Check out my Node material here.
MongoDB
Mongo gives you an API out of the box. It allows the easy and rapid creation of a service oriented architecture with little wiring code. I teach Mongo and use it in client projects where appropriate. You can read my Mongo material here.
Ruby
I have 8+ years of Ruby experience, and have been riding the Rails since version 1. I am lead developer on www.streetbank.com and www.higgidy.co.uk, plus a number of other projects.
I like Rails for rapid prototyping, but I'm equally comfortable in plain Ruby, Sinatra. This site is built with Middleman.
I'm a clean coder. I write DRY, testable code. I keep my controllers thin and my models tight. I minimise dependencies using service objects where necessary. I make good use of custom generators. I like an SOA.
I also regularly teach Ruby and/or Rails courses.
API
I'm a creator and consumer of the Streetbank API. I have first hand experience in what makes an API fun to work with. SOA is my preferred architecture.
Training / Consultancy
I am logical, methodical, encouraging and good at organising information. I am happy to present to a group or sit with an individual. I believe in helping people and spreading the knowledge.
HTML5 / CSS3 / Responsive Design
My first programming job involved writing HTML and CSS back when CSS was new. I cut my teeth on Netscape and IE5.5. I have a healthy respect for cross browser compatibility, but I enjoy keeping up to date with the latest developments. I can implement a pixel perfect, cross browser compatible, semantic, SEO optimised, responsive HTML5 template from a JPEG, though I seldom get the chance to these days.
Making a website work in legacy browsers is simple a matter of logic, plus a little knowledge. I authored this popular post on Stack overflow on box sizing support in IE7
HAML / Jasmine / SASS / Markdown / CoffeeScript / Generators / etc.
Front end preprocessors can speed up the development cycle considerably. I use appropriate technology to make development faster and more consistent.
Miscellaneous and occasionally useful skills
- Git / Vi / Command line hacking / Postgres
- Linux server administration / Amazon S3 / Heroku
- Packaging design / Print design / Illustrator / Photoshop / InDesign
- Copywriting
Recent Experience
Trainer / Consultant (2006 - now)
I produce and deliver training courses for my own company, and as a subcontractor. My courses are clear, concise, logically ordered, and enhanced with humour and narrative flair.
I'm happy to present to a group or mentor individuals who are struggling. I have a feel for the personality traits that make a good programmer.
Lead developer - www.streetbank.com (2010 - now)
Streetbank is a location aware social media site a little like Freecycle that aims to put neighbours in touch with each other. It uses Rails and Postgres to publish an API, and has an Angular front end. It now has a distributed staff of 7 including 4 developers. Streetbank was listed in the Times as one of the 50 websites you can't live without. It has been featured in Wired magazine, the BBC, and several others.
Lead developer - www.higgidy.co.uk (2011 - now)
The brand presence for Higgidy, a multi-award winning, fast track 100 company. It has FaceBook and Twitter integration and a handy widgetised CMS that enables the site authors to syndicate content.
Other Experience
- UI Manager at Brandwatch (2004 - 2007) - I built the original Brandwatch JavaScript UI. Brandwatch is now a biggish company with around 100 employees.
- Contractor at londonshared.co.uk (2014) - I took on an existing project, and managed a reasonably complex migration.
Plus many other projects.
Notable Achievements
- Top 0.6% in Stack Overflow based on a small number of high rated answers.
- Father of 3 lovely children.
- Scaled www.streetbank.com from zero to medium/large.
Other things
- I enjoy hardware hacking with Arduino and various spare parts pulled out of broken hardware.
- I am also a committed Christian, and as such I prefer to take work which has a positive impact on the world. I try to use my skills for good as much as possible.
Testimonials

Leo Horn Senior Analyst Developer at Novacroft - AngularJS - August 28, 2015
By far and away the best, most in depth, and broadest course I have been on. Nick is passionate and vastly knowledgeable about the subject and it really comes through in the lessons.
Best bit: I guess the nerdy part of me liked it when we hit a remote api and displayed data back. Also…Thundercats rock!!!
Comparison with other courses: Many courses I've been on have been dumbed down and a bit wishy washy, I'm so pleased this was challenging and full of meaty examples.

John Turner Software Development Manager at Novacroft - AngularJS - August 28, 2015
I am really pleased that we choose Nick to present the course. He keeps everyone engaged with his enthusiasm. He is clearly very knowledgeable about the subject matter and this gives him credibility with developers.
Best bit: The presentations were live coding rather than Powerpoint slides.
Comparison with other courses: Better than most.

Emma Phillips Analyst Programmer at Novacroft - AngularJS - August 28, 2015
Thank you Nick for the AngularJS course. It was very insightful. Nick was very knowledgeable about the subject matter. Would definitely recommend this course.
Best bit: All of it! Learned a lot.
Comparison with other courses: Very in depth and flexible to the group. Course was very interactive.

Aurore Trunelle Front End Developer at Edcoms - Angular - April 28, 2015
I followed Nicholas' advance javascript and extended AngularJS courses. I learned a lot during this well distributed training. The mix of theory and practices make it really interesting, and well-articulated. Nicholas knows his subject perfectly and can answer any questions and debate about web development all day.
All you want to do after this course, is more Javascript and AngularJS. I can only recommend this training

Sarah Tupman Senior Front End Developer at EdComs - April 27, 2015
I attended a AngularJs course run by Nick in April 2015. After finding his website looking for such a course, he appeared to have an expansive repertoire of knowledge and I was certainly not disappointed.
Nick is extremely knowledge, approachable, and posses an excellent set of rare teaching skills. He was able to explain complex ideas and theories with an application to a real life usable scenario, and could answer any question related to JavaScript even if it was off topic.
I wouldn't hesitate for a second to recommend Nick to anyone looking to get their head around AngularJS - it was an absolute pleasure, and a very motivating course
Say Hello!
- Find me on LinkedIn
- Send me an email at hello@nicholasjohnson.com
I look forward to hearing from you!