download CV connect via LinkedIn

About Me

I'm a software engineer that works in the wild west of the web. I specialize at building great products and great teams.

Normally I work as a lead developer but I still like to get my hands dirty with PHP, JavaScript, MySQL and whatever else comes my way.

I tend to pick up new technology in my spare time like Scala, TypeScript 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 Jay Norton Age: Not that old Likes: Working Interesting fact: Crocadiles are immortal

I'm currently CTO at Assertis where I lead a merry band of men (and women) in our 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 in PHP 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.

I'm a qualified Zend PHP5 Certified Engineer (not much to brag about these days) and experienced JavaScript, HTML, CSS and MySQL developer. I write a lot of Node.js using ES6 or TypeScript. I've tinker with bits of Java, Python and Scala. Yes, I still crank out a bit of PHP too.

I spoke at the 2012 London PHP Conference on the unconference track about integrating Lean product development and Agile software development.

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
  • PHP - Silex / anything
  • Databases - MySQL, MariaDB, Galera, ElasticSearch
  • Dev Ops - Ansible, Vagrant
  • Agile - Scrum / Kanban

Secondary Skills

  • Java - Android and J2SE
  • Sysadmin - Ubuntu, Apache2, nginx, HAProxy
  • Front end - HTML5, CSS, Templating
  • Scala, Python
  • Making coffee

Experience

September 2013 --- Present

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.