Consultant2015 - 2016Keysight Technologies
Technologies: Verilog, C++11, FPGA, Compiler construction, Algorithms, Mathematics, Embedded software, Project management
- Developed specialized hardware for digital triggering. The hardware had been prototyped; my role was to design and develop a toolchain to program it.
- Designed a language, Newt, to express complex triggering patterns.
- Designed the mathematical foundation by which a compiler could be constructed.
- Designed and developed a compiler (in C++) to turn Newt codes into various types of hardware models.
- Contributed to the continuing development of the hardware (in Verilog) in order to maximize performance and generality.
Consultant2014 - 2015Trainline
Technologies: F#, C++11, C#, Architecture, Biztalk, Mathematics, Algorithms, Data mining
- Led the technical design and development of "Journey Planner," a key component of the commercial proposition. The objective was to avoid conventional solutions in favor of one which could deliver some additional value to the business.
- Researched, applied, and explained the core mathematical foundation.
- Designed, developed, and communicated the function of the architectural foundation.
- Provided initial development, roadmapping, and technical lead through the development cycle.
- Introduced F# into the company's development process.
- Wrote, in one week, a compiler which saved the company £1.2M per year.
- Spearheaded a data mining project. Initial results contributed to redirecting the company's strategy.
Software Specialist/Consultant2013 - 2014Senergy, Ltd.
Technologies: PHP, SQL, LAMP, Java, Android, R
- Led numerous technical projects operating under the auspices of Business Development/Innovative Products and Services. They originated and researched ideas and existing IP from within and without the business, and then delivered those ideas as turnkey products.
- Elicited requirements and ideas from stakeholders.
- Researched and gathered technologies and personnel.
- Designing the systems, managed the development effort, and took a leading role in core development tasks on several projects.
- Contributed to commercial and business planning.
- Participated in IP registration.
External Supervisor2011 - 2014University of Aberdeen, Institute of Mathematics
Technologies: Mathematics research, Technology transfer
- Initiated a project in which, for their final-year project, undergrads in mathematics tackled real, commercial problems which we had within our development team. The idea was to expose students to opportunities in which they can use their skills in industrial and engineering contexts (rather than just academic ones).
- Sought out (and characterized in mathematical terms) suitable tasks and conveyed them to the institute and students.
- Provided ongoing supervision and guidance.
- Participated in the final marking.
- Helped to transfer the solutions found by the students back into the development team.
Software Development Manager2012 - 2013Senergy Software, Ltd.
Technologies: C#, C++, Fortran
- Managed a department of 22 developers and two project mangers, developing two home-grown programs (>3M lines) and several third party assets.
- Oversaw budgeting, recruitment, project scoping and delivery, and the implementation of all quality standards.
Technical Architect2011 - 2012Senergy Software, Ltd.
Technologies: C#, C++
- Directed the Core, Architecture, and Futures team, which was charged with re-architecting the company's entire product range and future-proofing the business' roadmap.
- Oversaw architectural design, team leadership, prototyping, and toolmaking.
- Communicated and evangelized the new structures to programmers outside the Futures team, and "sold" the ideas to non-technical stakeholders.
Senior Developer2009 - 2011Senergy Software, Ltd.
Technologies: C#, C++, Embedded, GPU
- Developed and delivered a radical approach to rectifying and analyzing wireline image logs based upon cross-correlations.
- Architected the project such as to work as part of a desktop app, when embedded on down-hole hardware and when deployed onto GPU arrays.
- Handled conception and design as well as mathematical and theoretical foundations,.
- Submitted the product for a patent (GB1016556.1, Methods for providing for correcting data and associated apparatus).
Web Developer2008 - 2009NHS Education Scotland
Technologies: ASP.NET, C#, Visual Studio, SQL Server
- Collaborated with a teammate to develop this high-load, highly-visible, and politically-sensitive internet-delivered service.
- Implemented a website with a complex, extended-time, multi-agency workflow. Even though deadlines were set before the project began, requirements were generally conflicting and were still changing even after the deadlines had passed.
- Designed and developed an innovative user interface to explicate complex workflow to untrained (and highly-stressed) users.
- Catered to system demands for multiple, complex security and confidentiality requirements, at some points of a national security level. We designed security into the heart of the system.