Profile

Meinte is an expert in applying model-driven methods and technology such as domain modeling, language engineering and code generation to drive software development towards higher productivity, higher quality and reduced time-to-market. He also is an experienced, all-round and full-stack software developer for technological areas such as (but not limited to) JavaScript/TypeScript/Node.js, and Java. He likes to operate in a environment where open communication, innovation and initiative are valued - preferably in an Agile/Scrum way of working.

Meinte aims not just to achieve the goals set, but to do so by helping your organization become much more productive, acting as a "multiplier". He typically does so in the following ways:

Meinte has strong analytic and conceptual skills, while remaining pragmatic. He likes being challenged by situations where innovation and change are important success factors. He is capable of acquiring both a helicopter and a microscopic view and combining these to come up with an optimal solution. He is accustomed to take initiative and is able to voice his professional opinion in a clear, constructive and typically enthusiastic manner. He is communicative, reliable, knowledgeable and likes to coach co-workers.

Summary

Education: Master of Science/drs. in Mathematics (cum laude), University of Groningen, August 2002.
Languages: Dutch (mother tongue), English (excellent), German (good).
Date of birth: April 5th, 1977.
Residence: Leiden, the Netherlands.

Work experience

BiZZdesign (1/2017 - 7/2017)Consultancy on and development of BiZZdesign's Web Portal HoriZZon.
Mendix (10/2014 - 12/2016)Lead development of: Web Modeler, Model API+SDK, ModelShare.
ANWB (12/2013 - 7/2014)Developed Flow, a Web app for the Alarmcentrale, based on CQRS.
Ministery of Security and Justice (7/2013 - 11/2015)Developed REPRIS3.0, a public-facing Web app for doing advanced statistical analysis on delinquent data.
Más (mid 2011 - 2014)Developed Más, a Web-based domain modeling/language workbench.
Blaasfunctie.nl ([3-8]/2012)Developed a Web app supporting medical research, using in-house developed RAD solution.
Simlike (12/2011 - 9/2012)Lead development for Simlike, a Facebook application for planning social activities.
Intuit, USA ([4-9]/2011)Consulted on Xtext and language engineering for TurboTax.
Capgemini (8/2008-12/2010)Consulted on various projects and bids involving Model-Driven Software Development.
Atos (Origin) (1/2006-7/2008)Consulted on various projects involving Java development, Legacy Transformation and MDSD.

Methodologies and technologies experience

Domain ModelingDomain-Driven Design, CQRS, UML
Language EngineeringDSL design, structural and projectional editing, Xtext, EMF/Ecore, ANTLR, Intentional Software
Functional ProgrammingScala, Xtend, Java8, RxJS (Java-/Typescript)
JavaScriptNode.js, TypeScript, ES5/ES6, React, MobX, RxJS, Angular2+, jQuery
JavaJEE, Java 5-8, Spring, JPA, Play, Kafka
DatabasesMySQL, PostgreSQL, MongoDB, Oracle, SQLite, schema design
Integrated Development EnvironmentsEclipse, Visual Studio Code, IntelliJ
Application ServersJetty, Tomcat, Mendix, Google App Engine
Cloud servicesAmazon Web Services (Elastic Beanstalk, S3), Pivotal, Cloud Foundry
Process toolsGit, Subversion, Jenkins, JIRA
Rapid Application DevelopmentMendix (Model Server and SDK)
Work organizationAgile, Scrum, line management

Detailed work experience

BiZZdesign - HoriZZon (Web Portal)

PeriodJanuary - July 2017
RoleConsultant and developer
ActivitiesDevelopment, consultancy
TechnologyJavaScript/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

PeriodOctober 2014 - December 2016
RoleAll-round development lead
ActivitiesDesign, architecture, development
TechnologyJavaScript/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

PeriodDecember 2013 - July 2014
RoleJava developer
ActivitiesAgile Java development
TechnologyJava(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

PeriodJuly 2013 - November 2015
RoleContractor
ActivitiesRequirements gathering, implementation, delivery
TechnologyJava(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.

Más - domain modeling in the Cloud, made easy

PeriodMid 2011 - End of 2014
RoleFounder/owner
Activitiesvision and implementation
TechnologyXtend, 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.

Simlike

Period01-12-2011 - 01-09-2012
RoleTechnical lead
Activitiesoverall technical and development leadership, implementation of MDSD
TechnologyXtext/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.

Blaasfunctie.nl

PeriodMarch - August 2012
RoleTechnical lead
Activitiessoftware development, principal technical customer contact
TechnologyXtext/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

Period05-04-2011 - 30-09-2011
RoleDSL expert
Activitiesconsultancy on language development
TechnologyXtext/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

Period03-05-2010 - 01-02-2011
Rolemodel-driven software engineer
Activitiesimplementation of code generation
TechnologyFornax/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

Period09-06-2010 - 08-07-2010
Rolesoftware architect
Activitieswriting SAD, specifying Web services
TechnologyJava (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

Period31-05-2010 - 17-06-2010
Rolesolution architect
Activitieswriting 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

Period01-04-2010 - 01-05-2010
Rolesolution architect
Activitieswriting 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

Period15-03-2010 - 25-04-2010
Rolesoftware engineer
Activitiescommunication, presentation
TechnologyIntentional 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

Periods11-08-2010 - 01-02-2011, 08-02-2010 - 15-03-2010, 01-08-2008 - 24-10-2008
Rolesolution architect, MDSD engineer
Activitiesprototype building, MDSD evangelization
TechnologyJava, 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.

Period08-11-2008 - 05-02-2010
RoleMDSD engineer, J2EE developer
ActivitiesMDSD engineering, J2EE development
TechnologyJava (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

Period15-08-2008 - 17-09-2008
RoleMDSD engineer
Activitiesimplementation of generation of UML diagrams
TechnologyIBM 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

Period16-08-2007 - 01-08-2008
Rolesolution engineer
TechnologyUML 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

Period15-12-2006 - 01-08-2007
Rolesolution architect, MDSD engineer
ActivitiesMDSD engineering, J2EE development
TechnologyUML 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

Period01-05-2006 - 31-12-2006
RoleJava/J2EE developer
Activitiesmaintenance and enhancement of J2EE applications
TechnologyRelevant 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.