Back-end Cloud Developer2022 - 2022Hype Labs Inc.
- Developed a REST API web server (Express on Node.js) to ingest data from worker nodes and expose aggregations to dashboards. Completed each sprint's targets on time and delivered a fully-deployed and end-to-end tested server by the deadline.
- Defined and ran a Substrate-based blockchain and integrated this into the web server via Polkadot for real-time charging of pilot customer wallets.
- Determined the schema and defined the automated migration for a PostgreSQL database. Tested performance on hotspots with refined queries and indices so that database throughput and order of magnitude were higher than required.
- Containerized the application using Docker and authored the CI/CD process using Bitbucket Pipelines for deployment onto the EC2 node. Wrote custom shell scripts for deployment on the bare node and guided the in-house team's transition to Beanstalk.
- Wrote automated tests for codebase covering all components and integrated with CI build. Added ESLint rule after async-related bug to pre-emptively catch all future issues of that type.
- Shared my technical knowledge and experience with the product owners when discussing potential features and direction of travel for the pilot and listened to the business case in order to advocate practical and effective choices.
Back-end Developer2022 - 2022Flint Hills Resources
Technologies: Node.js, TypeScript, Prototyping, Proof of Concept (POC), API Design, Fastify, Graph Databases, Neo4j, Solution Architecture, Software Architecture, JSON, Performance, Requirements Analysis, API Gateways, JSON Web Tokens (JWT), Authentication, AWS, AWS Lambda, Serverless Architecture, Continuous Delivery (CD), Continuous Integration (CI), CI/CD Pipelines, Software Design, System Architecture Design
- Collated limitations of existing systems and requirements for a replacement from users and used these to design and document an improved proposed architecture with target metrics at each stage.
- Developed, built, and deployed a proof of concept of this architecture using Fastify on Node.js, mocking out the real-world lambdas with various endpoints to reflect different conditions, like response size, time, etc.
- Wrote automated unit and integration tests of the PoC with Jest to validate invariants' correctness and design intent documentation. Over 90% coverage was achieved.
- Presented demo of architectural decisions to the client team. My clear articulation of my design uncovered a significant underlying issue in the client's existing architecture, prompting an early rethink and saving over $10 000.
Software Architect | Senior Developer2020 - 2022Envision Digital
Technologies: Python, Java, MQTT, IoT Security, Internet of Things (IoT), EnOS, Docker, Serverless, Flask, Open Charge Point Protocol (OCPP), Software Architecture, Solution Architecture, Algorithms, HTTP, MongoDB, Apache Kafka, Monitoring, Performance, Microservices, Kubernetes, Testing, Manual Testing, NoSQL, Spring Boot, Distributed Systems, Containerization, Async/Await, DevOps, CI/CD Pipelines, Continuous Integration (CI), Continuous Delivery (CD), Cloud Platforms, Engineering, Software Design, System Architecture Design, Project Planning, Leadership, Scalable Application, Scalable Architecture, PIP, RDBMS
- Designed the project's architecture from the ground up, taking theoretical algorithms and building out the multiple services, APIs, and infrastructure needed to execute these in a robust and performant context.
- Prototyped ideas arising from the theoretical side of the team, allowing them to observe the results in situ and have the freedom to try several ideas per week with concrete feedback.
- Oversaw the development across a team of four developers, drawing on my experience to convey the pros and cons of different methods, ensuring that all developers had a solid understanding of the problem, the likely pitfalls, and the desired solution.
Chief Technology Officer2020 - 2022EDA Family Solutions
Technologies: Amazon Web Services (AWS), APIs, Code Review, JSON Web Tokens (JWT), SQLAlchemy, Front-end, Full-stack, Front-end Development, Back-end Architecture, Mobile App Development, Mobile App Design, Team Mentoring, Technical Leadership, HTTP, REST APIs, Interviewing, Recruitment, CTO, Trello, GitHub, Docker, Unit Testing, App Store Acceptance Process, Agile Deployment, Continuous Integration (CI), AWS Elastic Beanstalk, AWS, Xcode, iOS, Flask, PostgreSQL, Swift, Python, Firebase, Firebase iOS SDK, Amazon EC2 (Amazon Elastic Compute Cloud), Digital Payments, AWS ELB, AWS RDS, Distributed Systems, Containerization, Async/Await, Cloud Platforms, Engineering, Amazon S3 (AWS S3), Software Design, System Architecture Design, Project Planning, Leadership, Scalable Application, Scalable Architecture, Mobile, PIP, RDBMS
- Evaluated technical architecture options, balancing performance concerns, price, feature set, future-proofing, reliability, and ease of integration. Established and built-out tech stack that hits our requirements on all these factors.
- Authored and revised workflows across the tech team, reduced developer onboarding headaches, and avoided style, structure, and integration conflicts.
- Planned roadmaps with other CXOs, reporting technical progress and highlighting technical risks in non-technical terms. The conclusions were realistic and balanced, indicating a good understanding of the situation and constraints.
- Architected, developed, and implemented a child-safety iOS application in Swift (7,000 lines of code), integrating with the Python (Flask) back end, emphasizing a minimal working set of user information for privacy and ethical concerns.
- Managed and mentored junior developers, mixing coaching with more administrative and pastoral aspects. The developer reports show they are thrilled with the set up and are learning a lot.
- Tracked, prioritized, and resolved bugs and feature requests via GitHub and Trello. Reviewed the other developers' branches and collaborated with those reviewing mine, picking up bugs and design issues before entering the codebase.
Core Technology Senior Developer2010 - 2019GSA Capital
Technologies: Java 11, Banking & Finance, RabbitMQ, APIs, Python, Solution Architecture, Software Architecture, Fintech, Financial Services, Back-end Development, Full-stack, API Integration, Architecture, Financial Modeling, Requirements Analysis, Performance, API Architecture, App Support, Deployment, Team Mentoring, Project Management, Bug Triage, Git, Hudson, Bash Script, SQL Server 2012, AngularJS, Java, Scala, Testing, Manual Testing, Node.js, Cron, React, Express.js, Elasticsearch, ETL, Object-oriented Programming (OOP), Object-oriented Design (OOD), IPC, DevOps, TypeScript, Clean Coding, CI/CD Pipelines, Databases, TIBCO, Web Scraping, Real-time Data, Web Development, Software Design, System Architecture Design, Project Planning, Leadership, Scalable Application, Scalable Architecture, Microservices, PIP, RDBMS
- Led the development of the Alpha capture system, used by over 30 major banks and trading houses, generating £5 million in annual revenue.
- Architected, implemented, tested, and deployed the real-time charge calculator, tagging two million trades daily with over 20 types of configurable charges and commissions.
- Handled the out-of-hours support on rotation, minimizing disruption to time-critical processes through a full understanding of the internal and external systems empowering my decision-making process under pressure.
- Acted as an early adopter, evangelist, and advisor for Scala within GSA, which reached 90% take-up within the core and became the common language across all teams.
- Advanced the CI practices within the team. Deployed a prototype set up as a proof-of-concept, tuning it to incorporate our custom deployment steps and getting widespread buy-in for integration. Removed 99% of manual work and errors around deployment.
- Collaborated closely with my colleagues in the operations and trading teams to understand the details of their roles and incorporate this knowledge into the designs of systems they used. Named "most valuable colleague" several times due to this.
- Refactored a trade capture system serialization protocol at the heart of GSA's business. Extensive testing and careful three-phase deployment allowed this to go live with no downtime or errors and resulted in a 20-time increase in throughput.
- Liaised with the infrastructure team to determine the hardware setup required for each application, then commissioned and acceptance-tested it.
- Mentored and supervised the junior developers joining the team, sharing programming and business knowledge so new hires could pick up first-line support within three months of joining.
- Designed and maintained internal representation of financial products as a database and library (API). Integrated stakeholder information and understanding of financial services to cleanly model over 100,000 products across dozens of asset classes.
Associate Developer2009 - 2010IHS Markit
Technologies: Banking & Finance, APIs, Oracle, Oracle PL/SQL, XML Web Services, HTTP, Mentorship & Coaching, Subversion (SVN), Git, Sonar, JProfiler, Hibernate, Hudson, jMock, Unit Testing, Spring, Back-end, XSLT, XML, Java, Algorithms, Enterprise Java Beans (EJB), Testing, Manual Testing, Hibernate 3, Object-relational Mapping (ORM), Object-oriented Programming (OOP), Design Patterns, Databases, Web Development, Software Design, System Architecture Design, Project Planning, Scalable Application, Scalable Architecture, RDBMS
- Refactored the web app upload process, leading to a performance improvement by one order of magnitude and the acceptance of a new account of £70,000.
- Improved team productivity by introducing workflow tools, including Git, Hudson, JProfiler, and Sonar. This reduced the "code freeze" period around releases from two weeks to one day and enabled parallel development.
- Maintained documentation on the in-house wiki, focusing on relevance, correctness, and applicability. Praised by the manager for these efforts when other developers found it simple to take over basic maintenance and troubleshooting when needed.
- Designed, prototyped, and implemented scalable grid architecture for distributed calculation, which enabled the company to sign larger accounts (£3 million in expected revenue stream) and expand coverage to offer risk valuations.
- Reorganized the build process, removing fragile dependencies and refactoring unclear targets, saving an estimated 100 working hours a month on slow and broken builds and immeasurable improvements in morale and workflow.
- Mentored colleagues and developed their abilities in one-to-one and informal group training sessions.
- Automated the webserver validation process with Hudson and Nagios, saving around ten working hours a month of manual intervention and garnering commendation for the monthly meeting initiative.
- Wrote and monitored the automated test suites, which included the first full definition of correct behavior. While incomplete on my departure, this raised coverage from 11% to over 60% on the packages concerned.
- Replaced the custom database persistence library with Hibernate version, reducing defect report rate by over 90% and enabling developers to fix issues faster by one order of magnitude.
Java Developer2006 - 2009Site Intelligence
- Reworked the input parsing code underlying the whole application to run multithreaded. Performance gains of 540% enabled us to take on larger accounts returning an immediate £200,000 in licensing revenue.
- Created an email service integration module from initial specification to testing and delivery. This module was licensed for £55,000 in revenue in its first year.
- Consulted with management to plan a feature set for future releases. The solid estimates and feedback on potential technical roadblocks improved the consistency of release delivery.
- Completed the ongoing development across multiple modules, including estimation, development, testing, time tracking, and liaising with the technical author.