download CV blog

About Me

I'm a software engineer that specializes in APIs, journey planning algoritms and highly available services.

Normally I work as a lead developer but I still like to get my hands dirty with node.js (preferably TypeScript), MySQL and whatever else comes my way.

I tend to pick up new technology in my spare time like Scala, Rust or even a bit of Ansible / DevOps.

I'm an advocat of Agile development and usually set my teams up in a Scrum environment or Kanban if it suites the task better.

Profile Pic

PERSONAL INFORMATION

Name: Linus Norton Likes: Programming, algorithms, beer with friends Dislikes: Spaghetti (code and food), apathy I have a blog.

I founded Planar Network, to bring blockchain technology to public transport. As part of my work at Planar Network, I developed a best in class journey planner for UK rail and created a whole set of tools to process industry data.

Before founding Planar Network, I was CTO at Assertis where I led a merry band of men (and women) in a quest to make rail travel and tickets a more bareable experience. My areas of expertise are software architecture, software development, microservices, continuous integration, Agile (mostly Scrum), TDD and leadership.

I have various open source projects on GitHub. I'm crazy enough to have built a journey planner using the Connection Scan Algorithm, Transfer Patterns and a few other bits of graph theory. I've released quite a few open source Node.js projects, including a massively multiplayer version of game of life using websites and a tool to help find developers.

Occasionally I enjoy speaking at conferences - I spoke at the inaugral London TypeScript meet up, HackTrain and at the London PHP Conference on the unconference track.

My real passion is working with a great team to deliver challenging products. I love reading, particularly about programming, learning, leadership and motivation.

Self-Proclaimed Skills

Primary Skills

  • JavaScript ES6/TypeScript - Node.js, browser
  • Databases - MySQL, MariaDB, Galera, ElasticSearch
  • Dev Ops - Ansible, Vagrant
  • Agile - Scrum / Kanban

Secondary Skills

  • Sysadmin - Ubuntu, Apache2, nginx, HAProxy
  • Front end - React, HTML5, CSS
  • PHP, Java and Scala
  • Making coffee

Experience

February 2018 --- Present

Planar Network

Founder

Developed the world’s first rail ticketing system and portable wallet on a blockchain using Ethereum/Solidity.
Developed a best in class multimodal journey planner, completing against established companies with over £100m in finding.
Created and presented the white paper, concept and business model.
Developed a wide array of open source tools for processing and managing public transit data using node.js/TypeScript.

September 2013 --- February 2018

Assertis

Chief Technology Officer

Created a highly effective Agile team in a high risk, heavily regulated industry competing against multinational corporations.
Re-architected legacy systems to a Service Oriented Architecture that enabled rapid development of new features and products.
Implemented a modern software development environment by setting up Continuous Integration, Continuous Deployment, automated Selenium testing and virtualized development environments using Vagrant.
Migrated from a managed hosting environment to a fully automated (Ansible) AWS environment.

September 2014 --- April 2016

On Track Retail

Chief Technology Officer

On secondment from Assertis to launch a joint venture with a FTSE 250 company. Created an entirely new team of 25 developers and delivered to a very ambitious, immovable deadline.
Architected a highly available ticket retailing engine using Scala microservices, RabbitMQ and a Galera DB cluster.
Designed a robust set of RESTful APIs and JSON protocols. Integrated with a large number of arcane, poorly designed and dreadfully documented rail systems.

January 2013 --- September 2013

BBC

Web Developer

Developed the next generation CMS in JavaScript using Backbone.js and Underscore.js.
Design of key architectural components and moving the team to a more functional programming approach using Underscore.js.
Mentored developers on best use of RequireJS, Backbone.js and unit testing with dependency injection.
Improved the build tools by moving to node.js and Grunt with support for Jasmine and JSHint.

October 2011 --- January 2013

BraveNewTalent

Team Lead

Leading a team of developers to deliver an enterprise solution for BraveNewTalent using PHP, Zend, Doctrine and JavaScript.
Contributing to the redevelopment of the software platform using PHP, Symfony2 and CoffeeScript.
Mentoring developers on object oriented design, Agile software development and unit testing.
Working with the product owner to define the product roadmap.

March 2010 --- October 2011

MyTrainTicket

Lead Developer

Development of a large scale train ticket issuing system (TIS) that integrated with financial and rail systems using PHP, MVT Javascript (Backbone, Underscore), Sass, Java and Python.
Implementation of development procedures including version control, unit testing and continuous integration.
Responsible for the management and implementation of all technical projects within the company.

February 2007 --- March 2010

Assertis

Senior Developer

Development of the company CMS using PHP, JavaScript, MySQL and XSLT.
Quality assurance and progression of developers coding standards.
Project planning, management and documentation including wireframes, site structures, entity relationship diagrams, project timelines.
Managing customers, organizing hosting, domain names and emails.

Meaningless Chart

You Want More?

I really think I've said enough. It's like this is a vainity website or something. If you do want more info, get in touch or read through my CV or LinkedIn profile.