Demian Hiemstra

I'm a

About

As a full-stack developer, I have a passion for building scalable and secure applications that meet the needs of modern businesses. With more than 10 years of experience in the industry, I have a deep understanding of software development lifecycle, from requirements gathering to deployment.

I create high-performance and reliable back-end services that power web applications, I have used many technologies for building web applications and software product, including front-end frameworks like Vue.js and Angular, back-end frameworks such as .Net Core and Node.js, and databases like MS SQL and MariaDB.

Specialized in: .Net Core, Node.js, RESTful API, Microservices, MS SQL, MariaDB, MySQL, HTML5 CSS3, JavaScript, Typescript, Vue.js, Angular, jQuery, Bootstrap, Testing, TravisCI, CircleCI, BitBucket, Git, GitHub, Jira, Linux, RabbitMQ

Full-stack developer & Software architect.

  • Birthday: 3 September 1984
  • Email: freelance@hiemstra.se
  • City: Töreboda, Sweden
  • Age: 38
  • Degree: Master
  • Freelance: Available

Skills

Programming languages

.NET (and .NET Core)100%
AngularJS/VueJS100%
SQL90%
Python80%
Ruby on Rails80%
HTML 100%
CSS90%
JavaScript100%
Perl75%
Express.js75%

Languages

Dutch100%
English85%
Swedish (in progress)5%

Resume

Professional Experience

Software Architect - Freelance

2022 - Present

Strukton, The Netherlands

Senior Software Engineering Consultant - Freelance

2022 - Present

Hiemstra media Handelsbolag (own company)

As a full-stack developer, I have a passion for building scalable and secure applications that meet the needs of modern businesses. With more than 10 years of experience in the industry, I have a deep understanding of software development lifecycle, from requirements gathering to deployment.

More...

I create high-performance and reliable back-end services that power web applications, I have used many technologies for building web applications and software product, including front-end frameworks like Vue.js and Angular, back-end frameworks such as .Net Core and Node.js, and databases like MS SQL and MariaDB.

Specialized in: .Net Core, Node.js, RESTful API, Microservices, MS SQL, MariaDB, MySQL, HTML5 CSS3, JavaScript, Typescript, Vue.js, Angular, jQuery, Bootstrap, Testing, TravisCI, CircleCI, BitBucket, Git, GitHub, Jira, Linux, RabbitMQ.

Less...

Software engineer

2013 - 2022

Strukton, The Netherlands

At Strukton, Microsoft Gold Partner company, I was software architect / lead developer in a new product and rebuild an old product. This gave me a lot of experience in .Net Framework, .Net Core, C#, Azure Cloud, MSSQL, etc, but also designing, implementing, coaching and testing.

More...

The rebuild product, named POSS, was my latest project at Strukton. The architecture was based on microservices with RabbitMQ as eventbus. The microservices databases were MSSQL and the code was written in C#. We started with .Net Core 2 which were later on all updated to .Net Core 6 / 7. The Website was written in Vue.js for show the information from all the different microservices. Hosting was done on Ubuntu (Linux). I had also setup devOps (CI/CD) in the project. Started with the tickets in Jira, code check-ins in GitHub and builds in TravisCI. A pull-request (PR) was merged to the develop after the PR was reviewed and built on a feature-branch. Check-ins on develop were automatically deployed via TravisCI through a jump-server on the test server. Check-ins to the master were deployed on production.

Keywords: microservices, c#, .Net Core, MSSQL, SQL, Linux, RabbitMQ, lead developer, architect, devOps, CI/CD, TravisCI, Vue.js, GitHub, Jira

I took care of the new product, named Argios, during the whole period I worked at Strukton. The backend was built in .Net Framework 4.5 and updated to the latest 4.8. The website was built in AngularJS and the first app was written in Cordova and later rewritten to PWA in Vue.js. Argios was hosted in Azure cloud. For this project a lot of communication with the customers was needed to get the best product as possible. We used Jira for tickets, GitHub for code and Jenkins for builds. I also setup CI/CD for this product.

Keywords: WebAPI, c#, .Net Framework, MSSQL, lead developer, architect, AnguarJS, Vue.js, GitHub, Jira, Jenkins, PWA

I always was involved in getting the process as smooth as possible, from devOps to testing and was coaching others.

Less...

Software engineer

2011 - 2013

Nedap Healthcare, The Netherlands

Worked as software engineer with as job to improve and maintain the software of client administration and planning/roster.

More...

The planning/roster software is written in Ruby on Rails. The development was done in TextMate within an OSX environment. The client administration software is written in Java on top of JBOSS. I was using Eclipse within an OSX environment of the development.

Github was used to backup the code and to keep track of all the changes.

Less...

Software engineer/architect

2009 - 2012

Internet Profiler (own company), The Netherlands

The goal of this project was to creating a user profile by analyzing the behavior of the person on the computer and internet and sent alerts by mis- or abnormal behavior.

More...

The project contains a website on a the internet and software for on the computer of the user. The website was created in php5 (object oriented), lots of javascript, smarty (template system) and mysql5.

The software was created in C# and implemented on top of pcap (packet sniffer) and API’s too IE, Outlook, MSN, etc. The software was running on dotnet 3,5. I had to implement Layer 2-7 of the OSI model to analyze the packets. The software was broken down into two main components. A desktop applications which can interact with the user (killing forbidden applications/websites, etc) and a service which analyze the packets and updated automatically the program when there was a new update available.

All the data that is stored in the database was already encrypted at the client side. There was no way to see the data to keep the privacy of the users as high as possible and the risk of leaking any information as low as possible. This all was done by RSA and AES. The password of the user was used to decrypt the data and kept save by their own password. The encryption was done by the software on the computer of the user and decryption was done in the browser of the user through JavaScript.

I worked in a Eclipse on an Linux environment for programming the website and used Virtual Box to get a Windows environment for programming in Visual Studio 2005. SVN was used to keep track of changes within the code.

Less...

Internship Software engineer

2008

Dell-ZING, Silicon Valley, USA

Implementing internet radios on a mp3 player and prototyping.

The mp3 player was running on Linux with mono. Most of the software I made was written in C# with some native calls to C++. I had to create software for the device and for the website which was also written in C#.

More...

By prototyping I had to implement every idea I came up with and looks cool on the device. One of my creation was a flickr/picasa app, where it was possible to show all your online pictures on the mp3 player. There was a webkit engine running on the device which I was using. So I made this application by a simple python website and the fancy CSS3 animation options of webkit.

For writing the software I used Visual Studio 2005. For getting the build on the device I used cygwin or a Linux computer.

A couple of months after my internship Dell canceled sadly enough the project.

Less...

Software engineer/architect

2005 - 2008

Become Secure (own company)

Online security scanner for websites. Designing, implementing and hosting websites with the emphasis on security.

More...

The scanner was made out of modules and used dynamic binding for loading the modules. The reason for this was to load a module without stopping the scanner. It was very stable and I did never had to stop or restart the program. The scanner was running on multiple computers to maintain almost 100% uptime, this was done because the scanners were running from home internet connections.

Perl was the main language of the security scanner. It was running on a Linux system.

The functions of the scanner were to detect the three most common bugs: XSS (Cross Side Scripting), SQL injection and File Inclusion. After scanning the website it generated a rapport which contained: where the bug is, the dangerous level of the bug and how to fix it. There was also a “proof” option, where the scanner automatically hacked the website. The scanner was able to get automatically information of the server and/or database by exploiting the vulnerabilities.

The website was written in php5 and was almost full object oriented. The database behind the website was mysql5 and was running on a Linux system.

My programming environment was UltraEdit 9 on Windows.

Less...

Education

Master's degree, Psychology

2009 - 2013

University of Twente

Specializations: Human Factors and Media Psychology.

Optional subjects: Cognition and Media, Experimental psychology, Knowledge and reasoning, Traffic Psychology.

Core subjects: Data Analysis and Measurement, Media Psychology, Human Computer Interaction, Research in Human Factors, Human Error

Bachelor's degree, Software Engineering

2004 - 2008

Saxion University of Applied Sciences

Specializations: Middleware, Advanced Algorithms (pre-master CS)

Optional subjects: Design Patterns, Functional Programming, Cryptology, Implementation of Programming Languages.

Services

As a full-stack software engineer and architect, I offer a wide range of services related to software development, architecture, and deployment.

Web application development

Custom web applications using a variety of programming languages, frameworks, and libraries, such as Angular, Vue.js, Node.js, Ruby on Rails, .Net Core , and others

Mobile application development

Native, hybrid, PWA mobile applications for iOS and Android platforms, using technologies such as React Native, Xamarin, or Ionic.

Backend development

Design and develop the server-side components of a software application, including databases, APIs, and web services, using tools such as MySQL, PostgreSQL, MS SQL, or .Net Core.

Cloud computing

Design and implement cloud-based solutions for applications, leveraging platforms such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP)

DevOps

Help teams automate their software development, testing, and deployment processes, using tools such as Docker, Kubernetes, Jenkins, or Git.

Technical architecture

Designing the overall structure of software systems, including their components, modules, interfaces, and interactions.

Contact

Location:

Sörhyltan 11, 54591 Töreboda