Detailed work experience
Belastingdienst (Dutch Tax and Customs Administration) - Agile Law Execution Factory (ALEF) and PoC Gegevens
Period | October 2017 - present |
Role | Team lead |
Activities | Team leading, language engineering, and software development |
Technology | JetBrains MetaProgrammingSystem (MPS), Java(EE), FICO Blaze, IBM DB2, JavaScript and HTML |
The Agile Law Execution Factory (ALEF) is a no-code environment that allows business analysts to capture tax law as a collection of rules, backed by a data model.
This environment is based on the JetBrains MPS language workbench, and provides a coherent system of Domain-Specific Languages to specify all aspects of a Web service for executing tax law rules: data model, business rules, service definitions, test scenarios, and various other languages in a supporting role.
It's currently used in several projects within the Belastingdienst, with great success and impact.
Meinte joined the ALEF MDSE team as a co-team lead, to improve both the product as well as its development process.
Due to the combination of his extensive language engineering knowledge and general software development skills, Meinte was able to pick up this role quickly and efficiently.
He was able to implement many improvements, putting the ALEF product and its roadmap on a more solid footing.
In particular, he pushed actively for extensive knowledge sharing across the team by introducing Pull Request-based code reviews, and documentation practices.
Before joining the ALEF team, he started as a consultant on the Proof-of-Concept project "Gegevens".
This project was an effort to unify the way that the tax service deals with data coming in from various sources in a consolidated and efficient manner.
Central to this was creating a modeling environment with languages that allow domain experts to define what form this data may have, how it may change through time and how inconsistencies can be resolved.
Meinte developed this modeling environment, from which a working software system was generated, using MPS.
BiZZdesign - HoriZZon (Web Portal)
Period | January - July 2017 |
Role | Consultant and developer |
Activities | Development, consultancy |
Technology | JavaScript/TypeScript, Angular2+, RxJS, Java8, Play framework, Kafka, PostgreSQL |
BiZZdesign is a software company that produces a desktop-based tool to model large-scale businesses for architectural and communicative purposes.
Meinte was hired to create and implement a Web Portal that allows BiZZdesign clients to share and edit their models over the Web, based on Meinte's extensive experience he gained from working with Mendix and creating Más.
Next to that, Meinte was asked to consult and advice with regards to BiZZdesign's way of working (Agile, Scrum), team dynamics, and quality improvement.
HoriZZon, the BiZZdesign Web Portal brings together a number of components and technologies:
a Web application written in TypeScript using Angular2+ and RxJS,
a Restful backend (the Repository API) written in Java using Lightbend's Play framework and running against a PostgreSQL database,
a Kafka-backend written in Java, as well as several existing BiZZdesign-specific microservices to interop with the desktop-based modeler (Enterprise Studio).
Due to his broad software engineering experience and his language engineering in particular, Meinte was able to ramp up very quickly, and become pivotal in bringing the Web Portal to its first releases.
He was able to support the team in the use of the functional programming paradigm in general and with RxJS in particular, and pushed it towards a more effective use of Scrum.
He was also able to provide the Product Owner and CTO with advice about team dynamics, and pave the way for quality improvement by driving code improvements, writing of tests, and moving towards CI and CD.
Mendix - Web Modeler, Model API and SDK, ModelShare
Period | October 2014 - December 2016 |
Role | All-round development lead |
Activities | Design, architecture, development |
Technology | JavaScript/TypeScript, React, Xtext/Xtend, Node.js, AWS (Elastic Beanstalk, S3), Pivotal (Cloud Foundry), MongoDB |
Mendix is a company that provides a low-code aPaas (application-Platform-as-a-service) solution, where you can model your applications using a visual modeling language and deploying them frictionlessly to the Cloud.
Meinte was hired by Mendix for his knowledge on model-driven software engineering, language engineering and especially implementing Web-based model editors.
At Mendix, he has spearheaded a number of efforts which capitalized on his expertise.
The most important project was the Web Modeler (recently released)
which is meant to move the modeling capabilities of their Windows-based Business Modeler to the Web, and open Mendix up for citizen developers.
For this, Meinte has been instrumental in making technology choices, drawing up the architecture and pushing implementation forward.
The Web Modeler uses a client-server architecture for storing models on-line: the Model SDK and Model Server, respectively.
Meinte has been instrumental in creating both, again making technology and architecture choices, implementing large parts of these products, and promoting their use in- and outside of Mendix.
The Model SDK and API have been made generally available, and several Mendix partners have already been making good use of these to open up and programmatically analyze/change/update/migrate their models.
To efficiently create the Model SDK and API, Mendix has started an effort to formally describe the meta model underlying its visual modeling language.
Meinte has used his knowledge of Xtext, Xtend to guide and help with the creation of MxCore, a bespoke meta modeling language.
He has also used his experience with legacy transformation to harvest existing code into its meta model form.
Meinte was also part of the effort to create Mendix Model Share, which is a product to share certain types of Mendix models with anyone.
ANWB - Flow
Period | December 2013 - July 2014 |
Role | Java developer |
Activities | Agile Java development |
Technology | Java(EE, 8), JavaScript, jQuery, Angular, JPA (Hibernate), Spring, IntelliJ/IDEA, CQRS, Axon, WebSockets (STOMP) |
Flow is an application used by the ANWB Alarmcentrale to perform the entire (pre-billing) process
regarding helping customers stranded with their vehicles, from the incoming phone call to hand-over to the Wegenwacht
or European partners and such.
The ANWB intends for Flow to replace the legacy applications (Care, Alias) latest in 2015 as well as to be a platform
to build new services on, compliant to their Fit philosophy.
Flow is a JavaEE application with a Angular-driven frontend. As per Q2 of 2014, the project has transitioned to
a CQRS-based architecture, using the Axon and Spring STOMP frameworks, effectively starting a new code base.
Meinte was one the Java developers for this application, responsible for enhancing and Refactoring the existing code base
as well as adding new functionality, writing tests, performing detailed analyses and user testing and solving production incidents.
He was instrumental in pro-actively urging/coaching the team to take seriously the task of documentation
(which was effectively lacking altogether) of the code base and development environment.
Also, he brought to the table his Refactoring experience to realise a large-scale Refactoring of the existing code base.
Finally, he has advocated a transition to the new architecture.
REPRIS3.0 - Recidivemonitor, WODC, Ministerie van Veiligheid en Justitie
Period | July 2013 - November 2015 |
Role | Contractor |
Activities | Requirements gathering, implementation, delivery |
Technology | Java(EE, 6), JavaScript, jQuery, JDBC, Jetty/Tomcat, Guice, Less; MySQL, Oracle databases |
Repris is a public-facing application offered by the Recidivism Monitoring Group of the Scientific Research and Documentation Center
of the Ministry of Safety and Justice with which so-called survival analyses can be performed within configurable, anonymised
sub populations of delinquents. The Group wanted to enhance this application with more advanced analysis configuration possibilities
and the possibility to have authenticated users with variable privileges.
Meinte is the prime contractor of this project, responsible for everything from
drawing up the tender, to requirements gathering, implementation, testing, documentation, to final delivery
including an installed and working acceptance environment, as well as managing his subcontractor
who took care of layout/design (CSS).
In order to allow for the required analysis enhancements, Meinte had to reimplement the entire analysis based
on raw data whereas the old application essentially only had to serve up precomputed data. To fulfil the other
requirements, he has implemented a workbench for use by the Group themselves. The application is implemented
in the N-tier rich client-server style using ReST-like communication, mainly over JSON.
Period | Mid 2011 - End of 2014 |
Role | Founder/owner |
Activities | vision and implementation |
Technology | Xtend, Eclipse, Java(6), JavaScript, jQuery, Google App Engine, Objectify |
Más is a domain modeling workbench in the Cloud which provides
users with the capability to create domain modeling languages and models using those languages,
all in one browser-based tool without the need to install software.
Meinte is the sole initiator of this project, so he's responsible for architecture, development,
presentation, marketing and everything else. The workbench consists of a backend hosted with
Google App Engine and written using Xtend/Java. The frontend consists of a Web application
written in HTML5, JavaScript with jQuery and ReST-like communication with the backend over JSON.
Period | 01-12-2011 - 01-09-2012 |
Role | Technical lead |
Activities | overall technical and development leadership, implementation of MDSD |
Technology | Xtext/Xtend (Eclipse EMF/TMF), Eclipse, Java(6), JavaScript, jQuery |
Simlike was a startup creating a Facebook application which
aims at integrating finding social activities and planning these
with friends and handling with the activities' vendor.
Within Simlike, Meinte has made himself responsible for technical and development leadership,
acting as architect and coach for the development team, bridging the gap that traditionally exists
between designers, generally contributing from his software engineering and process experience,
and introducing Agile and Scrum practices.
Also, Meinte has introduced Model-Driven Software Development as a means to be able to code the
application on a level of abstraction that coincides with that of the functional design so that
the functional design can be validated and changed quickly.
At first, mobl was used but after that was found to be
inadequate, Meinte has headed the development of a set of proprietary DSLs
which are better fit-for-purpose.
Period | March - August 2012 |
Role | Technical lead |
Activities | software development, principal technical customer contact |
Technology | Xtext/Xtend (Eclipse EMF/TMF), Eclipse, Java(6), HTML5, JavaScript, jQuery, MySQL, JDBC |
Blaasfunctie.nl is an application which is part of a urological research effort conducted from
within the Erasmuc Medical Center, Rotterdam. It allows patients to record measurements pertaining
to their bladder function and doctors to review these and give advice accordingly. The more standard
part of this advice is captured as a decision tree process within the application. Next to that,
alerts are sent to the doctors in case of anomalous measurements and potentially dangerous situations.
For this project, Meinte has done all of the software development work (both front- and backend)
as well as conducting regular acceptance and Sprint planning meetings
- the Agile methodology was used. Also, he co-wrote the project proposal.
For the implementation, he was able to effectively re-use his knowledge of and experience
with custom-built programming languages for rapid software development - again for both front- and backend
development.
Intuit - tech refresh
Period | 05-04-2011 - 30-09-2011 |
Role | DSL expert |
Activities | consultancy on language development |
Technology | Xtext/Xpand/Xtend (Eclipse EMF/TMF), Eclipse, Java(6) |
Intuit is a large supplier of consumer and small-business financial software.
Within Intuit, Meinte has consulted on two internal projects, providing advice on existing and future language implementations, showing various Best Practices, demoing a number of Proof-of-Concepts and making teams of software engineers more self-sufficient with the chosen technology.
Meinte's efforts have helped the team achieve short-term improvements, as well as paved the way for their mid- to long-term goals.
ProRail - Geluidsregister
Period | 03-05-2010 - 01-02-2011 |
Role | model-driven software engineer |
Activities | implementation of code generation |
Technology | Fornax/Sculptor, Xtext/Xpand/Xtend (Eclipse EMF/TMF), Eclipse, Java (Java6), code generation |
The ProRail GeluidsRegister is a central data warehouse system to monitor sound intensity measurements near train routes and tracks.
For the development project of this system, Meinte was asked to advice on the use of code generation to improve the developers’ productivity and time-to-market (which was necessary because of the short timelines) and to help with the implementation of it.
After having chosen appropriate open source code generation tooling, Meinte has helped to install that tooling and integrate it within the project, has customized the tooling to comply with the required target architecture and has provided knowledge transfer to the team regarding the tooling, effectively making the team self-sufficient.
The use of code generation has definitely allowed the project to boost its productivity and ability to deliver on time, while allowing the team to focus on the real difficulties.
ING - HomeBanking.be Export & Search
Period | 09-06-2010 - 08-07-2010 |
Role | software architect |
Activities | writing SAD, specifying Web services |
Technology | Java (Java6), Eclipse (3.6 Helios), Web services (WSDL, XSD), Java Persistence API (JPA), EJB 3.x, Xtext and Xpand (Eclipse EMF) |
The HomeBanking system for Belgian ING customers lacked functionality to export historical transaction data (journal items) to a textual or spreadsheet format. This data can only be obtained from a batch-oriented backend (mainframe) system. Capgemini has been asked to deliver a middleware solution which is able to orchestrate the export process by scheduling export requests, requesting exports with the backend systems, processing the results and making these available to the end user from a storage system.
Meinte was tasked with assisting the lead software architect in writing the Software Architecture Document and specifying the Web services provided by the middleware through a WSDL and XSDs, conforming to ING’s standards.
For specifying the WSDL and XSDs, Meinte has devised a solution based on Domain-Specific Languages which allowed himself and others on the project team to deliver these rapidly, even with changing requirements.
BNP Paribas Fortis - Pacific replacement
Period | 31-05-2010 - 17-06-2010 |
Role | solution architect |
Activities | writing proposal |
A proposal for the equi-functional replacement of the Pacific legacy system has been drafted on the basis of a combination of RUP and test-/behavior driven scenarios capturing the functionality and requirements of the current application.
Aegon - FHS replacement
Period | 01-04-2010 - 01-05-2010 |
Role | solution architect |
Activities | writing proposal |
Aegon has a mortgage mid-office system (FHS) whose maintenance process is increasingly complicated by legacy tooling. Therefore, Aegon issued a RfP to perform a technical migration of the software, after an earlier attempt at a functional rewrite by another system integrator turned out to be infeasible and not cost effective.
Meinte was tasked with devising a solution for Aegon. His experience in model-driven software engineering turned out to be instrumental in drafting a solution of which Capgemini was confident that it was the best fit for the customer, in that it both respected the desire for a technical migration while at the same time recognizing the intrinsic business value of the existing legacy software and re-using that value as much as possible.
Euroclear Bank Sa - Requirements Workbench
Period | 15-03-2010 - 25-04-2010 |
Role | software engineer |
Activities | communication, presentation |
Technology | Intentional Domain Workbench, Java, Eclipse, Swing (Jigloo) |
Euroclear is an international clearing bank whose processes require a large amount of custom developed software. Euroclear’s in-house development capacity is not sufficient so the client has outsourced a large part of its design and implementation activities to Capgemini Belgium. A consequence of this is that the effort has moved from development to requirements gathering and technical specification, which severely threatens the intended reductions in cost and time-to-market. Euroclear, Capgemini en Intentional Software have partnered in a Proof-of-Concept for a Requirements Workbench based on the Intentional Domain Workbench tooling. This workbench allows Euroclear to gather and describe its requirements in a completely consistent and much more compact manner, which even allows the largest part of the required software to be directly generated from these descriptions.
Meinte served as the technical liaison between Euroclear, Capgemini and Intentional Software and was responsible for demoing the prototype Requirements Workbench during a number of presentations for Euroclear. His experience with and knowledge of model-driven engineering in general and the Intentional tooling in particular, as well as his aptitude of (technical) presentations, have clearly contributed to the success of the PoC and the presentations.
Capgemini (internal)- MDSD prototyping
Periods | 11-08-2010 - 01-02-2011, 08-02-2010 - 15-03-2010, 01-08-2008 - 24-10-2008 |
Role | solution architect, MDSD engineer |
Activities | prototype building, MDSD evangelization |
Technology | Java, Eclipse, Xtext (Eclipse EMF/TMF), Xpand, OSGi |
Meinte has constructed Domain-Specific Languages (DSLs) for various domains and deployed these in a Web/cloud fashion, with the intent to test the technical/architectural suitability and usability of these DSLs and the method of deployment. Among the domains are: IRMA, mortgage product descriptions and rules, descriptions of data models, descriptions of dynamic screen, XML schemas. With these DSLs, Meinte has "evangelized" MDSD within Capgemini.
Besides that, Meinte has contributed his experience to several proposals (RfIs, RfPs) and projects, both MDSD-specific and outside, and contributed to Capgemini's IP on MDSD and Legacy Modernization.
Allianz Nederland Levensverzekering N.V.
Period | 08-11-2008 - 05-02-2010 |
Role | MDSD engineer, J2EE developer |
Activities | MDSD engineering, J2EE development |
Technology | Java (Java5), Eclipse (3.5 Galileo), (IBM) EGL, Groovy, Hibernate 3.0, Spring IoC (2.5), Spring MVC & WebFlow, UML modeling, code generation, Xtext & Xpand (DSL tooling) |
Allianz needed a new mid-office system for the mortgages sales process, entailing both mortgage request processing as well as product catalogue management. Capgemini was responsible for the development of this Web-based mid-office system and executed it completely in-house, partly using right-shoring, partly using model-driven, UML-based methods and technologies (code generation) which enabled business analists and developers together to implement the application with a much higher productivity and quality than was otherwise possible.
Meinte was tasked with maintenance and enhancement of the proprietary MDSD tooling (UML profiles, Java code generator) as well as with developing part of the central use case of the application. Besides that, he was tasked with quality assurance on the source code and enhancing the development process.
Because of his expertise in MDSD, his ability to quickly "get to grips" with an existing application architecture and organization and his natural tendency to coach and challenge, Meinte has played a key role in turning this project into a development success.
ING.nl - Ringo documentation generation
Period | 15-08-2008 - 17-09-2008 |
Role | MDSD engineer |
Activities | implementation of generation of UML diagrams |
Technology | IBM RSA/RSM 7, UML 2.1, Xtend (Eclipse EMF M2M/openArchitectureWare), Java |
Ringo is an internally-facing ING application which is being maintained and enhanced by Capgemini. Because of lack of up-to-date and sufficiently detailed documentation on the level of software components, ING and Capgemini have chosen to track and log the actual runtime behavior of the application in order to derive interaction diagrams.
Meinte was tasked with implementing tooling to automatically transform the logged tracing information into UML Sequence Diagrams. He was able to do this quickly because of his prior experience with model-to-model transformation technology and UML. This has led to an significant reduction of the documentation effort required because a large amount of data was quickly and repeatedly transformable in ready-to-use, completely accurate and correct UML models.
Atos Origin - Legacy Transformation Factory
Period | 16-08-2007 - 01-08-2008 |
Role | solution engineer |
Technology | UML modeling, Eclipse EMF (Xpand, Xtend, Xtext: openArchitectureWare), Java, Relativity tooling |
The Software Development & Maintenance Center (Emerging Technologies) wanted to set up a Legacy Transformation Factory for efficiently transforming legacy software to a modern, more future-proof and maintainable form, with a focus towards transforming COBOL software to J2EE applications.
Meinte’s task was to envision, create and manage all the technical details which were required for this innovative technologies. To this end, he has developed several technologies and components and drafted methodology and process designs for the Legacy Transformation Factory, as well as performing reviews on third-party legacy modernization tools. Besides that, Meinte has helped several projects out by implementing technological and process improvements, mainly based on model-driven software development. He has also participated in a number of bids which were not directly related to his primary field of interest.
Kamer van Koophandel - Handelsregister
Period | 15-12-2006 - 01-08-2007 |
Role | solution architect, MDSD engineer |
Activities | MDSD engineering, J2EE development |
Technology | UML modeling, Eclipse EMF (Xpand, Xtend, Xtext: openArchitectureWare), Java, Relativity tooling |
The Chamber of Commerce (KvK) has a large number of COBOL applications, running on (physical) IBM AS/400 mainframes. To be able to guarantee future-proofness of these systems, KvK wanted to see whether a (semi-)automatic transformation of such legacy software was possible in order to reduce migration costs and dependence on knowledge which had partially left the organization.
Atos Origin was asked to come up with a Proof-of-Concept for such a modernization approach, based on model-driven engineering. The central idea was to use the existing source code to reverse engineer the requirements into a formal, consistent and verifiable application model and to generate modern software (J2EE) directly from that.
Meinte was tasked with building a large part of the actual solution, using the Application Modernization Workbench tooling of Relativity (now part of MicroFocus) to parse and process the legacy COBOL sources.
Meinte has played a key role in the development of every aspect of the eventual solution which was able to transform a significant part of the legacy system under consideration, not in the least by inspiring and guiding the whole team.
Ahold/Albert Heijn - WiSE, Momo, Pallas
Period | 01-05-2006 - 31-12-2006 |
Role | Java/J2EE developer |
Activities | maintenance and enhancement of J2EE applications |
Technology | Relevant technologies: Java (Java1.4), J2EE (JSP, JSTL, tag libs), Struts, PDA hardware, Windows CE |
Albert Heijn has numerous in-house Java/J2EE applications to support their operations, among which are the WiSE software for store employees’ hand-held computers, the Momo store goods ordering system and the MicroStrategy-based Pallas business intelligence software.
Meinte was tasked with taking over the maintenance for these systems from other system integrators (Capgemini, E-id!), performing corrective and adaptive maintenance and enhancements.