Skip to content

Instantly share code, notes, and snippets.

@gCardinal
Last active August 14, 2024 12:34
Show Gist options
  • Save gCardinal/a78c6bec07d8b7f8c67289400060bbd2 to your computer and use it in GitHub Desktop.
Save gCardinal/a78c6bec07d8b7f8c67289400060bbd2 to your computer and use it in GitHub Desktop.
{
"meta": {
"theme": "elegant"
},
"basics": {
"name": "Guyllaume Cardinal",
"label": "Vice-President at Majisti Inc. – Team Lead - Senior Web developer and coach.",
"image": "https://i.imgur.com/7C7xIP1.png",
"email": "[email protected]",
"summary": "A passionate geek who spends a lot of time thinking about code, tabletop roleplaying games, dog training and running.",
"phone": "(514) 776-6566",
"location": {
"city": "Blainville",
"countryCode": "QC",
"region": "Quebec"
},
"profiles": [
{
"network": "LinkedIn",
"username": "Guyllaume Cardinal",
"url": "https://www.linkedin.com/in/guyllaume-cardinal"
},
{
"network": "Github",
"username": "gCardinal",
"url": "https://github.com/gCardinal"
}
]
},
"work": [
{
"name": "Life House",
"position": "Sr. Full Stack Developer at Life House",
"url": "https://www.life-house.com/",
"startDate": "2022-07-11",
"summary": "I've been an active member of multiple projects at Life House to maintain and enhance their suite of hotel management software. As the client base grew, we've had to manage growing demand and keep costs low as the infrastructure expanded. The suite is built using a mix of ReactJS, NestJS, react-router and a homemade UI framework built with Radix and styled-components all deployed on a K8S cluster hosted on AWS. Various third-party integrations were also done: Contentful, AWS (SQS, Secrets, DocDB, EventBridge, Lambda, S3), Stripe, Sentry, Amplitude, Datadog, SiteMinder, MEWS, CloudBeds, and more.",
"highlights": [
"Revival and maintenance of multiple iOS React Native apps, mainly the hotel operations app for iPad",
"Integration of SiteMinder into custom Property Management System built with Python/Django",
"Led the implementation of the King Design system and its two themes into a UI framework, distributed via a NPM library (Radix + styled-components).",
"Led the creation of a self-check-in webapp (vite, react-router, King UI Kit). https://checkin.life-house.com/"
]
},
{
"name": "Station Casinos",
"position": "Consultant - Senior Frontend/Backend/Tooling Development",
"url": "https://www.stationcasinos.com/",
"startDate": "2021-04-06",
"endDate": "2022-06-30",
"summary": "Part of the R&D team, my role changes constantly. I've built a tool to scaffold projects on Azure DevOps (pipeline, repo, deployments, secrets, etc), a real-time engine for play sessions on slot machines multiple PoCs and a custom micro-frontend framework.",
"highlights": [
"Built a CLI tool to generate new projects, with the repository, pipeline, configurations, packages and policies created on Azure DevOps. Multiple different frameworks supported. Built with NestJS.",
"Multiple in-house libraries: React component library with a Storybook for documentation, packaged Jest configurations and presets, linting presets.",
"Built a real-time system to gather information on games being played on slot machines and calculating in real-time the client's propensity to leave with machine learning. NestJS and RabbitMQ",
"Currently leading efforts to build a framework for an in-house micro-frontend solution. NextJS."
]
},
{
"name": "Zenapptic.ai",
"url": "https://zenapptic.ai/",
"position": "Consultant - Senior Frontend Development",
"startDate": "2020-10-20",
"endDate": "2021-01-02",
"summary": "Helped build NYE2021 - A mobile app to celebrate the new year in the safety of your home.",
"highlights": [
"The app was built with a native layer that displayed a webview built with VueJS.",
"I built the auth system, the \"bridge\" to access native device API, the friends system and live chatrooms.",
"The \"bridge\" was the system with which the webview and native layer communicated. I had to build a system that would work in browsers, iOS's webview and Android's webview.",
"All in all, the \"bridge\" was very intense system that would take the whole page if detailed here. It's goal was to allow us to update 95% of the app, without the users having to actually update the app. It was fun to build though!"
]
},
{
"name": "Majisti inc.",
"position": "Vice President",
"startDate": "2017-03-31",
"endDate": "2022-06-30",
"summary": "Majisti offers web application development services. I mainly took the role of CTO, driving technical decisions and supporting employees in delivery of projects.",
"url": "https://www.majisti.com",
"highlights": [
"Grew the team from none to three employees.",
"Being a small business, I touched every facet of a business - marketing, HR, strategy, etc.",
"Consulting work for Zenapptic.ai and Station Casinos (both above)",
"Development of Blitzclock - A real time timer shared between multiple devices. Use React Native, Redux and NestJS - Fully tested and runs locally with Docker.",
"ShadowShifts - Time entry app for a construction client. React, Redux and Expo. I designed the architecture used to build 3 apps, all sharing the same UI and most of their logic, all wrapped up in a native app to access multiple native device APIs."
]
},
{
"name": "Cogeco Connexion",
"url": "https://www.cogeco.ca/en/",
"endDate": "2020-08-31",
"highlights": [
"Design and implementation of an abstraction allowing teams maximum flexibility in how their projects were built without requiring manual input from the devops team.",
"Worked with Jenkins, GCP, Kubernetes, Helm.",
"Development of a custom Jenkins plugin due to the very specific needs of the business.",
"Migration to GCP for target applications.",
"Coaching on proper TDD/BDD to fully benefit from the CI/CD put in place."
],
"position": "Consultant - Lead DevOps Engineer",
"startDate": "2018-09-30",
"summary": "From the previous mandate, I moved to a more DevOps focused role for the next phase in their move towards modern app deployment. With a team of 4, had to put in place all the tools and processes to introduce a devops development and deployment flow in the web team which had never done anything similar. We built everything from the ground up, with the primary goal of being able to deliver any type of app anywhere, with as minimal interaction required from the devs or our team."
},
{
"name": "Cogeco Connexion",
"url": "https://www.cogeco.ca/en/",
"endDate": "2018-08-31",
"highlights": [
"Migration of in-house framework website to Drupal 8.",
"Lead and coaching on integration of React and Redux in a team of 10+ developers.",
"Integration of Docker and DevOps practices into the development pipeline.",
"Active role in implementation of TDD and CI/CD workflow."
],
"position": "Consultant - Senior PHP/React Development",
"startDate": "2017-05-31",
"summary": "Migration of the legacy website to a Drupal 8 code base, then creation the new bundle builder experience: https://www.cogeco.ca/en/bundle-calculator. As part of those tasks, I took a leading role in planing the infrastructure for those two projects. I was also greatly involved in the establishment of their updated deployment practices (moving towards a modern CI/CD approach)."
},
{
"name": "Majisti inc.",
"endDate": "2016-12-31",
"position": "Frontend/Backend Developer",
"url": "https://www.majisti.com",
"startDate": "2014-07-31",
"summary": "First employee, had to quickly take charge and help in supporting current clients, develop new features and help in managing various aspects of the business."
},
{
"name": "Trinome Inc",
"endDate": "2014-07-31",
"position": "Programmeur intermédiaire, nouveaux médias",
"startDate": "2012-11-30",
"summary": "Sole developers, tasked with creating TV show related websites, a iOS/Android interactive book with Adobe Flex and some R&D on web technologies.",
"url": "https://trinomeetfilles.com/"
},
{
"name": "HIT-Global",
"endDate": "2012-08-31",
"position": "Flash Developer",
"startDate": "2010-08-31",
"summary": "Design, architecture and development of e-learning modules focused on medical education.",
"url": "https://hit-global.com/home.aspx"
}
],
"references": [
{
"name": "Hoi Shan Wu, Station Casinos, Project Owner",
"reference": "Guyllaume brings exemplified knowledge, creativity and joy. We worked on a project that involved incorporating cutting edge technologies in a legacy system with many unknowns. Without his ideas, skills and demeanor we wouldn't have succeeded on the project.\n \nHe is truly well versed in his area of software development, solving not only technical challenges but making sure it brings value to the business. \n\nFew things I appreciate most in our collaboration are: his clear communication, reliability, support to the team, and ability to translate complex concepts in layman terms while having fun!\n\nI really enjoyed working with Guyllaume, if you have a chance to work with him, GRAB IT! You won't regret it!"
},
{
"name": "Carlo D'Alessio, Cogeco Connexion, Director of Application Development",
"reference": "Guyllaume is a highly skilled front end developer who made great contributions towards our platform modernization and DevOps efforts. His recommendations and insights were always spot on and where others saw roadblocks or challenges, Guyllaume always found solutions. He communicates his ideas and solutions in a clear, direct, and precise fashion and was instrumental in coaching and mentoring others on CI/CD, TDD, as well as preferred application design patterns for front end development. I really enjoyed having him on our team and would welcome the opportunity to work with him again."
}
],
"volunteer": [],
"education": [
{
"institution": "Collège Maisonneuve",
"area": "Multimédia",
"studyType": "DEC",
"startDate": "2005-12-31",
"endDate": "2010-12-31"
}
],
"publications": [
{
"name": "Speaker: Introduction to React - What is it",
"publisher": "Full Stack Guru Montreal",
"url": "https://www.meetup.com/full-stack-gurus-montreal/events/238572098/",
"summary": "A 45 minutes talk explaining the basics of React. The talk focused on providing all the tools required to properly jump into the, at the time, new technology.",
"releaseDate": "2017-04-25"
},
{
"name": "Speaker: React - Putting it all together",
"publisher": "HTML5mtl",
"url": "https://www.meetup.com/HTML5mtl/events/236871598/",
"summary": "This talk detailed how Majisti built it's frontend applications using React, Redux and inversifyJS as a dependency injection framework at a time where React was still class-based. Very outdated by today's standards.",
"releaseDate": "2017-01-30"
},
{
"name": "Multiple Articles on BoobOrGuru - Majisti's Blog",
"publisher": "BoobOrGuru",
"url": "http://booborguru.com/category/majisti/guyllaume/"
}
],
"skills": [
{
"name": "Frontend Development",
"level": "Master",
"keywords": [
"React",
"Redux",
"Redux Toolkit",
"TypeScript",
"JavaScript/ES6+",
"Webpack",
"Accessibility",
"Many frontend-related libraries (react-hook-form, react-table, chakra UI, etc)"
]
},
{
"name": "Native Apps",
"level": "Intermediate",
"keywords": [
"ExpoJS",
"React-Native"
]
},
{
"name": "Automated Testing",
"level": "Master",
"keywords": [
"Behavior-Driven Development",
"Test-Driven Development",
"Jest",
"Enzyme",
"Cypress",
"react-testing-library"
]
},
{
"name": "DevOps",
"level": "Intermediate",
"keywords": [
"Docker",
"Kubernetes",
"Helm",
"GCP",
"Jenkins",
"Gitlab"
]
},
{
"name": "Human Skills",
"level": "Master",
"keywords": [
"Coaching",
"Team Management",
"Task Prioritization",
"Project Management"
]
},
{
"name": "Various",
"level": "Intermediate",
"keywords": [
"NodeJS",
"NestJS",
"Next.JS",
"PHP",
"Symfony",
"So many languages, tools and frameworks through the years, it would be insane to list them all here"
]
}
],
"languages": [
{
"language": "fr",
"fluency": "Native Speaker"
},
{
"language": "en",
"fluency": "Perfectly Bilingual"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment