Alexander Morton Software Engineer

Below you will find a breakdown of my experience in different areas. I give details on each topic and examples of how I developed that skill. I hope this is of help to any future client, employer or fellow friendly developers.

Of course, If you have anymore questions contact me.

Web Security

I'm familiar with securing web application in a myriad of different situations. This includes oauth flows, openID, federated identities, SAML, I could go on.

The most prominent example of employing this skill is when I built the security layer for a financial startup which takes millions of pounds a year in transactions and requires integration with multiple user directories.

Javascript

I'm experience with multiple frontend frameworks ranging from antiquated jquery to modern SPAs like angular and react. Additionally, I have extensive experience with nodeJS.

I debugged and built multiple applications as a freelancer and worked as lead devops engineer deploying nodeJS applications.

AWS EC2/ECS

I'm familiar with packer and docker to describe the environments the applications will run under. Additionally, i've built applications with only EC2, EC2 and ECS, and fargate. Each deployment taking into account the merits of each infrastructure setup.

I've worked with AWS EC2/ECS for years deploying production ready applications for clients and employers.

AWS VPC

With my experience with EC2/ECS it's natural I understand many aspects of AWS VPC configuration. I've setup many different VPC configurations depending on client expectations and security concerns. This includes: subnets, vpc links, NLBs,ELBS, ALBs, DNS...

Like EC2/ECS, this is something I do daily.

Infrastructure as Code

I'm aware of all the benefits of describing your infrastructure in code. I have used terraform extensively, and have experience with the serverless framework and cloudformation. This experience ranges from configuration drift, state locking and other quirks associated with this area.

I have worked for a company were I was expected to deploy a complete replica of infrastructure for new clients within a few hours. This required me to know the pitfalls of large scale deployments everyday.

Numerical Methods

Numerical methods are ubiquitous in all fields of physics. I have found and ran many numerical solutions to equations ranging from fluid dynamics to capacitance and inductance in semiconductors.

The most notable example of this is when I simulated and ran experiments to characterize irradiated semiconductors.

Field Theories

My experience with fields theories in concerned with quantum mechanics and general relativity. Quite a selection of esoteric fields but this knowledge is rooted in Lagrangian mechanics and is therefore applicable to many areas of physics.

My masters was concerned with using fields theories to solve problems on a daily bases.

Statistical Mechanics

My knowledge of this area was mainly concerned with thermodynamics and understanding state and path functions. This allows me to employ the foundation of thermodynamics to many different physical systems. Even ones which do not look thermodynamic in nature from the offset.

I used this knowledge in course work and research projects for my masters.

Calculus and Algebra

Calculus and algebra is used in all areas of physics. I have used these tools to solve problems in most areas in physics.

Serverless

My understanding of serverless is purely with AWS lambda and AWS API gateway. I have used these tools to deploy many APIs with a range of different lambdas.

My experience of this comes from working as a devops engineers. I was lucky enough to frequently change lanes and work as a backend engineer. This allowed me to not only build many lambda applications but also deploy production ready functions linked to CI/CD pipelines.

CI/CD

I have built CI/CD tools using AWS codepipelines. This includes deployments to ECS, lambda, s3 and npm. Each pipelines had to run unit, integration and e2e tests depending on the type of resource we were deploying.

This was one of my main focuses as a devops engineer: Designing, building and maintaining hundreds of pipelines.

Monitoring and Logs

I'm experienced with log and metric management. This means collecting logs from every application and resource we have and allowing it to be searchable using elasticsearch. Metric management is critical in making sure no resource fails or is over/under utilized.

This was a essential part of my devops role and therefore I have a lot experience with this.