namespace Website.Data; public static class WorkExperience { public static Data Get() { return new Data { Experiences = [ new Experience { Role = "Server Developer", Location = "TotalETO, Company providing engineering to order solutions", DateRange = "2021 - 2026", Points = [ new Point { Description = "Wrote various API calls, unit tests to test said calls, and exact examples to show the frontend team on how to consume the GraphQL API.", IsVisible = true }, new Point { Description = "Converted SQL stored procedures into views usable by Entity Framework to support old functionality with new web app features.", IsVisible = true }, new Point { Description = "Moved from backend to frontend as needed to fix bugs and add features to React frontend to help the UI team with their higher workload.", IsVisible = true }, new Point { Description = "Took part in converting legacy VB-coded app functionality to a C# web development server.", IsVisible = true }, new Point { Description = "Taken the initiative in creating a variety of onboarding internal wiki documents explaining parts of the codebase that were well-loved by the team.", IsVisible = true } ] }, new Experience { Role = "Fullstack Blazor Developer", Location = "Personal Projects, on various interests", DateRange = "2021", Points = [ new Point { Description = "Created igpfanreference.ca to teach players in unreleased game basic play patterns, and to experiment with Blazor, Linux self-hosting and Azure web hosting.", IsVisible = true }, new Point { Description = "Twitch streamed live coding sessions to demonstrate developing the website, and crowd-sourced and credited players on ideas and functionality for the website.", IsVisible = true } ] }, new Experience { Role = "Angular Web Developer", Location = "CleanCode, Software consultancy on various projects", DateRange = "2020 - 2021", Points = [ new Point { Description = "Came to the conclusion that I wanted to focus my career in .NET, and left the company to pursue Blazor research and C# opportunities. Unfortunately, Blazor development work is not as popular as one would hope.", IsVisible = true } ] }, new Experience { Role = "Full Stack Developer", Location = "bitHeads, Tech shop with a focus on cloud-based technology", DateRange = "2015 - 2020", Points = [ new Point { Description = "Worked on a portal and mobile-facing web app for a SaaS project written in React.", IsVisible = true }, new Point { Description = "Eliminated routine project hours spent documenting by creating a Node.js tool in TypeScript that generated the API doc contents.", IsVisible = true }, new Point { Description = "Created brainCloud’s Command Line tool in Node.js and other test tools, for developers and QA to test and stress test API and server features.", IsVisible = true }, new Point { Description = "Maintained customer success and brainCloud’s unit tests, examples, and libraries in Java, ObjC, C++, C#, JS, Unity, and Unreal.", IsVisible = true }, new Point { Description = "Wrote documentation, tutorials, and offered guidance to bring new co-workers up to speed on the BaaS environment.", IsVisible = true }, new Point { Description = "Maintained and wrote Jenkins Pipeline in Groovy for improved test reporting and team CI.", IsVisible = true }, new Point { Description = "Developed Test Automation for brainCloud and Nortec/Condair Help websites in Java, to reduce manual testing time spent on an agile team.", IsVisible = true } ] }, new Experience { Role = "Mobile Game Developer", Location = "Smoke Labs, Tech startup with a focus on mobile games", DateRange = "2012 - 2015", Points = [ new Point { Description = "Developed key systems in Blokus, Mattel-branded title nominated in the Canadian Video Game Awards for 'Best Game Design' and 'Best Social or Casual Game.'", IsVisible = true }, new Point { Description = "Experience integrating a multitude of analytics, ad systems, and backends, including Google Analytics, Game Analytics, Flurry, Mopub, and Playhaven.", IsVisible = true }, new Point { Description = "Spent time working with the external QA team to bridge the company's knowledge gaps between the developer and QA workflows.", IsVisible = true }, new Point { Description = "Integrated ads, in-app purchases, analytics, and handled product releases of legacy client apps.", IsVisible = true } ] } ] }; } public class Data { public List Experiences = new(); } public class Experience { public string Role { get; set; } public string Location { get; set; } public string DateRange { get; set; } public List Points { get; set; } } public class Point { public string Description { get; set; } public bool IsVisible { get; set; } } }