I like shipping early and often. I believe in automation. I don't think there's a trade-off between quality and speed. I have opinions on commercials. I'm passionate about what I do, and will never finish learning. I consider continuous integration and peer review to be first-class activities. I'm currently digging functional programming.
Contributing to all areas of the new style.com, developing a best-in-class luxury ecommerce experience. I'm responsible for ensuring technical excellence of our development efforts, and identifying improvements to add value and increase velocity. I mentor junior developers and provide technical consultancy to product owners. I'm working to evangelise our engineering efforts across the company and externally, in order to further build cohesive, effective delivery teams. I'm currently assigned to our web cell, focusing on the client-side website.
Tech stack: Clojure / Clojurescript / Reagent / SASS
As a full-stack engineer, I provided technical, architectural and procedural leadership for our Convolo platform, a microservice-based application featuring a high-performance messaging pipeline, real-time graphing interface and batch ETL jobs. I led a project that delivered a self-service recruitment website, as well as building a social ecommerce platform Social Superstore, and Bright North's core product after a pivot. We work to firm deadlines with a strong quality ethic. Development methodology was pragmatic not dogmatic, based on agile and TDD.
Tech stack: Clojure / Clojurescript / MySQL / Elasticsearch / RedShift / RabbitMQ / SQS / Chef / AWS
At Softwire I delivered a project for the company's largest client, Metaswitch, on a platform handling messaging for over 40% of all US mobile subscribers. My team was around 8 people. The aim was to build significant extensions to Metaswitch's existing global telecommunications systems, so the work involved a major body of 3rd-party legacy code. As the experienced development resource on the project, I established processes to bridge the culture gap between the two companies, ranging from setting up git-svn, to introducing test infrastructure and a modern TDD development cycle. I mentored junior developers on coding best practice, and acted as a subject matter expert on the application. I achieved far more through the introduction of stronger dev practices improving the speed and quality of delivery than through the features I personally built.
I was active in company-wide learning and knowledge sharing, writing internal blog posts and contributing to technical discussion in our forums, organising external speakers for regular "Lunch & Learn" sessions, and speaking at those sessions myself.
Tech stack: Java / Perl / MySQL / SQL Server
This role included both software development and systems architecture. I was implementing the back-end and designing the full architecture, including infrastructure, persistence, service architecture and messaging, and the accompanying systems and processes - BDD/TDD, continuous integration, deployment strategies, scalability and resilience, security and third party integrations. My team built core business platforms supporting data access, RESTful APIs, batch database extracts and data analysis tooling. I was the domain expert on application architecture and development practices.
I worked on three core products: an emissions calculation platform, a high-performance data aggregation system, and after a company pivot in late 2012, a business supply-chain risk analysis platform. For the latter I designed the architecture and planned the initial phases of delivery, my team implemented the solution and we saw it through to launch.
Tech stack: Groovy / Java / Jetty / Spring / Restlet / Hibernate / MySQL / Cassandra / Maven
At Markit I worked in an international team developing financial indices. Our globally distributed team used an agile methodoloy with monthly release cycles. I had responsibility for maintenance and support of the entire codebase, as well as deployment and disaster recovery. My key projects were structured finance index products, providing performance analysis for investors and traders. I also snuck in some major build system improvements, too.
Tech stack: Java / Tomcat / Spring / JavaSpaces / Hibernate / Oracle / GWT / Maven
Working in the Academic Technologies Group within IT Services, my immediate team of 7 was responsible for delivery of a student web portal myUWE, providing a full online environment for student activities, from initial registration and payment of fees (>£2m in 2010), through accessing the virtual learning environment, submitting coursework, receiving results and supporting functionality such as email and faculty announcements as well as teaching and exam timetables. The university at the time had around 28,000 student and 3000 staff users, with around 8000 distinct logins per day; data protection was important. During my time at UWE I was promoted to Senior Developer, gaining responsibility for security, performance, development processes, technical documentation and also leading system maintenance.
Tech stack: Java / Tomcat / Spring / Portlet / TopLink / SQL Server / XSLT / Maven