Tyler Findlay, Software Developer in Edmonton, AB, Canada
Tyler Findlay

Software Developer in Edmonton, AB, Canada

Member since December 19, 2016
Tyler is a passionate web and application developer who resides in Edmonton, Alberta. With his more than a decade of development experience, he can jump in and start working in all types of environments and projects. His passion is in building solutions that improve people's lives and enhance them based on the customer's behavior.
Tyler is now available for hire

Portfolio

Experience

Location

Edmonton, AB, Canada

Availability

Part-time

Preferred Environment

React, Redux, TypeScript, .NET Core, ASP.NET MVC

The most amazing...

...thing I've coded is a complete offline React and Redux app that functions independently of an internet connection.

Employment

  • Co-founder

    2019 - PRESENT
    Conference Quest
    • Created a React Redux TypeScript SPA that was used by conference attendees to exchange information, view conference information, and exchange earned points for perks.
    • Made the application run fully offline using a browsers' local storage. Since reception and WiFi can be spotty, the SPA is built to run without and internet connection and cache all changes in a local database. When connections are reestablished, the data changes are synced.
    • Used Google Material-UI for managing theme and CSS.
    • Build a REST API in MVC .NET-Core in C#.
    • Used swagger for API documentation.
    • Used Entity Framework for database integration.
    • Implemented source control via GitHub.
    Technologies: React, Redux, TypeScript, .NET Core, MVC, Entity Framework, C#
  • Co-founder

    2019 - PRESENT
    Food Search, Inc.
    • Collected requirements and wrote user stories through Asana.
    • Implemented the front end SPA using React with Redux in TypeScript.
    • Managed a service worker that downloaded the app for fast loading after the first visit, and also checking for updates thereafter to grab new versions of the site.
    • Used .NET Core with MVC to create a REST API for interacting and syncing with database data.
    • Used Entity Framework for database object management.
    • Used Google Material UI for managing theme and CSS.
    • Used Swagger integrated with .NET Core MVC to document the API.
    • Implemented GitHub for source control.
    Technologies: React, Redux, TypeScript, .NET Core, C#, MVC
  • Senior Software Developer

    2019 - 2020
    Signature
    • Created a React+Redux TypeScript app for managing the recording of sessions.
    • Built tools for a desktop Windows environment for capturing keyboard and mouse input. Required understanding of the windows DLL framework (kernel.dll and user.dll). The interaction was made through a local ASP.NET Core MVC API.
    • Assisted in developing a Python-based desktop application for handling keyboard and mouse input.
    Technologies: C#. .NET Core, TypeScript, React, Python
  • Technical Consultant

    2017 - 2018
    Alberta Motor Association
    • Created a REST API in .NET Core MVC that would have zero downtime, which would allow for operating hour deployments, code reviews, and automated unit testing.
    • Built the front end of a React + Redux administration app so accounting could set rules and create records manually for the API when they needed access. TypeScript and WebPack were used for compilation and minification.
    • Hosted in Azure with deployment slots to allow for 100% up-time.
    • Used Entity Framework for database integration.
    • Source control and gated deployments managed in GitHub on Microsoft Team Foundation Server.
    • Designed REST API endpoints that were idempotent to be called multiple times due to timeouts and network latency, but still only make changes when unique transaction codes were sent.
    Technologies: C#, .NET Core, Entity Framework, Azure, MVC, SQL Server, Visual Studio Online, GitHub
  • Software Developer

    2016 - 2017
    WSP
    • Developed a web application on a large scale F2F (field-2-finish) project.
    • Built by myself the standalone front-end portals for time entry and approval (TimeQOffice) and project accounting rules (TimeQManager).
    • Worked on an application to manage accounting rules using drag and drop functionality in jQuery.
    • Created another application to manage job applications in AngularJS.
    • Served as a back-end developer when required.
    Technologies: .NET Framework, jQuery, AngularJS, C#, SQL Server, Visual Studio Online
  • Technical Consultant

    2015 - 2015
    PCL
    • Developed a web app for managing trade workers' applications in .NET MVC.
    • Built-up the external facing-side where people could apply based in AngularJS.
    • Used agile methodology on a team of six developers, two business owners, and a single project manager.
    • Gained skills with ReSharper for faster coding in Visual Studio.
    Technologies: .NET, C#, jQuery, AngularJS, SQL Server, Entity Framework, MVC
  • Net Ninja (Software Developer)

    2012 - 2014
    Quercus Solutions, Inc.
    • Developed, planned the architecture, and supported web applications for clients all the while in a team setting.
    • Met client's criteria and expectations for projects in a timely and efficient matter.
    Technologies: .NET, C#, jQuery, SQL Server, Team Foundation Server, MVC, Entity Framework
  • System Analyst

    2008 - 2012
    City of Edmonton
    • Supported several desktop applications and customer requests in a wide array of programming languages.
    • Provided customer support and gathered specs for enhancements and new utilities.
    • Worked on several servers hosting Microsoft SQL Server databases and Microsoft IIS and web services.
    Technologies: .NET, C#, Visual Basic, SQL Server, IIS, SharePoint
  • Software Development

    2006 - 2007
    Intuit Canada
    • Worked on the localization of the QuickBooks Product for release in Canada.
    • Developed a tool that dynamically modified a SQL database based on the application's locale as well as adding/removing a functionality to the application based on which locale it would be released in.
    Technologies: C++, Visual Studio, SQL

Experience

  • Conference Coin App (Development)

    As the developer for a startup, I was tasked with creating an app that would be used at conferences that you allow attendees to scan each other's badge, share information, write notes about those they interact with, and view a calendar of events at the conference. The major struggle was to create an application that worked in a fully offline situation due to spotty WiFi and cell phone reception at conferences. The attendees would need to feel like they were online at all times, even when they might be offline.

    The application was built using React/Redux. Redux Offline was used to hold data in local storage even while offline. Further customization of the applications required a service worker to make the website available even when a phone is in airplane mode. QR code scanning was also implemented for connecting attendees.

  • Prioritizemylife.com (Development)
    https://prioritizemylife.com/

    The goal was to create a simple web application that helped people sort large lists of priorities by breaking the sorting down to small binary decision making. The project was completed using a React and Redux front end with React Forms and connecting to a .NET Core REST API. The services used a broad suite of unit tests to ensure the services worked correctly. The app was hosted in Microsoft Azure with Application Insights used to track and errors.

  • FoodSearch, Inc. and SearchGlutenFree React and Redux App (Development)
    https://foodsearchinc.com/

    I worked on a startup whose goal was to create a website that listed local groceries and restaurant food available for pickup in smaller, local stores. It would also contain detailed information about the gluten-free options on those websites, and allow for order pickup options from participating stores.

    The application was built using React and Redux and connected to a .NET Core 3.1 MVC API for data storage.

  • Gift Card Management REST API (Development)

    AMA was using an older system for managing gift card transactions with a long deployment schedule.

    The goal was to create a new system as proof of concept that could be changed any time (even during work hours) with no downtime.

    We chose .NET Core and used Visual Studio Online for managing the deployments, Git for source control, and Azure for hosting and load balancing to prevent outages. We also added Azure Application Insights for in-depth error tracking, as well as real-time messaging in the team with HipChat and Slack when errors occurred so they could respond quickly.

    For administration, I added a React- and Redux-based front end to the application. It was built in TypeScript in the Visual Studio editor and used WebPack to pack all the components together.

  • TimeQManager Web App (Development)

    WSP required an internal application to handle project organization, time submission, equipment tracking, and end-to-end accounting rules for their large organization.

    The TimeQManager piece of this massive project was a single standalone application that managed the accounting rules for unique projects. The app used jQuery modules and widgets on top of an MVC application. Drag-n-drop jQuery libraries were used heavily for the organization of the accounting rules.

    I functioned as the front-end developer for the project and created a single-page application. I also added jQuery unit tests using Sinon and QUnit together, integrated .NET with Chutzpah. As a back-end developer, I handled the integration work on the larger application when needed.

  • TimeQOffice Web App (Development)

    WSP required an internal application to handle project organization, time submission, equipment tracking, and end-to-end accounting rules for their vast organization.

    The TimeQOffice piece was a standalone web application that managed time entry for office workers and time approval for project managers. The app functioned as a standalone AngularJS application that made direct calls to the integration service.

    I built various directives and managed the code quality based on Angular 1.x standards set by Google’s John Papa.

  • Vital Nourishment Web App (Development)

    Vital Nourishment required a web application so they could manage their clients' meal plans, delivery of food, and monthly subscriptions.

    The goal was to create a web-facing business presence, an easy-to-use user interface where clients could update their information and subscriptions as well as robust and uncomplicated administration processes.

    I functioned as the architect for the entire system using MVC 5, the Identity Framework for managing users and permissions, and jQuery to enhance front-end administration. Most notably, I used a drag-n-drop functionality for meal planning.

  • Internal and External Facing Sub-trade Web App (Development)

    PCL needed an app for managing job applications of sub-trades across the world.

    The goal of this project was to create an easy-to-use application process where users could log-in, update their resume, and submit their applications. They also required an administration functionality for the several thousand applications they get during job fairs as well as to manage those applications when they needed different tool sets.

    I functioned as a front-end developer on the MVC-based application using AngularJS to create a single-page app. I also worked as a back-end developer on the Web API calls to the Entity Framework database.

  • SharePoint and 360 Field Integration Web App (Development)

    PCL uses a SharePoint application as well as a product called 360 Field for tracking construction site work which ultimately created two datasets.

    The goal of this project was to create an integration batch process to do nightly syncs of the two datasets so customers could seamlessly use either product without an issue.

    On this project, I functioned as the user interface developer, helped clarify requirements during the project, and assisted in Scrum demos to the product owners.

  • Azgaard | Subtrade Invoicing System (Development)

    A web application used by general contractors to assist in dealing with monthly invoices they receive from their sub-trades.

    On this project, I functioned as technical lead, architect, assisted in gathering the business requirements, and managing Scrum sprints.

    The challenges of this project included using CSS 3 to dynamically alter page layouts for various devices and integrating with the client's accounting system.

  • My ASEBP (Development)

    Here, I worked with the Alberta School Employee Benefit Plan to build a web platform for their covered members to submit medical claims online, update their personal information, and view their benefits package.

    We chose to use Microsoft's MVC framework because it has an excellent architecture frame which allows data models to flow from the database to the user interface very easily. We used a lot of jQuery UI controller items for the interface to give the application an interactive field compared to the existing members' site.

    The site is currently in use by ASEBP's members with around 1,000 users registered with that number climbing every day. We struggled initially with getting clients to lock down their requirements but eventually found a system that blended scrum and waterfall. This decision effectively gave clients an up-to-date picture of the product so that on-the-fly changes were possible while establishing the requirements enough that we could meet deadlines.

    We deployed the site with minimal bugs found during its first month.

  • Customer Relationship Manager (Development)

    We wanted to build a customer relationship manager for a company to track customer relationships as well as automate some of the more repetitive tasks. Since an external vendor made the website, the CRM would need to operate independently of it.

    The site needed to list all of the existing customers, list potential new clients and whether they'd been called, and automate some of the more repetitive emailing.

    The site ended up being coded using the ASP.NET MVC framework with Razor pages. Batch processes run every five minutes, and the site checks whether a specific type of email was sent out and which ones need to be. We used various methods for sorting and filtering on the customer lists to give users an effortless way to view the data they need. It also required measures to manage LINQ queries when the data set of business listings grew over 5,000 to ensure filtering and sorting operations sped up while not impeding user work.

Skills

  • Languages

    CSS, JavaScript, C#, TypeScript, Java, Python
  • Frameworks

    ASP.NET MVC, Entity Framework Core, Entity 5, .NET Core, .NET, AngularJS, Redux
  • Libraries/APIs

    React, jQuery UI, jQuery
  • Tools

    Microsoft Visual Studio, Visual Studio Online (VSO), GitHub
  • Platforms

    WordPress, Visual Studio 2017, Visual Studio Code
  • Storage

    SQL Server 2017, SQL Server 2016, MySQL
  • Paradigms

    Agile Software Development, Scrum

Education

  • Bachelor of Science degree in Computer Science with a Business Minor
    2002 - 2008
    University of Alberta - Edmonton, Alberta, Canada

Certifications

  • Microsoft Certified Developer: Developing Microsoft Azure and Web Services
    APRIL 2014 - PRESENT
    Microsoft
  • Microsoft Certified Developer: Programming in HTML5 with JavaScript and CSS3
    MARCH 2013 - PRESENT
    Microsoft

To view more profiles

Join Toptal
Share it with others