Software engineer and engineering manager with 10+ years of experience working on web applications that solve real business problems and offer a delightful user experience. Focused on building maintainable and reliable software, as well as creating and leading high-performing and empowered teams.
Experience
Staff Software Engineer
SimSpace, Montreal
- Led the development of a highly requested feature to help automate scoring for Cyber Range training events, introducing new techniques to the team such as rapid prototyping, using real data for development and testing, collaborative technical design sessions, and using asynchronous APIs for long-running tasks
- Worked on internal guidelines and best practices for building web services in Haskell, notably to standardize and simplify the patterns used in the code, and improve the maintenance and onboarding experience
- Coordinated the work of an external team of consultants for a major compiler upgrade on the organization's largest Haskell codebase
Engineering Manager
SimSpace, Montreal
- Engineering manager leading a high-performing and cross-functional feature team composed of product owner, UX designers, frontend and backend engineers
- Improved product delivery flow by establishing clear product requirements, technical designs, meeting notes, increasing frontend and backend collaboration through pairing and API documentation, and building a sense of product ownership among engineers
- Helped create and staff a separate infrastructure team with a focus on CI/CD platform and developer tooling, increasing overall productivity of the engineering organization
- Created a centralized internal engineering documentation site which improved knowledge sharing and retention, with content authored in Markdown that is searchable, discoverable, and version-controlled
Senior Software Engineer
SimSpace, Montreal
- Backend software engineer, worked on core web platform providing Cyber Range management and Network Specification editing capabilities
- Planned, designed, and implemented major features such as a library of reusable network elements (virtual machine templates, configuration modules)
- Improved the onboarding experience of software engineers by creating a new hire checklist, recording product walkthroughs, and generating a seed database to bootstrap local environments
- Technology used: Haskell, TypeScript, PostgreSQL, Kubernetes
Senior Software Engineer
Busbud, Montreal
- Full-stack web developer working on the customer website (busbud.com), as well as backend services (REST API, internal tools)
- Delivered major projects by communicating with stakeholders, designing data models and interfaces, producing technical specifications, and coding the implementation
- Increased confidence in deployment and code maintainability, by introducing TypeScript and other static analysis tools, leveraging a new end-to-end testing framework, improving monitoring and logging, and prioritizing tasks to reduce technical debt
- Improved website performance, by reducing client-side JavaScript bundle sizes, finding opportunities to optimize code execution, implementing pagination for the search page
- Grew the team by interviewing candidates, onboarding new team members, writing documentation, being a prolific code reviewer, mentoring and teaching (gave lunch & learn presentations on TypeScript, and Algebraic Data Types)
- Technology used: TypeScript/JavaScript, Node.js, React, PostgreSQL, Redis
Web Developer
Self-employed, Montreal
- Worked with a startup to build the prototype of a solution that helps small businesses manage their data (Haskell, Node.js)
- Built the interface of an MVP used to explore a large database of industry data and visualize key metrics (React, Python)
Contract Web Developer
Tidepool, Paris & Montreal
- Worked remotely for the non-profit organization whose mission is to reduce the burden of Type-1 Diabetes
- Helped build the core platform which synchronizes diabetes data from many medical devices
- Built with a small team of developers the MVP version of Blip, a web-based data visualization tool
- Technology used: JavaScript, React, Go
Data Analyst
FreshDirect, New York
- Built a web application that aggregates data from multiple systems and generates a demand forecasting Excel sheet
- Implemented a pilot program that uses an innovative cloud-based product forecasting service
- Wrote and implemented several scripts to transform and load data, as well as automate redundant tasks
- Technology used: Python, Java, Apache POI
Student Project
Google, New York
- Managed a team of students from Columbia University on a project for Google's Operations Research group
- Used Python to simulate job scheduling in data centers and optimize the algorithm to decrease power consumption
Intern Consultant
Cylad Consulting, France
- Worked with a team of consultants for Airbus on the project planning of the Airbus 350 XWB
- Developed an Excel VBA tool to create Gantt charts from the main scheduling platform's data
Education
Columbia University
MS in Operations Research, New York
- Selected coursework: Deterministic and Stochastic Models, Corporate Finance, Entrepreneurship, Supply Chain
Ecole Centrale de Nantes
MS in Industrial Engineering, France
- Selected coursework: Probability and Statistics, Calculus, Economics, International Strategy
Skills
Languages
TypeScript, Haskell, Go, Rust
Technologies
PostgreSQL, Redis, Docker, Kubernetes