Personal
- Nijmegen
- mh.joosten666(at)gmail.com
- @traveller1505
- joosten-industries.nl
- blog.joosten-industries.nl
- keigezellig
- mh.joosten666
- Maarten Joosten
Education
Period | Institute | |
---|---|---|
2000-2005 | Hogere Informatica | Fontys Hogescholen Eindhoven |
1993-2000 | VWO | SG Sint Michiel/Graaf Huyn College Geleen |
1987-1993 | Basisschool | Basisschool St Martinus Beek |
Courses
Period | Course | Institute |
---|---|---|
2015 | Intenzivni kurs srpskog jezika | Radionica za srpski jezik i kulturu, Beograd |
2013 | Modern C++ | ALTEN |
2009 | Implementatiecursus HL7 versie 3 | Stichting HL7 Nederland |
2007 | MCTS: Microsoft .NET Framework 2.0 - Application Development Foundation | Self-study |
2005 | MCP: Developing and Implementing Web Applications with Microsoft Visual C#TM .NET | Self-study |
2005 | Foundation Object Oriented Programming (Exin) | Self-study |
Natural languages
- Dutch: native
- English: fluently
- German: professional
- Bosnian/Serbian/Croatian: reasonable
Experience
BDR Thermea (may 2024 - now)
(on consultancy basis through ALTEN)
Position: Developer
BDR Thermea produces boilers, heat pumps, and other energy-generating devices in various European countries under different brands. In the Netherlands, they are known under the name Remeha. Part of their portfolio also includes a smart thermostat that can be controlled via a mobile app. Both the app and the thermostat are connected to the cloud.
My tasks and responsibilities:
- Being part of the development team that is partially based in Spain.
- Developing and testing the mobile app.
- Contributing ideas and implementing improvements in code quality and the development process.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git | Flutter, Android, IOS |
Schluss (oct 2023 - apr 2024)
(on consultancy basis through ALTEN)
Position: Team lead
Schluss is a non-profit organization focused on developing and implementing a digital vault. Users can store their personal data with the aim of maintaining control over which individuals, organizations, and companies can access this information. The system includes an Android/iOS app where users can manage their data, which can come from various official and unofficial sources. On the backend, there is an infrastructure that allows for secure sharing and retrieval of this data (consider identity providers such as DigiD, EID, etc.). Everything is based on open standards and open source.
ALTEN has been asked to assist Schluss in further developing and implementing their vision, as previous teams primarily worked on proof of concepts.
My tasks and responsibilities:
- Assembling a team within ALTEN (5 people)
- Establishing a development process according to Agile/Scrum
- Contributing to technology choices
- Contributing to architecture decisions
- Communicating with the client
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git | Flutter, C#, MAUI |
Philips Healthcare (sept 2023 - oct 2023)
(on consultancy basis through ALTEN)
Position: Consultant
Within the Business Unit IGT, several graphically intensive clinical applications are hosted and run as virtual machines within an AWS environment. Now, there is a desire to enable these applications/VMs to run on a stand-alone system for demonstration and training purposes, as the users of these VMs are in locations where network connectivity can be an issue.
My tasks and responsibilities:
- Choosing the appropriate virtual machine technology. Which technology is suitable? Since these are graphically intensive applications, the technology must support GPU passthrough (so that the VM can directly communicate with the host GPU).
- Manually installing the respective applications on a VM created with the chosen technology to verify if the applications indeed run.
- Automating the creation of the VM and the subsequent installation of the mentioned applications.
- Documenting the installation process for the end user.
Applications & tools | Languages/APIs/Frameworks |
---|---|
HyperV, VMWare |
ALTEN (jun 2023 - sept 2023)
Position: Developer & Scrum Master
For recruitment purposes at ALTEN, a Space Invaders variant was developed using Godot (an open-source game engine) and C#.
My tasks and responsibilities:
- Migrating the code from Godot 3.0/.NET 6.0 to Godot 4.1/.NET 7.0.
- Migrating the source code repository (git-based) from Redmine to Azure DevOps.
- Setting up an Azure DevOps environment for issue tracking.
- Serving as the Scrum Master for the software team.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Azure Devops, Visual Studio Code, Git | C#, Godot, .NET 7.0 |
Kulicke & Soffa (mar 2021 - june 2023)
(on consultancy basis through ALTEN)
Position: Developer & Scrum Master
At Kulicke & Soffa, pick-and-place machines are manufactured for the electronics and chip industry. Some types of these machines are used for placing LEDs on screens. Within the team (7 people) responsible for the software controlling these LED placement machines, I worked as both a developer and a Scrum Master.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Microsoft Visual Studio | C++ |
BlueConic (apr 2020 - mar 2021)
Position: Developer
BlueConic is a CDP (Customer Data Platform). It enables companies to collect data from users which for example visit their website (or other systems),
for the purpose of creating profiles of these users. These profiles are used for analysis purposes and for targeted marketing campaigns.
The profiles are stored in a Cassandra database and indexed through Solr to make searching through very fast.
The data can be accessed through a REST API and a Web UI. Through a plugin mechanism integrations with other systems can be made.
Everything runs within an AWS cloud.
I worked on the backend side of the platform, which is made with Java 8 and uses OSGI.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Docker, AWS, Cassandra, Solr | Java 8, OSGI |
Philips Healthcare (oct 2019 - apr 2020)
(on consultancy basis through ALTEN)
Position: Developer
Within in Business Unit IGT i worked on a cloud solution for sharing information, like images and other images, from clinical trials of medical imaging systems that are used during medical procedres. These images and files can be viewed with specific clinical (medical) applications. The solution runs in a AWS cloud environment together with the clinical applications and it consists on the backend site of a number of microservices. These microservices, written in Python, take care of getting the data from the different imaging systems and store them in a S3 bucket. There is also a web UI, created with React, to make it possible for a user to upload images and/or files themselves.
I worked both on the backend and frontend (implemented functionality like authentication/authorisation, upload functionality)
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Docker, AWS, Cloud Foundry | Python 3.6, React, Typescript |
Wärtsilä (mar 2018 - oct 2019)
(on consultancy basis through ALTEN)
Position: Developer
Expert Insight is a product within Wärtsilä which enables customers and engine experts to have insights in the state of their assets (ships engines and other rolling equipment of a ship) and predicts if maintenance is necessary. This should make planning and execution of maintenance easier and more cost-effective.
The product consists of a data pipeline that collects sensor data from a ship's engine. This data is then fed into a neural network which will detect possible anomalies. These anomalies are then shown in a UI in which the customer can create a case out of it. Engine experts within Wärtsilä can look at those cases and their feedback is sent back to the customer but also used as input to train the neural network.
The data pipeline consists of a number of docker based microservices which are partly developed in Java (data collection) and Python (neural network) Kafka is used for communication between the microservices and is also used for storing the raw sensor data from different data sources. The whole pipeline runs in Kubernetes in an AWS cloud environment.
I worked on the development of the data collection part and i was also involved in architectual and design decisions.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Docker, AWS, Kubernetes, Kafka | Java 11, Python 3.6, Spring Boot, Kafka Streams |
Eniram, a Wärtsilä company (jan 2017 - mar 2018)
(on consultancy basis via ALTEN)
Position: Developer
Eniram is a company within Wärtsilä that specializes in energy management solutions and services in the shipping industry (especially for cruise and container vessels). The project I worked on is a system that enables the captain, and also other stakeholders ashore, to receive notifications on a mobile device which is relevant when sailing (e.g. the vessel deviate of its planned course, too many wind in that particular area). Parts of the system include:
- Data collection pipeline to generate notifications (Python 3.5).
- Web application for configuration purposes (who receives which notifications) (Java 8, Play framework, Postgres).
- Mobile app for displaying the actual notifications (iOS).
The data collection pipeline and the web application are setup as dockerized microservices and run in Kubernetes in a Google cloud environment.
I was involved in the development, design and architecture and i also worked on the iOS application.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Docker, Google Cloud, Kubernetes, RabbitMQ, Postgres, Keycloak | Java 8, Python 3,5, Swift, Play Framework |
Wärtsilä (nov 2015 - jan 2017)
(on consultancy basis via ALTEN)
Position: Developer
Wärtsilä is a company that is active in the shipping and the energy sector with products like engines, propellors and also supporting services like maintenance. I worked on the Java 6 to Java 8 migration of a data acquisition platform to collect data from vessel engines. This data is used for further analysis.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Docker, AWS, Postgres | Java 6, Java 8, Springboot |
Greefa (jan 2015 - oct 2015)
(on consultancy basis via ALTEN)
Position: Developer
Greefa is a company that produces fruit sorting machines (mostly apples and pears). The machine measures different parameters (weight, size, color etc.) and sorts accordingly. This all can be configured by the customer in software. The application developed for this purpose is a C#/WPF application and the UI was developed in collaboration with an UX designer.
I was involved in development of the C# (backend) side of the application.
Applications & tools | Languages/APIs/Frameworks |
---|---|
SVN, Visual Studio 2012, MS SQL Server | C#, WPF |
CCV Holland BV (aug 2013 - dec 2014)
(on consultancy basis via ALTEN)
Position: Developer
CCV makes payment terminals for credit and debit cards which are used in shops and parking garages. I was involved in the development of a new payment terminal platform. This platform will support contactless payments and will be first rolled out in parking garages. The contactless cards contain a RFID chip and make it possible to pay without physically putting the card in a terminal.
The platform is based on a modified Linux kernel and a base C layer which implements low level features like security. On top of that a C# application running on Mono which implement the actual payment flow according to a standard protocol which is called CTAP.
I worked as a developer on the C# application but I also helped with testing and supported the build process by writing some Bash scripts for the build server. I was also partly involved with the design and architecture of components. An example of this is a component to retrieve version and other configuration data from a terminal.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Mecurial, Visual Studio 2012, Linux | C#, Mono |
Ton Peeters Venray (may 2013 - may 2013)
(on consultancy basis via ALTEN)
Position: Consultant
For the redesign of the web based backoffice system that the company delivers to their customers I advised on the migration of ASP.NET Web Forms to ASP.NET 4.0 MVC. By creating a small prototype I explained to fellow workers the general MVC pattern and how this is implemented in ASP.NET 4.0 MVC.
Languages/APIs/Frameworks |
---|
C#, ASP.NET |
Wärtsilä (sep 2012 - apr 2013)
(on consultancy basis via ALTEN)
Position: Developer/Team coach
The New Panel Product is a set of devices (levers, touch screen displays and indicators) and accompanying embedded software. These devices are used and built in on the bridge of a ship and it enables the captain to control the propulsion of a ship. The communication with the propulsion systems (engines, propellors) goes over a number of CAN busses and CANOpen is used as the protocol.
I worked on a application which enables a service engineer to remotely:
- Upload new firmware to device, through TCP/IP.
- Monitor and configure a device, directly over the CAN bus.
As a developer I was responsible for the design and architecture of the backend as well as the frontend. The application was created with C# and WPF and was designed with a plugin architecture in mind (by using the Prism framework) As a team coach I set up the development process according to Scrum/Agile and supported other developers by sharing knowledge on technical and non-technical subjects.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Git, Visual Studio | C#, .NET, WPF, Prism, CAN/CanOpen |
Qualcomm Enterprise Services (feb 2012 - jun 2012)
(on consultancy basis via ALTEN)
Position: Developer
TrailerTracs is part of a hardware and software system that is used for fleet management. It collects data from trailers and trucks, especially temperature data, because this is mainly used in cooled trucks that transport perishable goods. The data is then stored in Omni Express which is basically a black box in the truck. This black box will then send its data to a central server which is used to monitor the truck and the driver.
In more detail TrailerTracs is a device based on a PIC processor that collects temperature data from external temperature sensors which are mounted in the truck and/or trailer. As a developer I implemented a driver in C for two types of temperature sensors. Part of this was also building support for these temperature sensors in the TrailerTracs simulator (written in C++).
Applications & tools | Languages/APIs/Frameworks |
---|---|
Svn, Visual Studio | C, C++ |
ALTEN (dec 2011 - feb 2012)
Position: Developer
ALTENCon is a platform designed by ALTEN to quickly create mobile applications for fairs and conferences. The platform consists of a database and a webapp with backend for the organising party and an Android application for the visitor. With the mobile application the visitor has access to practical information of a conference such as a map, information about speakers/standowners. This information is maintained by the organisers.
As a developer I was responsible for developing the backend and improving the Android application to work correctly with the backend.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Eclipse | Java, Android |
Patientline (dec 2010 - feb 2012)
(in-house project at ALTEN)
Position: Developer
MMT stands for Multimedia Terminal and is an infotainment system for patients that Patientline offers to hospitals. It consists of a bedside terminal which runs an application that enables the patient to use services like watching TV, listening to the radio, internet, skype etc. Some of these services need to be rented and payed for by the patient
The terminals run on Windows XP Embedded and the application is developed in C# and WPF is used for the UI and they also communicate with a backend and database through a couple of webservices.
As a developer I worked on the application, the setup of the OS on the terminal and on the backend. For example I created a modukle that shows the rental status of a service
Applications & tools | Languages/APIs/Frameworks |
---|---|
SVN, Visual Studio | C#/.NET, Delphi, Windows Embedded, WPF, WCF |
UMC Sint Radboud (mei 2010 - jul 2010)
(on consultancy basis via Logica)
Position: Developer
At the UMC St Radboud hospital an in-house developed system is used for the registration and planning of administering medication to a patient, called the MEPD (Medicatie Electronisch Patientendossier, can be translated as Electronic Patient Medication System) On the ICU (Intensive Care Unit) a system called ICIP is used which does the actual administering of medication, so there was a need to integrate these systems. The challenge here was difference in data formats between the two systems, MEPD works with HL7 version 3 and ICIP works with HL7 version 2 (HL7 is a medical communication standard, see http:/www/hl7.org)
As a developer I did the fundamental design and also partly the implementation of a generic message framework that the rest of the development team could use to implement the integration between the two systems. This messaging framework was eventually used for other similar projects within the hospital.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Visual Studio, MS SQL Server | C#/.NET |
UMC Sint Radboud (oct 2009 - oct 2010)
(on consultancy basis via Logica)
Position: Developer
Within the NICU (Neonatal Intensive Care Unit) of the UMC St Radboud hospital there was a need for an application that supports doctors and nurses in planning and execution of medical procedures on early born babies. The application has been developed, tested and rolled out by the software development team within the UMC Radboud organisation.
As a developer in the team I was responsible for development (and unittesting) of the frontend (web application) and the backend and storage.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Visual Studio, MS SQL Server | HL7 v3, C#, ASP.NET MVC, ADO.NET Entity Framework |
UMC Sint Radboud (jul 2009 - okt 2009)
(on consultancy basis via Logica)
Position: Developer
'Digitale Poli' is a webportal on which patients of the UMC St. Radboud can see part of their medical file. The data for this portal comes from different backend systems and to retrieve this data some web services needed to be developed.
As a developer within the team I did implementation and documentation of these webservices.
The webservices were released (after testing) to another team which did the actual integration with the web frontend.
Applications & tools | Languages/APIs/Frameworks |
---|---|
SVN, Visual Studio | C#/.NET, WCF |
Océ Technologies (okt 2007 - jun 2009)
(on consultancy basis via Logica)
Position: Developer
Océ Technologies in Venlo is the Dutch main R&D office of Océ in the Netherlands. Océ is a worldwide producer of copiers and printers.
OMDs is a system that is developed by the internal IT organisation and contains the master data of all the parts of every printer/copier in their product line and their lifecycle. If a new product comes on the market (or phased out) it is registered in this system. The registration is partly manual through a web application and partly automatically with data transferred from the central warehouse through a BizTalk interface. The data is stored in an MS SQL Server 2005 database.
The local Océ sales organisations use the data from OMDs for their own backoffice systems. These systems are fed automatically by a BizTalk interface. With the web interface it is also possible to generate reports.
As a developer I was responsible for:
- Implementing change requests in the web application.
- Migration of SQL Server Reporting Services 2000 to SQL Server Reporting Services 2005.
- Creation of a report model in Reporting Services 2005 to enable users to create their own reports.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Visual Studio, SQL Server 2000/2005 | ASP.NET |
Pro Rail (jun 2007 - sep 2007)
(on consultancy basis via Logica)
Position: Developer
Within ProRail (the organisation with is reponsible for the Dutch railway network) an web application called 'WAAI' (WebApplicatie Actuele Infrabeschikbaarheid) is used to get insights into current issues (delays and planned maintenance) on the Dutch raiway network. It can show the issues on a map but also as a list.
The data used comes from several backend systems and interfaces with those systems are implemented as webservices and through BizTalk. Evertyhing is stored in a MS SQL Server 2000 database and for the generation of the map ArcIMS GIS is used.
The application is also used for the communication to the travellers.
As a developer I was responsible for:
- Building new functionality, extended the webapplication with pages for the maintenance part.
- Bug fixing.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Visual Studio, SQL Server 2000/2005, ArcIMS GIS | ASP.NET |
Newway (feb 2006 - may 2007)
Position: Developer/Test-engineer
Newway is a company specialized in software for POS systems for the retail sector. As a developer/test-engineer i was responsible for:
- Test automation.
- Research of migrating the software from WinDev to .NET.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Visual Studio, Windev | C#/.NET |
Philips Medical Systems (aug 2004 - jan 2005)
Position: Graduate student
Within the Business Unit Cardio Vascular (CV) I did research on improvements of diagnostic application for medical imaging devices. For this I did a strenghts/weaknesses analysis on the existing application and used the recommendations to make a design for a new and improved application.
Applications & tools | Languages/APIs/Frameworks |
---|---|
Visual Studio | C#/.NET |