Overview
Full-stack developer with 9+ years of experience, specializing in front-end web development with modern JS (React, Typescript, ES6+).See specifics:
Contact
Canada
Education
Carleton University
, Ottawa, ON
September 2011 – December 2015
- Co-op option
- Masters Accelerated stream
- Minor in Japanese and German
Skills
Technical
- Proficiency with:
- Javascript (React, Typescript, ES6+)
- React frameworks (Next.js, Redux, Recoil, React Router)
- HTML5
- Styling (CSS3, SASS, styled-components, MUI, vanilla-extract)
- Backend technologies (Node.js Express, C# .Net Core)
- Databases (MongoDB, CosmosDB, Apollo GraphQL, PostgreSQL)
- Testing (Cypress, Jest, Mocha, Jasmine, React Testing Library, Storybook)
- DevOps (Github, Jira, Azure DevOps)
- Source control (Git, Perforce)
- Experience with:
- Other frameworks and languages (Ruby on Rails, Angular, Python, C++, Java)
- Other databases, ORMs, and data management tools (Redis, ElasticSearch, Kibana, Supabase, Prisma)
- Hosting and other DevOps (Docker, Azure Cloud, Github CI/CD, CircleCI, Launch Darkly)
- Gaming and creative software (Unreal Engine, 3ds Max, Blender, ZBrush, Sketchup, Photoshop, Clip Studio Paint, Daz Studio, FL Studio)
- Extensive full-stack, responsive, cross-browser and cross-platform development practise
- Speed and willingness to learn and apply new programming languages, styles, and concepts
Communication
- Guided colleagues on syntax and logic flow while collaboratively developing an application
- Explained advanced programmatic and design ideas to first year game development students as a teaching assistant, providing technical feedback on assignments
- Comfortable with technical discussions across different disciplines, and conversing directly with Product Managers and Design teams
- Used the following communication, design sharing, and task tracking technologies:
- Slack
- Microsoft Teams
- Figma
- Micro
- Jira
- Github
- Azure DevOps
Organization/Teamwork
- Collaborated in agile environments and participated in daily stand-ups, peer code reviews, pair programming and frequent technical discussions
- Regularly worked remotely and with other remote, distributed, and cross-functional team members
- Self-motivated with a high degree of autonomy and comfortable with all team sizes
Experience
Leonardo.Ai
, Remote
June 2024 - Present
Company SizeMediumIndustryAIStackReact, Next.js, Typescript, GraphQL, Chakra UI, Jest, StorybookMethodologyQuasi-AgileTeam Size7-12 peopleFeature, performance, and code quality optimization
- Designed and built a new tooltip system so that it greatly simplified the existing workflow, is modular, decoupled from the UI library, easily scalable and testable, produced cleaner code, and could be gradually phased in without affecting existing tooltips
- Presented this new system to fellow engineers, describing the thought process behind its architecture, encouraging discussion and different perspectives to promote continuous improvement
High developmental and learning speed
- Quickly solved bugs and made small to impactful changes in complex architecture, finishing tickets at a rate that emptied the task list on a few occasions
- Created my first PRs on the very first day, rapidly integrating myself into the codebase and the then-unfamiliar UI library
TheoremOne
, Remote
January 2023 - March 2023
Company SizeMedium-Large (600 people)IndustryConsultancyStackReact, Next.js, Typescript, MUI, Cypress, JestMethodologyAgileTeam Size3 (FE only, Design and BE split with occasional sync-ups)Project leadership and architectural setup
- Worked as part of a small team to rebuild a complex form project from scratch
- Established the fundamental structure of the application, setting up the directory layout, file organization standards and specific coding conventions, base package dependencies, and creating a dynamic form generation and management system PoC to work off of
- Introduced teammates to the usage of specific testing technologies and UI libraries with the PoC
Requirements gathering and presentation
- Investigated, documented, and presented a catered dynamic form generation and data management system that is simple to use, understand, and is extensible to fit new or special business requirements
- Presented well-organized, attractive work in bi-weekly sprint demos that delighted clients and improved team morale
EInc.
, Remote
November 2021 - November 2022
Company SizeMedium (100 people)IndustryAutomobileStackReact, Next.js, Typescript, Styled-Components, Apollo GraphQL, Cypress, Jest, StorybookMethodologyAgileTeam Size7 (+2 for designers and manager)Feature implementation within a large existing codebase
- Added new features, such as heavy data displays and animated dashboard components, to a large car dealership management app off Figma design files, ensuring pixel-perfect implementation
Test writing
- Established the basis for complex integration testing via creation of custom cypress commands
Bug fixing and reporting
- Addressed issues found on Sentry, manual or automated testing, or Slack threads in a timely manner
- Created tickets with clear descriptions, reproduction steps, and sometimes possible solutions, adding the proper categories and labels to ensure intelligibility and organization
Noka Software and Creative Inc.
, Remote
May 2020 – November 2021
Company SizeSuper small (7 people)IndustryConsultancyStackReact, Next.js, Typescript, SASS, Node.js Express, MongoDB, Cypress, JestMethodologyRAD/WaterfallTeam Size~5 for first project, then alone!Start-to-finish full-stack development and delivery
- Independently built a fully responsive, internationalized site with a complex form system, PDF generation, and email (SendGrid) integration
- Delivered the finished and polished product to the client in under four weeks
Project architecting, design, and implementation
- Gathered business requirements and determined the stack of the project, proposing architecture that would minimize costs, and implementing the code to a rapid development cycle
Open-source development
- Published two open-source React libraries under the company's discretion, then used them to successfully speed up development for subsequent projects
Thomson Reuters
, Toronto ON
September 2018 – February 2020
Company SizeLarge (10000+ employees)IndustryNews, Legal, Media, TechnologyStackAngular, Typescript, C# .Net, CosmosDB, Azure, SwaggerMethodologyAgile ScrumTeam Size~10Greenfield project construction
- Designed and implemented full-stack solutions for an Angular greenfield project, delivering complete features with automated test coverage within one-week sprints
Business requirement design and implementation
- Determined the best user experience to address business requirements, implementing them full-stack and completing solutions that thrilled consumers
- Became the main UI/UX developer shortly after joining the team
Microservice creation
- Contributed to the fundamental structure of the application, implementing a scalable microservice architecture on Azure
- Created REST API endpoints in a C# .Net server, connecting and optimizing requests and responses
OpenText
, Ottawa ON
February 2016 – August 2018
Company SizeLarge (10000+ employees)IndustrySoftware DevelopmentStackjQuery, OScript (company-specific language), JavaMethodologyDevOpsTeam Size2-3 (Worked 98% independently)New feature design and implementation
- Built the front page of the customer support site using custom jQuery widgets and REST API calls
Old feature redesign, improvement, and overhaul
- Created a WYSIWYG editor integrated with a large scale CMS to dynamically generate product pages from database records, minimizing manual work for product managers and removing it for developers
Internal tool development
- Developed internal-use XML conversion software in Java
Misc Experience
Bank Of Canada
, Ottawa, ON
April 2014 – August 2014
- Worked in a cross-functional Agile Scrum team to improve, bug fix, and add to the bank’s main and Museum PHP sites
- Styled the majority of the Bank’s responsive Museum site based on supplied design files
- Used BEHAT to create automated tests for UI and functionality
BOLDstreet Wireless
, Ottawa, ON
September 2013 – January 2014
- Built a credit card and registration system on top of a base website with a partner to facilitate users in purchasing internet time with a user-friendly interface, learning how to work with the code of an established system and how to design and incorporate databases into relevant projects, practicing both front and back-end development
- Finished building a site from scratch in two days based on given wireframes
Department of Justice Canada
, Ottawa, ON
July 2013 – September 2013
- Tested for and reported bugs, practising iterative error checking and gaining familiarity with common coding mistakes
- Investigated causes and solutions of bugs found by others on a list of thrown exceptions, providing detailed fixes and/or bug reports, facilitating the development of software solutions
Carleton University
, Ottawa, ON
January 2013 – May 2013
- Marked the assignments of first year game development students, giving detailed feedback concerning design and code concepts, both providing thorough support and gaining experience in doing so, along with learning from the diversity of their work
- Communicated often with the professor to ensure that feedback delivery was well done and within the bounds of what he was looking for, gaining proficiency and understanding in methods of evaluating complex concepts
Scholarships and Awards
Dean's Honour ListJanuary 2015
General In-Course ScholarshipJanuary 2015
Regional Japanese Speech Contest, 2nd placeJanuary 2015
Dean's Honour ListJanuary 2013
Lester Bowles Pearson ScholarshipJanuary 2013
Languages
EnglishNativeThe language I've been using professionally since the beginning
CantoneseNativeSpeaking only
JapaneseAdvancedLimited working proficiency, but fine for non-technical conversations
GermanIntermediate-lowHaven't used in a while!