Hi! I'm a friendly guy from Scotland who loves writing software and solving problems. In the past I've been a pubic speaker, teacher and mentor. I used to run my own company and now I investigate new technologies and build projects in the R&D department of a medical technology company. I live in Shinjuku and love my life in Tokyo. Feel free to get in touch , I love talking about languages, technology, architecture and comic books. Karaoke is pretty fun too.
My ambition is to remain living and working in Japan, mastering the Japanese language to enhance my life here and help me build better relationships with my friends and colleagues. I'd enjoy leading a small, focused team exploring new technologies and building meaningful products and services which solve difficult problems and make the world a better place.
Skillup Japan changed its name to Allm Inc in January 2015.
I'm a Senior Engineer on the Research and Development team.
I'm the technical leader of our retail analytics product, which is being used in thousands of physical stores all over the world. I lead the day to day development, set all tasks, work with our teams worldwide to coordinate efforts and in the office, mentor junior developers.
The back-end for the platform is written in a mixture of Go and Ruby, and the front-end application is a Rails app built with Angular JS. It is designed to cope with millions of requests a minute, and currently is handling thousands of requests a minute with aplomb.
On the R&D team I also explore and investigate new technologies, develop tools and automation strategies to help with our development process and other work.
My primary focus at tictoc was on back-end development using (mostly) Ruby.
As a senior engineer, an important and highly enjoyable part of my role is to coach and mentor the more junior members of the team and I try to encourage an open, friendly environment of collaboration.
I look after tictoc’s growing pool of virtualised servers and the associated infrastructure, including performance monitoring, load balancing and general management. I lead an effort to bring the configuration management software, Chef into use.
FreeAgent is an online accountancy application which makes book-keeping for small businesses and freelancers painless (and fun). It's used worldwide by tens of thousands of people.
FreeAgent itself is a large and complicated Rails application, recently I worked to upgrade the now over 5 years old codebase to use Rails 3 and Ruby 1.9.2 - an arduous process which made good use of my knowledge of the differences between the versions of Rails and the Ruby interpreter.
I currently lead the Accounting Engineering Team, as well as looking after the heart of the application that ensures all of the book-keeping entries are correct and reliable; responsibilities include speccing, defining and engineering new accounting features to add to our functional capability and compliance.
The constant focus on development effort in FreeAgent is on correctness and performance of all aspects work carried out.
I developed secure web applications and tools of a financial nature for public and private sector organisations. These included various large UK Government departments, household-name payment card brands. Some of the customer facing applications had web interface developed using Rails.
Supervising a small team of developers, my primary focus was on our flagship "management information" application which helped organisations track their spent and allocate payments on the Government Procurement Card. The application had to be resilient, always available and highly performant.
In addition to this, I was responsible for the design and implementation of my department's PCI DSS (Payment Card Industry Data Security Standard) compliant technical infrastructure. Working within our two-man PCI Team, my implementation and integration with our applications allowed the company to become a PCI DSS Level 1 compliant service provider.
As part of my responsibilities; I became expert on the recommendations of OWASP (the Open Web Application Security Project) and apply best security practices to all development work.
Designing and building a fully PCI DSS compliant technical infrastructure was a requirement of PCCL's partnership with Visa Europe. I was the technical lead and ensured we achieved the highest level of compliance possible - as a Level 1 Service Provider.
This included hardening network security of our systems, building new networks within our current building, splitting our "at risk" data and processing out into isolated systems and building new compliant interfaces to facilitate communication and compliance between these components.
This included an in-memory one-way card number scrubber and hasher, GPG-enabled file drop-boxes with in-memory encryption. Servers were enhanced with OSSEC FIM and IDS systems and other monitoring tools.
I also designed the development process for handling changes to "in scope" systems.
While working at PCCL. eSolutions is a comprehensive management information system designed to enable Visa Purchasing Card users to manage all their card transactions more efficiently and cost-effectively.
Pioneered several now common-place methods of deploying "enterprise" Rails applications, including supporting multi-tenancy database connections.