Experienced software engineer with with solid abilities in frontend and backend web development. I enjoy pushing myself to master new languages, frameworks, design patterns and programming paradigms.
Most experience | Some experience | Dabbled | |
---|---|---|---|
Languages | Python, TypeScript, Javascript, TypeScript, HTML5, CSS3 | SQL, C++ | Go, Haskell, C, Erlang, Elixir |
Frameworks and libraries | Django, Django REST Framework, Tornado, Redux | Qt, React, Jest, JQuery, Flask, Celery | Aiohttp, Ansible, Jasmine, Knockout, Google App Engine, Google Cloud Endpoints |
Databases, caches, message brokers etc. | Redis | SQLite | RabbitMQ, MongoDB |
Other | Ubuntu Linux, Git/Github, VSCode, Sublime, Vim |
- 2021 – current: Senior Software Engineer, Cydar Medical
- 2017 – 2020: Front End Software Developer, Cydar Medical
- Member of development team for a growing medical SaaS company, providing cloud-based fusion imaging for surgical guidance.
- Created front-end of a project to allow clinicians make adjustments to aorta overlays during endovascular procedures. Implemented using Redux, Typescript, Jest and Python.
- Assisted with the design of an overhaul of Cydar's internal content-addressable storage service. Prototyped a "shared streams" mechanism allow more efficient downloads when multiple clients access the same files concurrently, using Python, Asyncio, Aiohttp and Boto.
- Worked on front-end and API endpoints for "Dynamic Morphology Correction" feature, using Typescript, Three.js, Python, Tornado and JSON-Schema.
- Led development of a cloud-based solution for presenting native 3D accelerated software in the browser.
- Architected and managed the rewrite of a microservice to orchestrate scaling of large pools of EC2 GPU workers, including a web-based control GUI, an improved incremental scale-down system, and greater reliability.
- 2016 – 2017: Junior Front End Developer, Cydar Medical
- 2010 – 2016: Public Affairs Executive, The London Internet Exchange Ltd (LINX)
- February 2019: Rejection App, github.com/samfrances/rejection
- Frontend application built in TypeScript and React, and using the useState and useReducer hooks.
- February 2019: C++ Two-Player Snake Clone, github.com/samfrances/CppND-Capstone-Snake-Game
- An SDL-based two-player snake clone, developed using modern C++ techniques.
- November 2019: C++ System Monitor App, github.com/samfrances/CppND-System-Monitor-Project-Updated
- A simplified htop clone for monitoring a linux operating system.
- Developed in a test-driven manner using GoogleTest and GoogleMock.
- April 2016: Kalah Game API, github.com/samfrances/udacity-kalah
- Created an API for Kalah, a turn-based two-player "count and capture" board game.
- Written in Python using Google App Engine, Cloud Endpoints and Datastore.
- February 2016: Catalog App, github.com/samfrances/udacity-item-catalog
- Developed a content management system using the Flask framework in Python.
- Authentication is provided via OAuth and all data is stored within a PostgreSQL database.
- November 2015: Swiss Tournament, github.com/samfrances/udacity-swiss-system-tournament
- Designed and created a database for managing multiple Swiss-system tournaments simultaneously.
- Employed advanced SQL features such as views and triggers.
- February 2015: Udacity Movies Website, github.com/samfrances/udacity-movies-website
- Single-page app to display information from the OMDb API, and combine with related trailers from Youtube.
- Combined both front- and back-end technologies, including Python, Bootstrap, JQuery, WSGI, HTML5.
- February 2014: MVC todo list demo, github.com/samfrances/todo-mvc-demo
- Simple Javascript todo list application, written as an exercise in creating an MVC Javascript application, without an MVC framework.
- 2019 – current: Software Development Micromasters, Edx, UBCx
- UBCx: How to Code - Simple Data, courses.edx.org/certificates/889346c63c2741d698ebc739811d0e5b
- 2016 – current: Computational Thinking using Python XSeries, Edx, MITx
- MITx: 6.00.1x Introduction to Computer Science and Programming Using Python, git.io/vK7kh
- 2019 – 2020: C++ Nanodegree, Udacity, confirm.udacity.com/7DDGS6J2
- 2018: JavaScript Foundations, DevAnywhere.io, credential.net/a796d867-1324-4698-bdb1-9f678cff402b
- 2016: Front-End Web Developer Nanodegree, Udacity, confirm.udacity.com/QJCGFPED
- 2016: edX Computer Science, HarvardX
- CS50x Introduction to Computer Science, courses.edx.org/certificates/77c3400beb254e21a843faf77a20b518
- 2015 – 2016: Full Stack Web Developer Nanodegree, Udacity, confirm.udacity.com/XD5UH24D
- 2015: LINX Accredited Internet Technician 1, Systems & Network Training
- 2012 – 2013: Udacity computer science certificates, Udacity
- CS101 Introduction To Computer Science, git.io/vK7OQ
- CS253 Web Development, git.io/vK7Op
- CS255 HTML5 Game Development, git.io/vK73T
- CS262 Programming Languages, git.io/vK73Y
- 2009 – 2010: M. A. Linguistics, University College London
- 2006 – 2009: B. A. Philosophy, King's College London, First Class Honours