Michael McLean

Software Engineer

Bendigo, Australia

Summary

A proactive, pragmatic, and highly analytical Software Engineer with over 7 years’ experience in full stack development, including maintaining a web-based platform with continuous availability, migrating an active service to a distributed cloud-based architecture, automating browser-based user interface testing, and integrating several third-party payment and mailing list services.

Over a decade of experience in ICT Engineering, covering the design and delivery of rolling stock projects has led to a strong background in both software implementation and project delivery.

Skilled in problem solving, critical thinking, independent research, and quick learning with a natural ability to think laterally in order to provide innovative solutions.

Languages:

English

Favorite Python Packages:

Django, requests, stripe, acme, coverage, ipython

Experience

YesCourse R&D - Senior Software Engineer (2016 - Present)

Leads development in several key areas of the framework behind the global online education platform – YesCourse.com, collaborating with the team to continually improve the platform.

Responsibilities
• Assess the feasibility and implement suitable client feature requests.
• Resolve technical bugs in a timely manner, while providing feedback to clients in clear, approachable language.
• Maintain test frameworks and harnesses while improving coverage through both unit tests and automated user interface testing.
• Zero downtime website software deployments.
• Collaborate with the development team to improve the usability and functionality of both the platform, and development tools.
• Follow industry best practises to maintain a clean code base.
• Monitor site infrastructure, and response to any issues that may cause disruption to the services we provide.

Achievements
• Migrated the site from a single-server architecture to a distributed cloud-based architecture.
• Automated the configuration and upgrade of the development environment to ensure a common development platform that duplicates the production environment locally.
• Upgraded multiple payment processing integrations and modernised our backend support while maintaining existing payment services.
• Orchestrated several major upgrades in the server baseline configuration while maintaining the virtual server infrastructure and providing world class up-time.
• Implemented a REST API for external access to academy resources, with documentation according to the Open API specification.
• Expanded the site codebase from handling a specific, singular product, to handling multiple product types in a generic manner, to easily extend the product offerings.
• Reworked the authentication modelling to provide more granular user controls to academy administrators.
• Enhanced internal APIs to better handle data structures and types, greatly easing development and testing of both backend services and frontend behaviour.
• Managed Infrastructure to handle random subdomain DDoS attacks without noticeable interruptions to normal site traffic.


Ricardo Rail - Rolling Stock Technical Advisor (2018 - Present)
Provides software engineering and technical advisory services to support multiple projects for Ricardo Rails’ clientele.
Delivers technical assistance to the design and development of the electronics Train Information System for the High-Capacity Metro Train fleet.

Responsibilities
• Review and implement modification requests to change the existing PLC functionality.

Achievements
• Implemented the Train Information System PLC software solutions compliant to all specifications.
• Aiding in the implementation and debugging of the internal interfaces between the distributed components.


NDYLTK Rail - Railway Systems Engineer (2015-2016)
Developed internal software tools to vastly improve the efficiency of modelling raw client data into a modelling and simulation package.

Responsibilities
• Manage imports of raw data from a variety of sources with varying data quality.

Achievements
• Developed a suite of transfer utilities to move data between CAD and Simulation software environments with ease to provide a significant improvement to workflow.
• Assisted in generating a fully realised model of the Melbourne Tram network from raw mapping data.


Downer Rail - ICT Engineer (2009-2015)
Provided engineering support and expertise for the Electronic Train Information System and world-first Ethernet Train Communication Network, for the Waratah Train Project – 626 new passenger cars for the Sydney network.

Responsibilities
• Create and maintain test instructions to provide full requirement coverage.
• Provide in-depth feedback to the supplier on issues encountered, particularly the intricacies of issues that involved multiple systems

Achievements
• Assisting the supplier with insights into how the software could be modified to fix several key bugs discovered early in the project in both the PLC software and the ethernet network functionality.
• Developed a suite of software tools and documentation, reducing the hours and training required for maintaining the Waratah train fleet

Skills

Ansible, Django, Fullstack Development, Git, Google Cloud Platform (GCP), Gunicorn, JavaScript, Linux, Nginx, PostgreSQL, Redis, Selenium

Joined: June 2019