Programming

M3 (EU) Ltd

My first position as a developer has been with M3 (EU) Ltd. as a junior developer. As part of a small team we work to maintain, redevelop and add new features to Doctors.net.uk and m3medcical.com.

Most of the frsh development and redevelopment are Javascript microservices which are deployed to AWS servers as docker containers. I have been involved in the developemnt of both cronteoller layer and service layer Javascript. The controller layer using React as a front end and the service layer connecting to Mongo and Postgres databases.

The maintainance of the existing services is in many different systems. In the newer architecture I have worked on dockerised Java services connecting to Postgres databases. I have also worked on the legacy system in .NET (C#), connecting to a MS-SQL database.

Other systems I have used, not directly related to development, are Github and other Git services for version control and team collaboration, where we make use of the pull request features to allow code review. The Git services are hooked into Continuous Integrations systems for building deployment ready applications. The team works in an Agile environment with a Kanban style backlog for non project items and bugs and Scrum style sprints for project related development. While I haven't been directly involved in infrastructure tasks I have completed small projects that have exposed me in passing to the AWS platform, deploying EC2 instances and AWS lambdas.


Early Career

My initial knowledge of programming was in HTML and CSS in the mid '90s. At the time programming as a career was never made obvious to me otherwise things might be very different today. During my time at University as an undergraduate I became aware of more programming languages and was first introduced to Fortran 77 and Fortran 95. It was during my doctorate that my interest in programming was rekindled with basic knowledge of IgorPro, SPEC and Python.

During my postdoctoral work, still based in science, I learnt more about Bash and Python, in the form of SASView and was introduced to Java and C, although only in passing including discussions on adapting the fitting routines in SASView to C and CUDA to allow data fitting using GPGPU. For more information about this project contact Paul Kienzle.


Transition from Scientist to Programmer

After finishing my post-doctoral work I decided to concentrate more on programming. This meant going back to basics to check I did not miss anything in my fragmented learning. A list of courses that I have either completed, started or intend to complete in the future, is here. This is not an exhaustive list so please contact me using the links below if you require more information.

Contact me