Stefaan Van Hoof

Nachtegaalstraat 15 · Antwerpen 2060 . stefaan.van.hoof@gmail.com

A Software Simplicist

In the software world there are a lot of methodologies, principles and belief systems to design, write and maintain software. Throughout my years of experience and education, I have seen that one fundamental principle always seems to yield the best result. Simplicity.

My favorite methodology in software is test-driven development. Why ? Because it enforces simplicity on different coding styles. And to some extent it leads the way to the SOLID principles. Also it’s a natural fit for separating business logic in to logical units, as in domain driven design.

Another set of interesting technologies and principles I picked up through the years of working on Internet of things is the idea of messaging. Messaging is another very powerful way to separate blocks of software and just like test-driven development enforces simplicity on the smaller scale. Messaging promises to make the software simpler or at least more loosely coupled at the scale of architecture. Besides that, it can also be a very powerful tool when communication is needed across different platforms and code bases. Or in the case of the Internet of things, when communicating across small devices and services.

The last couple of years of my career have been taking a turn towards technical analysis and architecture, but again with a big focus on trying to keep complex systems as simple as possible. My experience has Taught me that all projects start out smooth but that the real art of software engineering is keeping it that way. Not a small feat, but one that can be accomplished by simplicity, automated testing and SOLID design principles, the three pillars of my carrier in software.

I hope that you have a better understanding of who I am as a developer and why I like to call myself a software simplicist.

Stefaan Van Hoof

Experience

Technical analyst & Solution architect

Baloise

At Baloise, i was primarily hired as a Technical analyst which function is to guide a part offshore and part local team in all technical issues concerning a new insurance software suite.

I was given the freedom to fill in this function as best i could. I came up with the idea to make a raw 'skeleton' project where i could quickly make outlines of how i structurally wanted the solution to look like. The other advantage was that i could now easily make Enterprise-Architect UML schemas to communicate these ideas across the different teams in the form of extensive design documents, especially to the offshore teams. My next step was to introduce test-driven-design, which i already incorporated naturally in my skeleton project to the rest of the team.

In conclusion, i succeeded in making a verry clear and fully documented architectural picture based on SOLID principles and communicate it across different teams, including an offshore team. Furthermore, i incorporated unit-testing as part of the team culture.

Technologies used: Sparx Enterprise Architect,REST API, full .NET stack SOA & DDD, AngularJs 4, Ts, Tfs, WCF, Oracle DB

2018 -

Software Developer & Technical analyst

SD Worx

At SD Worx, I was hired for my expertise in service oriented architecture and NServicebus as well as my ability to work independently. I was given a set of projects of which I was the technical owner and architect. The first project was connecting an SD Worx internal customer data distribution system to an external CRM.

My next project was creating a legacy long running process application into a modern web accessible service, I used common tools for the job, such as NServicebus, Web api and Swagger to achieve this. The team maintaining the application needed some additional training on web development, bus architecture and more importantly test-driven design, which I gladly provided.

Next was an internal GDPR testing data distribution framework. For SD Worx GDPR proof testing data which could be transferred from different environments is a very Important task that needed to be automated. I designed the web UI and background processes to achieve this. The biggest challenges in this project where coordinating different teams, managing their work, and filling the gaps where needed.

The web reporting tool, where I helped on the frontend as well as backend. I Implemented a Scheduling tool and worked on Important performance and stability Issues.

Technologies used: REST OData API, Dynatrace, Nservicebus, full .NET stack SOA & DDD, Control M, KnockoutJs, Angular, Js, Ts, Tfs, Git, Teamcity

2017 - 2018

Software Developer & Technical analyst

AGIDENS

At Agidens I’m working on a brand new industrial software platform (Factory 4.0). It aims to make the life of truck drivers and industry operators easier by helping to create smart factories. A lot of software needs to communicate in these environments and that's where my software communication expertise comes in.

Besides making things smart and connected, Agidens and Rombit realized that things need to look good as well. And I’m the lucky guy who is helping on this. My main contribution was introducing and implementing a service oriented architecture and connecting industrial devices using the AMQP/RabbitMQ message protocol. Also my expertise in WPF & MVVM was highly valued by my colleagues.

Technologies used: RabbitMQ, WPF MVVM, full .NET stack SOA & DDD, Visio, Git, TeamCity

2016 - 2017

Software Developer & Technical analyst

Fifthplay

Working on integration of energy measurement devices, thermostats, blinds, HVAC, ... on the Fifthplay Iot platform. we used a full .NET stack: C#, Nservicebus, MVC, EF and there was a lot of emphasis on testing and clean code. With NServiceBus/RabbitMq We created a full scaling service oriented Iot platform. I think it's fair to say that most of my technical skills find their roots in this project. Some of my colleagues were outsourced and needed some extra training and management, and i was happy to assist.

In AngularJs and Asp.net I designed and created a B2B single page style administration portal with the focus on a clean and user friendly UI.

Technologies used: RabbitMQ, WPF MVVM, full .NET stack SOA & DDD,Angularjs, webApi (Rest), Oauth 2.0, IdentityServer 2.0, Visio, Service insight, Azure, Git, Jenkins

2011 - 2016

Education

University of Antwerp

Bachelor of Computer Science
2009 - 2011

Turnhout Atheneum

GRAPHICAL DESIGN
2000 - 2006

Skills

Core Programming

  • Visual Studio
  • .Net full Stack
  • Sql Server
  • Oracle
  • Service oriented
  • RabbitMQ
  • NServicebus
  • Test Driven
  • Domain Driven
  • solid principles
  • MVVM WPF
  • Analysis

Web

  • HTML
  • CSS
  • WebApi 2.0
  • W.C.F
  • Javascript
  • Angular
  • Responsive
  • Jquery
  • Less
  • Bootstrap
  • Gulp
  • Npm

WorkFlow & Tools

  • Enterprise Architect
  • Scrum
  • Git
  • TFS
  • Jenkins
  • TeamCity
  • jira
  • continuous integration

Interests

Apart from being a developer, my favorite past time since my early 20's has been traveling around the world. Where i enjoy exploring different cultures, trekking in nature parks and above all enjoying the local cuisine.

On a more daily basis, i'm a little bit of a hobby cook and a general fan of all that is sci-fi.

Certifications

  • MCPD PRO: Designing and Developing Windows Applications Using Microsoft .NET Framework 4
  • MCTS prerequisite: TS: Windows Applications Development with Microsoft .NET Framework 4
  • MCTS prerequisite: TS: Windows Communication Foundation with Microsoft .NET Framework 4
  • MCTS prerequisite: TS: Accessing Data with Microsoft .NET Framework 4
  • I'm the proud owner of a Pluralsight account that i do regulary use.