Summary
Overview
Work History
Education
Tech Stack
Engineering Projects
Hobbies and Interests
Timeline
Hi, I’m

Henry Cowan

Christchurch,CAN

Summary

Software engineer with 3 years of industrial experience. Python and embedded developer. Graduate from the University of Glasgow with a master's degree in biomedical engineering (first-class honours). Independently developed IoT and embedded system prototypes as well as large data analytics flows for client-facing applications. Experienced with cloud applications, databases, Spark and API writing/leveraging. Proficient with CI/CD tools and navigating multi-tiered code repositories. Highly self-motivated and responsible engineer who has integrity in their work. Looking to use software expertise to develop practical applications and enhance Industry 4.0.

Overview

3
years of professional experience

Work History

I.L.R Limited

Software Developer
01.2024 - 05.2024

Job overview

Employed on a three-month temporary contract to develop a mobile application to to update firmware/download logs and query device status over the air to hundreds of BLE enabled devices. Project had a strict 3 month timeline in which I learned new communication protocols and languages to create a client product used in production.

  • Application was written in Flutter/Dart.
  • Device-side code was written in C on a Zephyr OS.
  • Communication protocol was BLE.
  • Google API integration included for storage and authentication.
  • Application was deployed on Android devices and iOS devices via Testflight.

JP Morgan Chase and Co.

Python Software Engineer II
09.2022 - 06.2023

Job overview

Employed in a multi-national Credit Risk Analytics AI/ML team, tasked with the development of Python/Java applications leveraging databases, AWS services and Spark infrastructure.

  • Gained expertise in software developmental practices from one of the largest software companies in the world.
  • Implemented and deployed production-level Python analytics projects to analyse client data using AI/ML models.
  • Led the team's transition from internal Hadoop platforms to external AWS services.
  • Leveraged AWS services such as S3, EMR, EC2, IAM policy management and Lambda.
  • Provided regular Python and Linux infrastructure support for a team of data scientists.
  • Created CI/CD recipes for automated code-scans, code deployment and unit-test coverage.
  • Performed bash scripting and automation for code deployment and execution in the cloud.

Novosound

Software Engineer
01.2021 - 10.2022

Job overview

Employed in a Scottish-based NDT and wearables company developing novel ultrasonic solutions for industrial and medical markets. The role was split into embedded software design and IoT full-stack development.

  • Independently developed embedded software for a variety of microcontrollers and FPGAs.
  • Performed system design for ultrasonic Tx/Rx PCBs with internet communications.
  • Performed prototype system design for novel IoT frontends and backends.
  • Created relational databases and interfacing GUIs to store data and efficiently query data for AI/ML processing.

Education

University of Glasgow
Glasgow

Master of Engineering from Biomedical Engineering
09.2020

University Overview

  • First-class honours.
  • Achieved Engineering Excellence award for high academic achievement (2020).
  • Dissertation published: PLoS One. 2022; 17(11): e0277974. Real-time noise cancellation with deep learning.

Tech Stack

  • Core Programming: Python, C++/C, Dart, Bash.
  • UI/Web: Django, HTML, Flutter.
  • Cloud Platforms: AWS, Google, Digital Ocean.
  • Big Data: Spark, Hadoop, AWS EMR.
  • CI/CD: Terraform, Docker, Jenkins, Travis.
  • Databases: SQLLite, S3, PostgreSQL.
  • Repository Management: Git, Bitbucket, Sourcetree.
  • Operating Systems: Windows, Linux.
  • Microcontrollers: Arduinos, ESP32s, nRF840s, RPis.
  • Networking Protocols: HTTP/HTTPS, TCP, UDP, MQTT.
  • Communication Protocols: Protobuf, BLE, I2C, SPI.
  • Component Experience: ADCs, DACs, RAM, FPGAs.


Engineering Projects

News-Digest Python Analytics Project - JP Morgan Chase and Co.,  Oct 2022 - Dec 2022  

  • Led a project to create and autonomously distribute digests of relevant news to the respective credit officers.
  • Python scripts executed using PySpark running on EMR clusters, performing large SQL queries from several data sources, data processing, restAPI calling and data storage with event-driven notifications to downstream consumers.
  • Employed a series of different AWS services for data storage and compute.
  • Learned useful skills in large-data management, bash scripting, storage and query optimisation for AI/ML applications.

 

Hadoop EMR Migration - JP Morgan Chase and Co., Jan 2023 - Mar 2023  

  • Led the team’s migration from on-premises Hadoop infrastructure to external public-cloud AWS EMR infrastructure.
  • Leveraged AWS APIs and internal restAPIs to control and monitor EMR clusters and submit Spark jobs to the clusters.
  • Created a Terraform recipe to provision AWS resources programmatically for our application.
  • Integrated the bespoke API service into our internal orchestration application written in Java (Spring Boot).
  • The service was critical to execute all production-level Python flows for our team of 12 developers.


Realtime IoT Full-Stack - Novosound, Jan 2021 - Apr 2021  

  • End-to-end development of IoT system for autonomous, real-time monitoring of client assets.
  • Implementation of embedded communications from in-house PCB's to consumer Edge devices (SPI protocol).
  • Multi-threaded MQTT reception servers connected to 5-10 clients in parallel.
  • Data computation, digital filtering and storage on virtual Linux machines and databases hosted in the cloud (DigitalOcean).
  • Image and data processing of real-time data to bespoke client-facing dashboards.
  • Relational database schema creation and data routing for future AI/ML optimisation.


Rapid XYZ Ultrasonic Dental Scanner - Novosound, Apr 2021 - Apr 2022  

  • Developed a control system and data pathway for a dental scanner using high-speed TCP/IP comms with an accompanying graphics viewer to view reconstructed 3D acoustic models of the mouth:
  • Server implemented in Python, client implemented in C, 500Mbps transfer rates.
  • Interfaces with multiple hardware items, with complex real-time hardware interrupts (encoders, actuators, ultrasound probes, scopes, pulsars).
  • 3D files of scanned object and displayed in a bespoke OpenGL graphical viewer with accompanying image-processing techniques for image-enhancement.


Personal Project - Django Climbing Log - Continuous

  • Created a website using Django framework for logging all of my climbing achievements.
  • Website hosted on AWS EC2 with appropriate firewalls and routing.


Personal Project - Games - Continuous

  • Developed video games using SFML/OpenGl on C/C++.
  • Games employ 3D physics algorithms and terrain generation.

Hobbies and Interests

Rock climbing is my passion. I have been climbing since the age of 12. I have a broad experience in all forms of climbing: indoors, outdoors and competitive. Climbing has taught me the value of perseverance, risk-management and motivation, all of which I use to approach any challenges I'm confronted with.

Timeline

Software Developer

I.L.R Limited
01.2024 - 05.2024

Python Software Engineer II

JP Morgan Chase and Co.
09.2022 - 06.2023

Software Engineer

Novosound
01.2021 - 10.2022

University of Glasgow

Master of Engineering from Biomedical Engineering
Henry Cowan