David Redl

David Redl

Photo of David Redl

I am David Redl, a computer scientist and certified ScrumMaster with eleven years of industry experience developing software. Within development, I have experience with all stages of the software life cycle and, in addition to being skilled at multiple programming languages, have proven my ability to learn programming languages on the job and continuously adapt to the ever-changing tech industry. Apart from development, I have experience as a ScrumMaster, a Scrum evangelist, and as a mentor to junior developers.

I am currently at home with my family in the foothills of Alberta on Treaty 7 land. Outside of my jobs, I keep my skills sharp with side projects like this website while also attempting to hone my craft as a writer and spoken word performer. My family and I also enjoy gaming, whether on a table top, computer, or console. In the past, I spent some time working in laboratory settings in the fields of Immunology and Infectious Disease and Medical Genetics. In the latter, I contributed to two journal article publications.

My Blog Other Projects

Senior Software Engineer, Staffbase. 2023

TypeScript JavaScript Docker Kubernetes NodeJS NestJS Clickhouse Kafka GitHub CI/CD

In my short time at Staffbase, I have led a project from conception to deployment, served as a mentor to other developers, and contributed to cross-team initiatives.

Early on in my employment, I was tasked with finishing a Request for Comments (RFC) process on a proposal to decouple an existing API and supporting data infrastructure from the monolith web application in which it was developed. I proposed infrastructure, data model, and data pipeline components and ran benchmark tests to confirm an increase in performance over the existing system. Once the RFC was approved, I setup a new repository with an initial proof of concept to ingest data from a queue into a database that would become the backing for the new API. To make it easy for my team to contribute, I wrote this in TypeScript using NestJS, with which they were already familiar, and created the docker image and compose to run a four part environment locally consisting of Kafka, Clickhouse, Zookeeper, and our new data processor.

After setting up the new system, I demonstrated to my team how to continue to develop and test it. I then focused on configuring a similar setup in Kubernetes using the docker image I had developed. Once the deployment was successful, I taught my team how the Continuous Integration and Continuous Deployment process works as well as how to monitor the new system and diagnose any potential problems. As my team was not familiar with GitHub Actions or the company's Kubernetes setup, this required in-depth documentation as well as demonstrations.

Throughout my time at Staffbase, I have had the good fortune of working with an impressive development team of various skill levels, including an eager-to-learn junior developer. I have contributed to code reviews to ensure high quality standards and mentored others on both software development and professional development.

As a senior developer, I regularly attended cross-team initiatives such as Scum-of-Scrums, to increase awareness within the organization of my team's projects and progress, as well as the affectionately termed Senior's Home, where senior developers discussed and voted on standards and recommendations for the engineering team to follow. As needed, I also answered questions from stakeholders, discussed integrations with developers from other teams, and contributed to multi-team investigations of bugs.

Although not acting in an official Scrum Master capacity, I regularly ran meetings for my team including our daily stand-up meetings, backlog refinement meetings, sprint planning meetings, and sprint retrospectives.

Software Engineer, Symend. 2020-2022

C# Docker Entity Framework .NET Core Scrum SQL RabbitMQ DataDog GitHub

As a developer at Symend, I worked on multiple teams and thereby experienced many parts of their platforms.

I was involved in building a microservice from the ground up as part of the development of the second version of their platform. This service was developed in C# with .NET Core and included test-driven development and code-first Entity Framework integration with Microsoft SQL. The service, which ran in a docker container among the other services, was responsible for managing our clients' customer records and providing a history of customer activity to the other services.

As a regular part of my duties, I led requirements gathering and investigation into best practices and possible solutions as part of spike tasks. I often communicated my team's requirements and expectations to other teams to ensure that features were delivered on schedule. I also did my part in answering questions from our team's stakeholders regarding our service's functionality and the status of tickets.

Prior to the launch of the v2 platform, I was involved in designing safeguards for the v1 platform. These safeguards ensured that no placeholders or dummy data were sent as part of communications to our clients' customers as well as ensuring that we did not send duplicate messages or violate communication regulations.

Though not a part of my position's duties, I contributed my time and knowledge of Scrum and Agile to introduce all new employees at the company to those methodologies and their application at Symend.

Intermediate Software Developer, Phoenix Technology Services. 2017-2020

C# Dapper Entity Framework MVVM .NET Framework Octopus RabbitMQ ScrumMaster SQL TeamCity WinForms

During my time working for Phoenix Technology Services, I also worked a lot on a team at their sister company, Stream Services.

At Stream Services I contributed to the development of an electronic drilling recorder, which was a desktop application developed with MVVM design pattern in C# and .NET, as well as a stand-alone desktop application for remote monitoring of drilling data, and the accompanying services, also programmed in C#. For data storage we used Microsoft SQL and a combination of Entity Framework and Dapper for consuming that data in the different applications.

At Phoenix Technology Services I worked on a monitoring-while-drilling application, which was a desktop application developed with C# and WinForms. One project I specifically contributed to was an enhancement to that system to allow for parallel decoding of downhole data. I worked closely with an applied scientist who had developed algorithms for novel ways of processing signals and designed an appropriate user interface for displaying the different streams of processed data, with input from other members of the engineering and field teams. An important part of the user interface was a new type of component which scrolled right-to-left with incoming data to display data quality as colored lines. As there could be any number of these components on screen at a time, it was especially important that it be efficient. Readability was also important as we counted on users being able to determine the best data stream with only a glance at this component.

In addition to development, at Stream Services I provided back-end support to users which heavily relied on SQL, acted as ScrumMaster for the development team, was involved in the interviewing and selection of a new team member, and acted as a mentor to junior developers.

Software Developer, SMART Technologies. 2016-2017

C# HTML JavaScript MVC .NET Framework Octopus SASS Scrum Sitecore TeamCity

At SMART Technologies, I worked on the website team. I contributed to front-end and back-end development of the website as well as content authoring in the Sitecore Content Management System. We used C# and .NET using the MVC design pattern and I also made use of JavaScript, SASS, and AngularJS. A couple projects I worked on while there include the training website and an authorized sellers portal.

For the training website, the team had contracted to a 3rd party for much of the development. However, the version sent to us was not developed for the same version of some critical dependencies that we were using and I needed to adjust the supplied code to match the dependency APIs. I also touched up the styling of the interface as designs had changed during the contractor phase.

For the authorized sellers portal, I was more involved in the front-end than I had been for most of my time at SMART Technologies. For a couple components on the dashboard, our User Experience specialist had designed a donut chart. Although some members of the team were okay with the idea of turning that into a pie chart to make it easier to use a CSS solution, I spent some of my own time to design a proof-of-concept for the donut chart using JavaScript and a canvas tag. The proof-of-concept was accepted and the final product used my donut chart implementation to match the original design.

In addition to development, I was involved in the interview process for additional team members.

Junior Software Engineer, Amazon. 2015

AWS DynamoDB HTML Java Java Server Pages Ruby-On-Rails Scrum

Within Amazon, I worked as part of a short-lived initiative called Amazon Local which was a daily deals service being tested in a couple small areas. The main project I worked on while there was the system for business clients to create and schedule new deals to be offered to customers through the Amazon Local system.

For this project, it was necessary for me to learn Ruby-On-Rails to maintain a legacy system that pre-dated my employment while also using Java and Java Server Pages to develop for the then current system. The entire system utilized a micro-service architecture and my development was part of a Continuous Deployment framework.

Programmer Analyst, University of Calgary. 2011-2014

Agile ASP .NET C# CSS HTML JavaScript

The main project I worked on while in this role was a new electronic document management system for the fundraising arm of the University of Calgary, the Development Office. The goal of the project was to replace a very analog and delay-prone system of typing documents, printing them, handing them off for review, and then re-typing changes as needed. Instead, we wanted a system where documents were stored digitally, passed between users for the review, editing, and sign-off processes, and only printed when it came time for signatures.

My two-developer team gathered requirements, made technical decisions, designed user interfaces with feedback from users, and implemented this new system. We chose to use C# and ASP.NET for development. The parts of this project for which I was most responsible were integration with the university's existing single sign-on system, and a document comparison feature to display edits between versions of a document. For the latter, I was able to adapt an algorithm I had become familiar with during my time studying genetics that was originally designed to compare and locally align DNA sequences.

Bachelor of Science (BSc), Computer Science, The University of Calgary. 2013

I started my university education in a Bioinformatics major but switched to Computer Science. During my education I competed in programming competitions and participated in multiple student clubs, including Jane Goodall's Roots & Shoots where I held a board position. I also worked for the university as a student researcher in two departments and as a student caller and student leader at the Annual Giving Call Centre.

Certified ScrumMaster (CSM), Scrum Alliance. 2019-2025

I first obtained my CSM in 2019 and most recently renewed in 2023. To keep my skills sharp, and my certification current, I volunteer my time as a Scrum and Agile evangelist, promoting their use in corporations and providing people new to these methodologies with a firm foundation. I have also served as a ScrumMaster on my development team at Stream Services.

Boycott K, Beaulieu C, Kernohan K, Gebril O, Mhanni A, Chudley A, Redl D et al. Autosomal-Recessive Intellectual Disability with Cerebellar Atrophy Syndrome Caused by Mutation of the Manganese and Zinc Transporter Gene SLC39A8. The American Journal of Human Genetics. 2015;97(6):886-893.

While I was a student researcher at the Department of Medical Genetics at the Alberta Children's Hospital and University of Calgary, the department was presented with multiple individuals with an apparent novel genetic disorder. After regions of homozygosity were identified by single nucleotide polymorphism (SNP) array, I was pointed at a candidate region of homozygosity.

I worked with my supervisor and human genome databases including information about known disorders, functional information, and expression information, of genes in the candidate region to determine a list of priority genes for sequencing. I designed primers using bioinformatics tools to match DNA outside of each exon in the priority genes. After the primers were created elsewhere, I performed polymerase chain reaction (PCR) to amplify the DNA of the exons and surrounding intron areas in three patients, a parent, and unaffected control and then sequenced the DNA.

A potential causative mutation was identified in one of the prioritized genes and further investigation was carried out by the team.

Innes A, Boycott K, Puffenberger E, Redl D, MacDonald I, Chudley A et al. A founder mutation in BBS2 is responsible for Bardet-Biedl syndrome in the Hutterite population: utility of SNP arrays in genetically heterogeneous disorders. Clinical Genetics. 2010;78(5):424-431.

While I was a student researcher at the Department of Medical Genetics at the Alberta Children's Hospital and University of Calgary, the department was presented with an individual with an apparent novel mutation causing Bardet-Biedl syndrome. After regions of homozygosity were identified by single nucleotide polymorphism (SNP) array, I was pointed at a candidate gene, BBS2.

I used bioinformatics tools to design primers to match DNA outside of each exon in the candidate gene. After the primers were created elsewhere, I performed polymerase chain reaction (PCR) to amplify the DNA of the exons and surrounding intron areas in a patient, parent, and unaffected control and then sequenced the DNA. Upon reviewing the sequence, my supervisor and I identified there was a mutation in an intron/exon boundary that could result in an exon missing from the resulting RNA. I designed primers matching exon DNA and, after they arrived, I generated complementary DNA (cDNA) from extracted RNA and amplified the relevant region using the exonic primers and PCR. I used agarose gel electrophoresis to separate the amplified fragments according to size. I then cut the agarose gel to separate abnormally sized fragments and sequenced them using the same amplification primers.

It was determined from the sequences that there were exon deletions in the RNA that could be causative mutations.

Member, Lions Clubs International. 2013-2017

As a member of the Northeast Eye Opener Lions Club, I attended regular meetings and worked as part of a group at various community service-oriented projects. I also served on the board of the club and held a position at the district level where I engaged with youth initiatives at various clubs in the area.

Although volunteering is its own reward, for my contributions I was awarded several honors including a Bill Webber Fellowship For Sight, an International President's Certificate of Appreciation, and being made a Life Member of the Lions Foundation of Canada.

Privacy Policy

Copyright © 2021-2023 David Redl. All rights reserved.