Front-end Developer2020 - PRESENTApt304
Technologies: Nebular, CubeJS, ECharts, SVG, SCSS, TypeScript, Angular
- Migrated a management/configuration application from Angular 1.5 to Angular 8.x by fully rewriting the UI.
- Implemented a new responsive design replacing Nebular components with custom components.
- Developed a drag-and-drop workflow designer in HTML, CSS, and SVG.
- Integrated e-charts for dashboards with CubeJS for interfacing with the PostgresSQL back end.
Lead Developer2020 - 2021X-Systems
Technologies: WebRTC, Janus MeetEcho, Socket.IO, MariaDB, Express.io, Node.js, TypeScript, Angular
- Integrated a Janus MeetEcho WebRTC streaming gateway in an Angular front-end for a Zoom-like experience. The Angular UI is developed in a modular and reactive fashion to support multi-user interactions and solve responsive issues.
- Developed a multi-user coordination server based on Socket.IO, TypeScript, Node.js, and Express that takes care of synchronizing the UI of all participants at online conferences and meetings.
- Modified the underlying database to make it GDPR compliant by adding an encryption layer. The database is being used by three server services and two REST services written in Node.js, TypeScript.
- Dockerized the whole application and prepared it for Kubernetes.
- Coordinated five freelancers working off-shore on various development tasks in the UI or back end. Prepared technical task descriptions, provided coaching/development support, and performed code reviews and integration testing.
Lead Developer2019 - 2020Applify
- Designed a meta-language based on JSON to describe the application structure.
- Developed a code generator in TypeScript based on Node.js. This code generator is generic in structure and based on templates.
- Developed back-end templates based on Node.js, MongoDB, TypeScript, and Nest framework.
- Built front-end templates based on Angular, Bootstrap.
- Created work-breakdown for an off-shore team of two employees.
- Provided support for the off-shore development team, performed code reviews, and coordinated test activities.
Senior Full-stack Software Developer2019 - 2020Gulf Coast Solutions
Technologies: Entity Framework Core, Web API, C#, .NET Core, jQuery, React
- Developed a new front end in React.
- Extended the front end to support collaboration with SignalR.
- Added custom data sources and plugins to the Handsontable grid.
- Developed an interactive PDF editor with PDF.js and Konva.
Senior Software Developer2018 - 2019IdWare
Technologies: Windows Presentation Foundation (WPF), Entity Framework Core, Web API, C#, .NET Core, Angular
- 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.
Application Designer | Lead Developer2017 - 2019Nexus Cura
Technologies: Jitsi, HL7, Machine Learning, CQRS, PostgreSQL, Identity Server, Angular, ASP.NET Core, C#
- Set up the application build and run-time (CI/CD) based on Docker/Docker Compose with a Windows development environment and Linux run-time.
- 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. Mapped to the functionality in the Web APIs, based on Angular Material.
- Implemented machine learning for improved functionality in the app's search screens.
- Provided daily management for a senior UX designer, a senior back-end developer, and a junior front-end developer.
- Made sure that end-user requirements were met, by translating requirements into tasks organized in sprints.
- Provided guidance to our develoopers to meet compliance requirements with respect to data security and privacy (GDPR) and created policy documents for external users.
Senior .NET Developer2018 - 2018Radiant (Shell/Baker Hughes Joint Venture)
Technologies: Windows Presentation Foundation (WPF), T-SQL, Entity Framework, OpenAPI, Web API, ASP.NET Core, Windows Communication Framework (WCF), C#
- 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.
Founder1999 - 2018Applify
- 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.
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 T-SQL 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 T-SQL 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: Entity Framework, PostgreSQL, Windows Communication Framework (WCF), C#
- Fine-tuned the PostgreSQL database (column types, indexes, and primary keys).
- Improved the usage of an Entity Framework, by applying eager vs. 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 multi-threading 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 multi-threading 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: Uniface, C++
- 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 run-time. 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: Windows Azure SDK, C++
- 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 multi-threading (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: Windows Azure SDK, Visual Basic, C++, C
- 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 on 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: Visual FoxPro, Clipper, C++
- 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++.