About Me

Hi, I'm Sarah Anderson, I'm currently a Senior Software Engineer and have been programming since the age of 12. In 2015, I Graduated from London Metropolitan University with a First Class Honours in Computer Games Programming. Since then, I have had many roles in the software industry, from Web Developer to Senior Software Engineer.

In my spare time, I like to work on a variety of personal projects, most of which are some kind of video game. I am also an avid gamer and like to play everything from grand strategy to monster taming games. As a gamer I also enjoy board games and have my own extensive collection which I use to host board game nights with both friends and coworkers, during my time at Digital Fineprint, I hosted a weekly board game evening in the office for all members of staff.

Roles

In January 2019 I started working for Digital Fineprint an Insurance Technology startup aimed at providing data solutions to UK insurers. I initially started as a mid-level software engineer, but was promoted to senior software engineer in December 2019. During my time, I aided in maintaining and improving the existing systems with a particularly focus on improving data gathering capabilities, improving the speed of the system by 200 times. I also took the lead on redeveloping all the systems to use server-less architecture such as AWS Lambda, AWS Batch, AWS API Gateway etc, with my role in this to design the architecture and the deployment methods for these new systems and tackle the more complex programming tasks that would be required whilst delegating smaller tasks to more junior members of the development team.

From July 2017 to January 2019, I had been working for Business Data International LTD and its sister company’s Growing Minds International LTD, Newsvend LTD and Business Sale Report LTD. In this role, I undertook the modernization of several of our websites to the latest version of Laravel, these included two websites built on a zend framework 1 back-end, one built with typo and another built using AppleScript. On top of this I also constructed a WordPress website with a custom theme.

Beyond my role as a developer, I also oversaw all the IT Systems. This included transferring the largest site from a Linux server over to an AWS, and maintaining another Linux server with WHM which hosted our other sites, as well as maintaining an internal windows server we used to host a local copy FileMaker server.

From October 2015 to June 2017, I was working at Billericay IT which also trades under the names of Basildon IT and Billericay Web Services. My Primary role was front-end and back-end website development using existing content management systems (CMS), and our own in house CMS and maintaining these websites. On top of website development, I also managed the virtual server that hosts all the websites we had developed. Occasionally, I also provided remote support for clients that had issues with their websites and emails.

Skills

Python: From building APIs, writing repeatable batch scripts, implementing AI models, I have used Python across almost all systems I worked on at Digital Fineprint.

AWS: In my roles at Business Data International LTD and Digital Fineprint, I have gained extensive knowledge of many of the core AWS products, these include, EC2, ECS, Lambda, Step Functions, Batch, API Gateway, Fargate, Cloudwatch, Route 53, SQS, RDS, Athena, Glue and S3

PostgreSQL: At Digital Fineprint, we used PostgreSQL as our database engine of choice and it was the data storage solution for many of the systems.

PHP: Across all my roles, I have used PHP to develop and maintain a variety of systems, from websites to APIs

MySQL: During my time at Billericay IT and Business Data International LTD, MySQL was the only database engine we used and was the data store for all systems.

Laravel: I have used Laravel primarily whilst as Business Data International LTD, where I used it to redevelop all their sites.

Java: My first experience with Java was at university where we were required to build a 3D game for android devices using the OpenGL Graphics Library. Since making that, I have created various personal projects using Java.

C#: During my first year of uni, we were taught the C# language along with the XNA Game Studio for which I eventually developed my first game which was a two player side scrolling bullet hell. Then in my second year I used it to write a serial port interface for a custom PC controller I had made as part of the Digital Toy Design Module

HTML: One of the modules we learnt in my first year of university was Website Development. During this module we were taught the basics of web development using HTML to create our own portfolio website that we would keep updated throughout university. Since graduating, I have used HTML in all my roles.

CSS: I first learnt about CSS during the Website Development module at university where we were taught the basics of CSS. In the years since I have used it extensively and gained a large sum of knowledge.

JavaScript: In my Website Development module at university we were required to build a game with a theme of ghosts in JavaScript with a HTML Canvas and I also used to to animate certain elements of my portfolio website. In the years since university, I have had many chances to work with JavaScript and JavaScript libraries including jquery, three.js and chart.js.

Zend Framework: A number of websites run by Business Data international were running on Zend Framework 1, and it was my responsibility to keep these maintained and add new features.

WordPress: During at Billericay IT and Business Data International, I have used WordPress to create a a variety of websites using existing themes and creating our own, as well as creating and implementing custom plugins.

Adobe Suite: Throughout university and at work, I have gained a lot of experience using a variety of adobe products, including Photoshop to edit images, illustrator and fireworks to create graphics and Dreamweaver for web development.

C++: Whilst at university, I was taught how to develop applications and games using C++ and a variety of C++ libraries including OpenGL and DirectX. With this knowledge, we were required to create a variety of applications, including a physics simulation of a spacecraft landing, a demonstration of AI techniques and a group project.

ARM: To get us familiarized with the necessity of memory management when developing games, my university tasked us with making a functional game for the Game boy Advance which used the ARM Assembly language.

ActionScript: In my first year of university, to get us accustomed to working with the artists course, we were required to make a flash game using actionscript.

OpenGL: In a variety of my projects at university, I choose to use the OpenGl Graphics Library to provide the basic rendering functions of my games. I used the graphics library to make a variety of advanced rendering techniques such as shadow mapping which creates realistic dynamic shadows and deferred lighting which allows for hundreds of dynamic lights with little GPU cost.

DirectX: For a handful of my projects I used the DirectX graphics library for rendering functions. With this graphics library, I created advanced bump mapping and normal mapping which would allow for lower poly models without the usual lose of lighting detail.

GLSL: GLSL or GL Shading language as its known, is used to provide the GPU with instructions on how polys and textures are rendered and outputted. I taught myself GLSL during my second year at university so that I could create games with far greater graphical integrity.

HLSL: HLSL or High Level Shading Language as its known is also used to provide the GPU with instructions on rendering, but it is limited to only windows devices. I learnt HLSL as part of my third year group project so I could implement bump mapping and normal mapping into the game.