James McMahon, Full-stack Developer in Lancaster, United Kingdom
James McMahon

Full-stack Developer in Lancaster, United Kingdom

Member since August 2, 2021
James is a full-stack developer with several years of wide-ranging experience in web and mobile system development, using multiple languages (JavaScript, Python, and Ruby) and frameworks (Ruby on Rails and Flask). James excels at writing highly optimized distributed code in the context of microservices for web applications and distributed robotics hardware systems. Having been a software developer in the past, James understands the importance of effective communication and being a team player.
James is now available for hire

Portfolio

  • Resolve Robotics
    C++, .NET, Python, MQTT, Robot Operating System (ROS), Unity...
  • Insiris Ltd
    Kotlin, Ruby on Rails (RoR), Angular, Flutter, Google Kubernetes Engine (GKE)...
  • Escendency Ltd
    Sencha UI, .NET, NancyFx, MongoDB, C#.NET, Ext JS, VB.NET, Python, C#...

Experience

Location

Lancaster, United Kingdom

Availability

Full-time

Preferred Environment

IntelliJ, Ruby on Rails (RoR), Django, Kotlin, Flutter

The most amazing...

...optimization I've worked on involved taking a scheduling system that used to take five minutes per run and improved it to run in five seconds.

Employment

  • Senior Software Engineer

    2020 - PRESENT
    Resolve Robotics
    • Chose the software stack for controlling a novel inspection robot, including the microcontroller code for driving the motors, the app code to orchestrate the microcontrollers, and the network code so the robot can communicate with the 3D user interface.
    • Managed a small team for the preparation and presentation of the inspection robot demonstration.
    • Developed a highly optimized 360° object detection system that utilized four pairs of monocular cameras for use in underwater environments.
    Technologies: C++, .NET, Python, MQTT, Robot Operating System (ROS), Unity, Simultaneous Localization & Mapping (SLAM), C#.NET, Flask, C#, Linux, Databases, REST APIs, JSON, Embedded C, Data Compression, User Permissions, Microservices, HTML5, Solution Architecture
  • Software Developer

    2018 - 2020
    Insiris Ltd
    • Improved the efficiency of the PLA scheduling service from five minutes to five seconds of runtime (Kotlin, Ktor).
    • Developed the new WebSockets user interface to show real-time updates from the scheduling service.
    • Implemented work order management system using Ruby on Rails services and gRPC for service to service communications.
    • Built the in-house user-defined type-and-form system using Rails with dynamic migrations and per-customer database connections; also implemented the advanced search functionality using joins between tables on different connections.
    • Constructed the cross-platform JavaScript evaluation in both the iOS and Android Flutter apps with asynchronous callbacks to read/write values to the user-defined forms which were rendered with the Flutter engine.
    Technologies: Kotlin, Ruby on Rails (RoR), Angular, Flutter, Google Kubernetes Engine (GKE), Kubernetes, Android, iOS, Ktor, WebSockets, Linux, Swift, JavaScript, Docker, Node.js, SQL, HTML, CSS, Firebase, Google Cloud Platform (GCP), Databases, REST APIs, JSON, MySQL, Mobile, Encryption, User Permissions, Microservices, HTML5, APIs, Solution Architecture
  • Lead Software Developer

    2015 - 2018
    Escendency Ltd
    • Developed the company's flagship offering which involved a migration from Ext JS 3 directly to 6 and rewriting a VB.NET back end in C#.NET.
    • Added MongoDB alongside an SQL Server database by using the two databases appropriately according to different data categories.
    • Implemented 2-factor authentication with the Google Authenticator app.
    • Directed a small team and mentored graduate developers which included assigning tasks based on experience in order to ensure all team members were familiar with the full codebase where possible.
    • Extended the system to allow parents to view their child's records which included implementing a powerful access control system to preserve pupil data confidentiality but maintain convenient access.
    • Designed and implemented a database backup strategy to reduce maximum data loss from one day to 15 minutes.
    • Redesigned the deployment system from a single physical server to redundant deployments on multiple virtual machines, distributed across a multi-machine cluster.
    Technologies: Sencha UI, .NET, NancyFx, MongoDB, C#.NET, Ext JS, VB.NET, Python, C#, JavaScript, SQL, HTML, CSS, Firebase, Amazon Web Services (AWS), Databases, REST APIs, JSON, ASP.NET, Encryption, User Permissions, HTML5, Electron, APIs, Solution Architecture
  • Software Developer

    2013 - 2015
    InTouch Ltd
    • Built the in-house forms system using Django and dynamic database migrations.
    • Developed address lookups which also accounted for user misspellings and missing lines of data.
    • Refactored the iOS app to reduce compiler warnings from over 200 warnings to fewer than ten all without impacting app functionality.
    Technologies: C#.NET, Django, Python, jQuery, iOS, .NET, C#, XML, Linux, JavaScript, SQL, Android, Dart, HTML, CSS, Bootstrap, PostgreSQL, Databases, REST APIs, JSON, Mobile, ASP.NET, User Permissions, HTML5, APIs

Experience

  • Token Authentication for Django
    https://github.com/James1345/django-rest-knox

    A Django application for secure token authentication.

    I wrote the first version and still contribute patches occasionally. A dependant project's team has supported the few changes that have been needed over its lifetime.

  • FlightVM
    https://bitbucket.org/james1345

    A pure Dart stack-based virtual machine and Forth-like language for adding dynamic scripting to Flutter projects. Allows dart objects and methods binding to the VM, using a syntax inspired by Lua's C-API. The Dart API also allows the interpreter to be reconfigured on the fly, leaving space for different compilation modes and extensibility.

Skills

  • Languages

    Python, Kotlin, C#.NET, C#, JavaScript, SQL, Dart, C++, Java, XML, HTML, CSS, Embedded C, HTML5, TypeScript, VB.NET, Swift
  • Frameworks

    Ruby on Rails (RoR), Django, Flutter, Ktor, NancyFx, Bootstrap, ASP.NET, Unity, Angular, Ext JS, Flask, Electron
  • Libraries/APIs

    REST APIs, Node.js, jQuery, React
  • Paradigms

    Agile, Microservices, Compiler Design
  • Platforms

    Linux, Android, Docker, Amazon Web Services (AWS), Mobile, Kubernetes, iOS, Firebase, Google Cloud Platform (GCP)
  • Storage

    Databases, JSON, MongoDB, Redis, MySQL, PostgreSQL
  • Other

    Software Development, User Permissions, WebSockets, Encryption, Data Compression, APIs, Solution Architecture, Robot Operating System (ROS), Simultaneous Localization & Mapping (SLAM), Risk Management, Digital Forensics, Ethical Hacking, Physics Simulations, AWS
  • Tools

    MQTT, IntelliJ, Google Kubernetes Engine (GKE), Sencha UI

Education

  • Master's Degree in Cybersecurity
    2013 - 2018
    University of Lancaster - Lancaster, UK
  • Bachelor's Degree in Physics
    2010 - 2013
    University of Lancaster - Lancaster, UK

To view more profiles

Join Toptal
Share it with others