Senior Software Developer2018 - PRESENTIdWare
Technologies: Angular 7, .NET Core 2.2, C#, Web API, EF Core, Windows Presentation Foundation (WPF)
- Developed single-page apps for access management, based on an Angular 7 front end; it was built to support multiple languages and types of users (Angular Material and Bootstrap).
- Built a self-service kiosk application based on Windows Presentation Foundation (WPF).
- Developed back-end REST APIs in C#, using EF Core and .NET Core 2.2.
- Constructed a theming system for the Angular single-page apps based on hot CSS replacing.
- Composed scripts for CI/CD that supported standard configuration and any number of customer-specific customizations.
Founder1999 - PRESENTApplify
- Worked together with customers, talked about their goals and requirements, and then translated those goals into functional designs, architecture, and technical designs.
- Created estimations of software development projects by using a combination of Scrum, function point analysis, and operational risk management. In this way, I was able to give reasonable predictions of how long a project would take and how much it will cost.
- Developed a business application framework that is being used as the core of several custom made ERP applications used in the print sector by companies like Ricoh and Xerox. This framework is based on a centralized data dictionary that is the basis for many applications like CRUD, transaction processing, and reporting.
- Developed eCommerce tools for customers in the print industry. This required an in-depth understanding of the PDF file format and related technologies, optimizing the .NET server layer for maximum performance, and implementing interactive HTML5 interfaces for a maximal WYSIWYG experience when ordering books and other print products.
Application Designer | Lead Developer2017 - 2019Nexus Cura
Technologies: C#, ASP.Net Core, Angular 6/7, IdentityServer, PostgresSQL, CQRS, Marten, Machine Learning, HL7 FHIR, Jitsi
- Setup the application build and runtime (CI/CD) based on Docker/Docker Compose with a Windows development environment and Linux runtime.
- Implemented authentication by using Identity Server 4 and extending it with custom PostgreSQL configuration and username/password store, integration with Google, Live and Facebook SSO.
- Established the application architecture based on event sourcing and, written in .NET Core/C# on top of a PostgreSQL database.
- Exposed the functionality for the front ends via REST APIs and via a RabbitMQ queue.
- Built three different front ends based on Angular, mapping to the functionality in the Web APIs, based on Angular Material.
- Implemented machine learning for improved functionality in the app's search screens.
Senior .NET Developer2018 - 2018Radiant (Shell/Baker Hughes Joint Venture)
Technologies: C#, WCF, ASP.NET Core, Web API, Open API, Entity Framework, TSQL, WPF
- Performed an architecture review and tuning (replacing a crud application structure with better-performing commands).
- Conducted performance assessment and improvements (fine-tuning APIs and database structure).
- Handled a single sign-on implementation, integrating with Identity Server and Active Directory.
Architect | Developer2012 - 2017Delta Lloyd Asset Management
- Performed data modeling of a data warehouse for financial risk management. The database uses a couple of hundred of data sources with different types of financial data.
- Analyzed data sources and designed a future-proof data model where these data sources can be easily loaded.
- Applied TSQL on a SQL Server 2012 to develop complex procedures for data loading, validation, data quality, and consolidation.
- Wrote complex queries and stored procedures is a daily task.
- Optimized the performance and solved bottlenecks by investigating and troubleshooting.
- Designed a web-based workflow based on ASP.NET MVC4. This workflow is used to provide compliance with legal regulations that affect the financial risk management database for loading of a couple of hundred different data sources with financial information.
- Fulfilled client's specific needs; the client required very strict procedures with deployment to production and testing.
- Developed the necessary processes to establish unit testing of the .NET layer and the TSQL layer but also procedures for easy deployment of all application components over all of the environments (development, test, acceptance, and production).
- Worked a considerable amount with Solvency II and AIFMD regulations. Both regulations impose a number of specific data requirements, but also require some changes in the workflow in front to allow for compliance in general.
Developer | Architect2015 - 2016DGMR Software BV
Technologies: C#, WCF, PostgreSQL, Entity Framework
- Fine-tuned the PostgreSQL database (column types, indexes, and primary keys).
- Improved the usage of an Entity Framework, by applying eager v.s. lazy-loading as appropriate and by making sure that the Entity Framework generated the best possible SQL code.
- Replaced specific parts of the Entity Framework via direct SQL code (stored procedures and complex queries).
- Introduced multithreading in order to make better use of the CPU power on the application server. The system was performing a lot of data processing and advanced mathematical calculations.
- Ensured that full usage of the multiple CPUs and cores and the additional application servers by using service bus queues and the advanced multithreading features of C# and .NET.
- Reviewed code and coached other developers. The developers had experience with fat-client applications written in Delphi and VB6 and needed help to develop effective web-based and service-oriented solutions.
- Performed code reviews which resulted in hands-on training that I provided to developers to achieve better performance, security, or more correct code.
R&D Software Engineer1996 - 1997Compuware
Technologies: C++, Uniface
- Maintained the Uniface 4GL environment, being used by corporate to develop portable database-driven applications. Uniface was developed in C and C++.
- Designed and developed object-oriented extensions to the Uniface 4GL language. Introduced classes, objects, member variables, and functions to the runtime. Modified the parser, compiler, and interpreter.
- Improved the memory management system of Uniface to further improve the usage of RAM memory, reduce fragmentation, and improve garbage collection.
- Worked on a continuous integration environment where automated builds were done, but also automated merges of the development branches into the main development branch. This was based on the continuous system.
- Developed various sample and test applications in the Uniface 4GL system.
R&D Software Engineer1995 - 1996ThunderByte/ESaSS BV
Technologies: C++, Windows SDK
- Developed an API for interfacing with the virus detection and cleaning engine with Windows applications. This involved low-level mapping to assembly language modules.
- Built libraries in C++ for management of antivirus software of computers on the network from a central server application.
- Created a system for defining policies for scanning and cleaning; being a combination of real-time scanning, on-demand scanning, and scheduled tasks. This involved the development of a system for background processing on the Windows versions that did not have proper multithreading (Windows 3, Windows 95, Windows 98). This was implemented in C++ with Windows SDK.
- Constructed a file system driver in C to hook into the file system and perform real-time scanning of new files or changed files on the system.
- Worked in the integration of three different antivirus products into one common system in C++ with a common management user interface.
R&D Software Engineer1992 - 1995Exact Software
Technologies: C, C++, VB6, Windows SDK
- Developed a platform for porting from a DOS-based business application framework to Windows. This was a research project where I considered several Windows rapid application development environments based on C++, VB6, or 4GL language.
- Created a database abstraction layer to replace the proprietary file system database by an open database based on BTrieve and SQL Server.
- Developed a full-fledged order entry and processing application in VB6 based with a SQL Server.
- Created a data dictionary tool that could be used to define the data dictionary that was the basis for database deployment, migration, and generation of various applications.
- Implemented a distributed system for processing of financial ERP data on multiple computers based on Windows Services in C++.
Freelance Software Developer1990 - 1992B-Software
Technologies: C++, Clipper, FoxPro
- Designed business applications for warehouse management in the Clipper/dBASE development environment.
- Developed a workflow automation tool for the first independent daily newspaper based on custom-made tools created in C++, database applications in Clipper, and integrations with publishing processes in Ventura Publisher, CorelDRAW, and PostScript.
- Built a compiler for the Scheme functional programming language directly into assembly code. The compiler was developed in C++ and used an LALR parser.
- Composed a concurrent BTree algorithm.
- Developed a virtual machine system that was running my pseudo-code and implemented the algorithms in this language to simulate and measure concurrency.
- Used my virtual machine system to validate the scalability of the algorithm very easily. The system was developed in C++.