Kurt Lourens
Senior Software Engineer
Full Stack Engineer with 7+ years of experience in developing technological solutions for large companies. I find that the best way to learn is to build! I love creating beautiful and striking front-end user experiences, blazing fast APIs, services, etc, that follow best practices and building amazing user experiences for mobile. Throughout my career, I have been involved in numerous projects and collaborated with diverse teams, which has significantly deepened my technical skills and also enhanced my abilities in mentoring, presenting, managing expectations, and leading projects. My goal is to continue learning all that I can and use that knowledge to create more opportunities to learn! 😂

About Kurt Lourens 

  about.me/kurt.lourens

Full Stack Engineer with 7+ years of experience in developing technological solutions for large companies. I find that the best way to learn is to build! I love creating beautiful and striking front-end user experiences, blazing fast APIs, services, etc, that follow best practices and building amazing user experiences for mobile. Throughout my career, I have been involved in numerous projects and collaborated with diverse teams, which has significantly deepened my technical skills and also enhanced my abilities in mentoring, presenting, managing expectations, and leading projects. My goal is to continue learning all that I can and use that knowledge to create more opportunities to learn! 😂
Currently living in Almere, The Netherlands.

P.S. I also have a blog, Inside my Mind - by Kurt Lourens. I haven't been making use of it as much as I could have, but I have written an article on it about how I made this site and all the effort I put in to make it the best that it could be click here to read it 😁.

Work Experience 

Entelect Netherlands-Senior Software Engineer

October 2021 - Present

Senior Software EngineerAmsterdam, The Netherlands

Through various courses and opportunities within the project I was able to show Entelect and BEE123 that I am able to design complex systems, develop solutions, mentor team members and manage sprints for the team. There is still a lot to learn and I look forward to the opportunities and possibilities made available to me going forward with this new position

Entelect-Senior Software Engineer

July 2021 - September 2021

Senior Software EngineerJohannesburg, South Africa

Entelect gave me the opportunities to grow, mentor and lead. Over the years I can see how I have changed from hacking together code to someone who plans, strategises, follows best practices and works with their team to achieve the client's vision. I am so thankful that Entelect saw my potential and helped me achieve this title.

Entelect-Intermediate Software Engineer

January 2019 - June 2021

Intermediate Software EngineerJohannesburg, South Africa

I am very thankful Entelect recognised my abilities and promoted me to an Intermediate Software Engineer. Entelect gave me a lot of opportunities to use and improve my soft skills. Such as organising of team lunches, building relationships with clients and their employees, being in charge of onboarding new members and taking large chunks of work as if they were mini projects and so on.

Entelect-Software Engineer

January 2017 - December 2018

Software EngineerJohannesburg, South Africa

Entelect really encourages all of it's employees to continuously learn, and when you are in I.T. that is extremely important. Entelect has given me many opportunities to grow my knowledge with the crazy amount of initiatives that they allow/provide. I have been exposed to new ways of structuring code, (CI) continuous integration, (CD) Continuous delivery and much more. I have worked on a few side projects for the teams that I have been a part of. Such as a Build Monitor and Timesheet App.

Red Ruby IT-Co-Owner

January 2014 - Present

Co-OwnerJohannesburg, South Africa

I joined Red Ruby IT with a focus on Web Design and Web Hosting Management as well as looking into mobile application development for the android platform, with multiple android applications on the Google Play Store that I designed, latest one released was Red Ruby IT Client which allowed our clients to view details about their domains such as registration date, expiry date, recurring fee and so on. I did some work as a developer (up until December 2016), performing Website Development using ASP.Net and Mobile development with Xamarin as well as making use of Ionic to create hybrid apps.

Vuma-Junior Sales Rep

January 2016 - June 2016

Junior Sales RepJohannesburg, South Africa

Working for a great company trying to bring world class internet to South Africa, my role was to speak to people who had recently had fibre installed in their neighbourhood and get them to have the fibre be installed into their homes.

Endeavor Mining-I.T. Intern

January 2015 - January 2015

I.T. InternNzema Mine, Ghana

I worked for Endeavour Mining - Adamus Resources Ltd, Nzema Ghana as an intern. I worked with virtual servers using a hypervisor (VMWare ESXi 5.1.0) to install create Windows Server 2008 R2 and 2012 environments as well as configure them to make use of Group Policies and Active Directory Management.

Projects 

  
Entelect-Rabobank Rabo Labs

December 2022 - Present

Rabobank Rabo LabsUtrecht, The Netherlands

I joined Team Nomads within the Digital Platform Tribe. This project allows the teams within Rabobank to allow users to test out their new experimental features without having to build their own systems to limit who can view & test their experiments. Our solution standardizes the process across the teams and we take care of allowing a certain amount users to access new features and collect analytics & feedback from them


Kotlin Kotlin NodeJS Azure DevOps Angular
Entelect-Rabobank TAS

December 2021 - December 2022

Rabobank TASUtrecht, The Netherlands

My first project in the Netherlands! I joined team Atlas within TAS, to help build software to monitor all the Azure DevOps projects within Rabobank as well as automate the process of migrating 1900+ projects to around 30 projects, merging many of the teams into Tribes, Chapters, Areas and Squads. Within this team we make use of a lot of Azure services, CLIs, SDKs, etc to automate tasks that would take a lot of time away from the many teams


DotNet Core Azure App Services Azure DevOps Azure DevOps REST API
-AssistantApps

August 2020 - Present

AssistantApps

Website Github Translation tool Web Components Admin page

After building the Assistant for Scrap Mechanic I realised that there was a lot of functionality that was shared between is and the Assistant for No Man's Sky. I created a common library in Dart to write shared functionality once and have it be reused across the different apps as well as having a central API for common functionality. I hope to continue expanding the number of apps that fall under the AssistantApps brand! 💪


DotNet Core Flutter React Angular Svelte SignalR Azure DevOps Redis Swagger SASS
-Assistant for Scrap Mechanic

August 2020 - Present

Assistant for Scrap Mechanic

Google Play Store Apple App Store Website Github

After the success of the Assistant for No Man's Sky I wanted to try building another app making use of all the knowledge I had gained and try to do some aspects of the apps better. This was also a way for me to experiment with Flutter for Web. This app did not have the same amount of success as the Assistant for No Man's Sky, but I learned a lot and now I have an example of how to do a Flutter app that is responsive on Mobile, Tablet and Desktop screens!


DotNet Core Flutter PWA Azure DevOps CodeMagic.io Swagger
-Assistant for No Man's Sky

July 2019 - Present

Assistant for No Man's Sky

Google Play Store Apple App Store Website Youtube

During a few days while my home internet connection was down, I picked up the game No Man’s Sky again. While playing I was frustrated with the crafting mechanics of the game and how it expected the player to remember over 1200 different items and crafting recipes. I wanted an app that would allow me to get those recipes as easily and fast as possible. There was one app on the Google Play Store, however a lot of its functionality was behind a pay wall. So I decided to build my own version using Flutter. As of August 2021 (2 years later) the apps reached 70 000 active users! 🎉


DotNet Core Flutter React Angular Svelte Redux Azure DevOps CodeMagic.io Redis Swagger SASS
Entelect-BEE123

April 2019 - December 2021

BEE123

app.bee123.co.za bee123.co.za

I moved on from Hollard to work on the then Sage BEE123. It was a lot older project than what I had been exposed to before. This did lead to some interesting problems such as migrating to latest technology within an old framework. On this team we also had a lot more control over things like deploys and business decisions, which gave everyone in the team exposure to problems we would not have had to deal with.


.Net Framework DotNet Core Durandal React Azure App Services Azure DevOps SignalR SASS WordPress
-Flutter CV App

March 2019 - April 2019

Flutter CV App

View on Google Play Store

I still had the interest for building apps that was sparked by Hollard's Customer App, but I had gotten tired of waiting for Xamarin to compile. I had a few small POCs of React Native apps which I thought would be easy to create since I had React experience. During this time Flutter had just been announced that it was production ready. So I decided to learn Flutter and Dart by making an App as my CV.


Flutter NodeJS Azure DevOps
-BTS Portal

February 2019 - Present

BTS Portal

app.btsra.co.za

This project was the second version of the BTS Site Status website. It was rebuilt with dotnet Core and Angular 7. It was quite a challenging project as we needed have all the same functionality of the old project as well as add new features, while maintaining the old project.


DotNet Core Angular PWA Arduino SASS
Entelect-Hollard Easy4Business

January 2019 - March 2019

Hollard Easy4BusinessJohannesburg, South Africa

While I was working on the CQT team, a new project was started called Easy4Business. Which was formed from some of CQT's members. CQT shared knowledge and helped set up Easy4Business. I mainly helped in setting up their CI / CD and using Typescript and Redux as I had learned a lot about these from my home projects. I learned a lot about starting projects on the right foot.


DotNet Core React Redux Formik SASS
-RemoteConfigs

July 2018 - December 2019

RemoteConfigs

remoteconfigs.com

This project was started from a problem that a friend of mine had which was managing his configs across multiple apps. This solution allows users to save the configurations as key value pairs and then retrieve those values through a Restful Api. Some of the cool things we added was a Nuget package so our users could get started quickly and Variants (which allows a user to set up simple logic to return different configs based on the current date, day of the week or random percentage chance). In the future we aim to have asymmetric encryption, user based A/B testing, hit user webhooks on certain events, and an NPM package. This app makes use of RemoteConfigs to get the in App announcements.


DotNet Core JQuery Swagger NPM Azure DevOps SASS
-Cards Against Humanity

June 2018 - July 2018

Cards Against Humanity

cah.kurtlourens.com

I started this project because I wanted to learn about SignalR, as I was going to need it in the Build Monitor project. This project ended up being a really good learning opportunity. I got to learn some C# image manipulation (cutting the Cards from Cards Against Humanity's official Cards PDF) , some Optical character Recognition (using Microsoft's Cognitive services to read the words on each of the Cards), some in browser text to speech (HowlerJS reading the Card's text out loud), QR code generation and Reading (So that people wouldn’t have to enter the GameId manually) and A LOT of CSS animations. Some of the best animations that I have done in any project.


DotNet Core Angular SignalR Azure DevOps PWA SASS
-Build Monitor

March 2018 - December 2019

Build Monitor

monitor.kurtlourens.com

While I was working on the CQT team, we had a Raspberry PI that was our build monitor. It was just running the VSTS (at the time, now Azure Devops) dashboard. However the PI would often become overwhelmed and the web page would go into not responding (we theorised that the dashboard webpage was just to heavy). I created an AngularJS app to serve as our build monitor. Eventually I recreated it in Angular 6. Ever since then our team's PI has been happily trudging along.


DotNet Core Angular Azure DevOps PWA SASS
BTSRA-BTS Site Status

March 2018 - October 2018

BTS Site Status ̶p̶o̶r̶t̶a̶l̶.̶b̶t̶s̶r̶a̶.̶c̶o̶.̶z̶a̶

BTS was a small project which showed the status of cellphone towers in South Africa. BTS had about 300 devices with a range of meters each, that were attached to cellphone towers across South Africa. Each of these devices would inform PnPScada what the tower's voltage, amps, electricity usage, etc were. Myself and Morné created a .Net Core Api with an AngularJS front-end to display this data to BTS clients who wanted to know how much electricity their towers were using as well as the last time the specific tower was 'online'.


DotNet Core Angular Azure DevOps PWA SASS
-KhaozNet IoT

February 2018 - Present

KhaozNet IoT

In the beginning of 2018 I attended an Entelect Makers Club, it instantly sparked my interest in Arduino. It felt like a whole new world had been opened up for me, one where my software could affect the real world. Since then I have made quite a few Arduino contraptions, such as hooking up a Garage Remote so that I can open my garage from my app, from anywhere in the world. My garden has sensors for Temperature, Humidity, Soil Moisture and the ability to switch the water on and off (which I plan to automate in the future).


DotNet Core Angular Arduino Azure DevOps PWA SASS
Entelect-Hollard CQT

August 2017 - March 2019

Hollard CQTJohannesburg, South Africa

CQT is an internal system to help Broker Consultants create quotes. We integrated into many services at Hollard. The team had quite a lot of say in the technologies used. The technology stack that we ended up going with (React frontend and C# MVC .Net Framework backend) caused us to spend a lot of time learning (mostly React) and we ended up with quite a bit of technical debt due to time constraints and pressure from business. We were one of the first teams in Hollard to have a fully automated CI / CD pipeline and we set the golden standard on how to do deployments at Hollard. I grew a lot in this project. In the beginning I was the only Junior in the team of 5. As the team grew I was able to take on some more responsibilities. I became known as the 'Senior Grad' up until my promotion to Intermediate Software Engineer.


.Net Framework React Semantic UI Azure DevOps
-TennoDex

July 2017 - August 2019

TennoDex ̶t̶e̶n̶n̶o̶d̶e̶x̶.̶c̶o̶m̶

TennoDex has been my longest running side project. It simply consumes a Web Api and displays data, but it's technology stack has grown as I have. TennoDex has been rebuilt from the ground up more than 3 times by now, each time with a new tech stack. Initially TennoDex was a .Net Framework Web Api with an AngularJS front-end, then it was a .Net Core Web Api with an Android App built with Xamarin. Currently TennoDex is a .Net Core Web Api with a ReactJS front-end and an Android App built with React-Native. What makes the latest version special is that the Web App and the Mobile App use the same Typescript objects that are generated by the Web Api as well as sharing the same logic (i.e. mostly only implementing the native presentation layer. For the web: HTML, CSS and Javascript. For Mobile: React Native Components).


Angular React Redux Azure DevOps PWA Xamarin React
Entelect-Hollard Customer App

March 2017 - July 2017

Hollard Customer AppJohannesburg, South Africa

I joined a team at Hollard Insurance in Parktown North, where I worked on their Customer App built with Xamarin. It was quite a tough fit as I did not have any real experience with Xamarin. This move was only temporary, as Hollard wanted me for a project that was to start soon after I joined. I learned a lot from working on that team and it sparked an interest in App Development. I went on to create the first version of TennoDex (Xamarin app with a C# .Net Core Api backend) in my spare time using what I had learned.


Xamarin

No projects selected

Publications & Certificates 

-Demystifying IoT

Aug 2021

Demystifying IoT

Demystifying IoT.pdf

I contributed to a publication on IoT managed by Entelect. It introduces you to what IoT is, what components and projects are common and popular, and gives you an overview of designing an IoT solution and the difficulties and complications inherent in this type of IT project.

-Bsc Computer Science and Informatics

2013 - 2016

Bsc Computer Science and InformaticsJohannesburg, South Africa

4 Year degree, BSCIT Extended degree.

-Assistant / Tutor

February 2014 - July 2014

Assistant / TutorJohannesburg, South Africa

My responsibilities included helping students find the resources they required to complete their weekly practical assignments. Give advice on their practicals and to not do the practicals for them

-BizSpark Start-up Business Development Programme

March 2015 - March 2015

BizSpark Start-up Business Development ProgrammeJohannesburg, South Africa

I have completed the Microsoft BizSpark Programme, which was focused on Business Development.

-Matriculated from King Edward VII School for Boys

2008 - 2012

Matriculated from King Edward VII School for BoysJohannesburg, South Africa

Matriculated with university exemption.

Latest Blog Posts 

Migration to Mastodon

Mastodon

Twitter

NoMansSkySocial

Migration to Mastodon

How I joined thousands of developers, jumped the Twitter ship and headed for the great plains of Mastodon! The migration to Mastodon as been awesome!

Azure DevOps agent on Ubuntu 22.04 LTS

QuickFix

Software

Azure DevOps agent on Ubuntu 22.04 LTS

How I recently set up an Azure DevOps agent on Ubuntu 22.04. This post describes a workaround for the "No usable version of libssl was found" error message.

Why does software decay?

Software

Maintenance

Why does software decay?

Why is it that some software projects work decades after initial development and other projects require constant upkeep? Does the software we write today have an expiration date?

Migrating to React from Durandal, slowly

migration

react

Migrating to React from Durandal, slowly

One of the client projects that I work on makes use of Durandal and KnockoutJS for their front end. This approach is quite old, so old that Durandal's Github repository has not received significant updates in several years and has even been archived.

About this Website

I originally built this website while I was in university. I had very little understanding of html, css, and javascript. I mostly copy-pasted html with inline styles and grabbed javascript from Stack Overflow to make the site 'work'. Around the  19th November 2018  I started rebuilding the site with the intention of making it small, fast, SEO friendly and to apply as much of what I had learned onto the new site. I wrote a blog post about the redesign  click here to read it.

As part of the redesign this website has an automated CI / CD pipeline: Website build status Website deployment status
The  Flutter CV App also has an automated CI / CD pipeline:  Website build status Website deployment status

I created a blog post about my Flutter App's CI / CD pipeline,  click here to read it.

Go to playground website
Click here to go to a desktop top like experience, showcasing some of the cool things I have worked on!