CV Benoît Rolland

Rule engine design. State machine over a precursing REST architecture. ... as well as to stream datas passed from java to Catia C++ processes. Use of RxJava.
237KB taille 43 téléchargements 304 vues
Benoit ROLLAND 40, rue des Tartres 92500 Rueil-Malmaison ☎ +33(0)6.15.88.36.05

Software architect Java 13 years, C++ 3 years Fluent English: TOEIC 900 Driver licence 44 years

[email protected]

Skills

Expertise domains:

Data management: Data -quality, -analysis and migrations. Reporting. Relational-, Graph- or Document- , BI- or big-data- Datamodel design. Search-engines. Software design and development: Application Servers, hosting services, scripting, proof of concepts, algorithms, micro-services, messaging, GUIs, POCs Collaborative workflow solutions, PDM and CRM: 3DCOM, LCA V5, EV6 Engineering- Program- Library-Central. E-DEAL. Functional domains: PLM: Digital mockup, configuration, effectivities (VPM, CATIA, ENOVIA, 3DVIA), Design and manufacturing industrial process modelling tools (DELMIA, Daimler-Truck process). Eco-Design: Creation of a software for process-based rather than digita-mock-up-based environmental impact and regulatory conformity check (REACH, WEEE/DEEE, RoHS) integrated with ENOVIA Material Compliance Central. Distribution: water and electrical, Enedis and Veolia IS. Software and IS Architecture : Re-architecting of IS-integrated AWS portal solution on the occasion of continuous delivery set-up (Veolia) with the help of a external continuous-integration specialized advisor and another internal technical leader. Design and programming of Java solutions, including Big-Data, web-, micro-services and data-migrations. Design of a data-model based GUI generatior. Angular Front-ends. Optimized task-scheduling system design. Asynchronous multithread Architectures. Xml streaming including xpath-based processing. Rule engine design. State machine over a precursing REST architecture. Fail-safe file and C++ objets streaming. Data modelisation usingUML or Merise. Project Management: Remote transversal task-force management. Collection of client’s needs and enhancement requests. Planning, task scheduling, progress monitoring, validation criterion fulfillment, guaranteed dates. Daily-meetings holding, progress meetings and monitoring commitees. Results demonstrations to clients and partners. Méthodologies: RUP, V-RFLP cycle (Dassault Systèmes), Scrum and Agiles. Test driven developments. Technical coaching of an internship students by Delmia R&D for the web rendering of the Process and System phases of the PPSR model; and during Eco-design research project. Documentation et communications : Technical Architecture documentation of Veolia’s customer portal hosted on aws. Publications in Dassault-Systèmes’s blog about my projects and technical experiments. Tutorial writings for ENOVIA LCA trainings. Documentations describing usage of API opened to clients for customization of LCA and DELMIA softwares. Technical architecture, General and detailed specifications, use-case and tests definition. Software installation and use documentation. Tools

Backend

Frontend Autre

Expérience

Development : Java: 12 years. Eclipse, Spring-Boot Spring-Cloud, Junit, ant, maven, git, JRE/J2EE 1.8, Hibernate, JPA etc... C++: 3 years (MQseries, Demons et services, CAA: ENOVIA-LCA, CATIA, XML XPath). Source code version control systems: GIT, Clearcase, SCM, SVN. Continuous Integration: Docker, OpenStack, Jenkins, terraform, ansible, packer, Groovy, shells script, python Data-management: Qualité des données, migrations, normalisation, tout type de données et de bases. SQL with PostgreSQL, MySQL, DB2, Oracle, bases de données Java, et SAS. Graph-oriented with EnoviaV6MatrixOne, BI et MPP avec Teradata, Big-data/NoSQL with MongoDB, HBase, Hadoop Hortonworks - Cloudera. Mapping objet-relationnel: Spring ORM, Hibernate, JPA, MQL Web-Javascript: Angular 4, Angular.js, Angular-Material, Node.js, Typescript, Formulaires, wizards, maps. GUI: SWING: JSR-296. SVG: Batik component integration into 3DCOM, JSPs. Diagrams and reports Generation: Excel, POI, xml and html, fop/pdf, vector graphic report using SVG. Data analysis and convertion: Spark-Yarn-Hadoop, Java, XML and XSLT, ETL-like, using JDBC, SAS. Multithreading: Design of a thread-worker, used inside a JEE server to follow a slow unsupervised background task, as well as to stream datas passed from java to Catia C++ processes. Use of RxJava. Messaging using JMS or IBM MQ-Series. Software refactoring: To enable generic features or to allow a more complete usage (Renault, Dassault Aviation). Algorithms: First common parent search inside an arborescent 3D data model. Task ordering optimisation. Performance/Optimisation: using Eclipse TPTP, JVisualVM, Jip. Integrations : Search engine (Exalead), 3D converters and display (ex-Seemage: 3DVIA Composer & 3DVIA Sync, 3DVirtools), Messaging, Graphic component configuration 2017-today ALTRAN

2018: Technical and Agile Leader, for Veolia Water Information Systems. Lead of a task-force aimed at solving technical problems that have emerged following the migration to AWS of the conformity management software, «GCA». Interlocutors are regional and national department and external companies in charge of software exploitation and the editor itself. Daily-meetings organisation and Team’s actions follow-up. Support of the Chapter in its migration to continuous integration (CI) of its customer portal «Agence En Ligne» within an AWS architecture. Production-version upgrades. Official Technical doc. writing. Migration of IS streams linked to the consumers portal. SVN to Git migrations. CI implementation using Packer, Terraform, Ansible.

2017: Software architect, developer : Three projects by ENEDIS within Agile managed team: 1) OptimaCard: REST Services and Angularjs GUI, security. The application fullfill the legal requirement to support clients, regarding changes linked to the new TURPE5 national agreement. Implementation of security requirements : Https, CSRF protection, reverse-proxy unsing Nginx. 2) Achievement of a big-data project of multidimensional reporting of electrical consumptions at country scale (Billions of measurement). Relational BI model using Postgres, structured by mesh, using data extracted from the Teradata main database. 3) Micro-services serving Load curve, power and resultant reactive power calculation: transactional secured incremental MapReduce loading of HBase tables from Teradata. Java Spring-Cloud Micro-services. UI upgrades using Angular 4. Maven, Groovy and Jenkins used for Continuous Integration. 2014-2016: ALMAVIA 2015 - 2016: Data Manager. Responsible for data quality and migration of CAVEC’s datas after its split out of Berri’s group. To build the new Information System: Weekly optimized selection of relational data and export to target software package file formats. Data quality assessment by sampling, and automated detection of data requiring manual correction using edit distance measurement. Read Only WebApp backend design, including Java, postgresql, mongodb, node.js and angular.js. 2014 - 2015: Project Leader for the web portal of the Parisian Mutual health insurance Federation (FMP) and hundred federated ones. Software: Mutagora: J2EE-Spring-Mysql-DB2-LDAP portal for FMP. Management of two IT developers. Conduct of the fortnight follow-up meeting. CVS to SVN migration, build process refactoring, new insurances integration. 2001-2013: DASSAULT-DATA-SERVICES 2011 - 2012. Technical Manager, Software Designer and Developer for the ADEME founded GIPIE2 research project. (Integrated management of product life-cycle and of its environmental impacts) 3 partners, 1 trainee. Regular programming tasks and demonstrations of changes to partners: Design and implementation of an eco-design application integrated within EnoviaV6 suite. UML design of data-model. Design of a tool automating the generation of the GUI from the definition of the data model. Export to the ReSICLED tool from the G-SCOP research laboratory for part dismantling optimization. Integration of a solution of Life Cycle Assessment from our partner Pernexas, based on the bill of materials and OpenLCA. Innovation: Export to Ecospold1/Simapro allowing an LCA based on processes rather than on the sum of materials of the final product. The methodology allow calculation by supplier and phase: Conception, Supply, Manufacturing, Maintenance and Recycling. 2008 - 2010. Project leader and software architecture 2009 and 2010, for DAIMLER Truck: managing 2 developers: 1 java 1 C++/CAA. Software achieving the incremental fusion of 3D parts of the configured model of a truck at PLM nodes positions (optimized task scheduling). Then, using 3DVIAComposer, generation of views for each truck assembly steps. (Java, SWING, XML, 3DVIA Composer and 3DVIA Sync.) 2008 and 2009, for ITER: Collection of the detailed needs of a research team from the ITER project. Design of a rule engine to check the consistency of IGE-XAO 2D vues against CATIA 3D metadatas. The software includes a Swing GUI. An consistency report is generated as an Excel sheet, using Apache POI (CATIA, JAVA, SWING, POI, XSLT). 2006 - 2013: Java development, ENOVIAV6 and software architecture 2013 ENOVIA Peugeot: REST exchanges between EnoviaV6 and partners portal using Apache Jersey-Jackson. 2013 ENOVIA Renault: EnoviaV6 NEWPDM debug process. Unitary problems solving. 2012 ENOVIA Alstom Transport: Material Compliance Central. Material and providers imports tools implementation. 2012 ENOVIA Alcatel: Report Generator: Sample application as an example of Enovia Excel and HTML reporting features. 2010 and 2011 AREVA: Programming, installation and demonstration. Contribution to VIRTOOLS 3D component integration into ENOVIAV6: XML indexes generation, common parent search algorithm used to display objects selected by users on virtual plant. Integration of Exalead search engine into EnoviaV6 to cross Enovia datas with Exalead connectors ones (XML and Documentum). 2009 and 2011 Dassault-Aviation: 2009: Technical assistant. « Refactoring» of a geographic visualisation program for it to handle every map standards from the Ilog Map component. Combat aircraft mission replay (binary data extraction from plane’s data bus). 2011: ENOVIA “Cell Customization”. 2006-2008 Renault: Responsible for 3DCOM developments, software architecture. Refactored communication between VPM and 3DCOM: Transfer of custom features from VPM to the 3DCOM multi-site client: Addition of a state machine made of Servlets on both Java client and C++ server sides, communications between synchronized WebJava functions and REST services implemented within the VPM C++ server. XML manipulations, Generation of SVG reports about VPM and 3DCOM-specific functions usage. 2001 - 2013 C++ and CAA developments For AIRBUS (2013): Performance refactoring of XML Data-Model-related APIs. Creation of an XPATH library on top of CAA. Dassault-Systèmes R&D: By 3DCOM-VPM R&D team (2001à 2003), by ENOVIA-LCA team (2003 and 2005) and by DELMIA team (2010). Programming, refactoring, APIs opening and documentations writing. For THALES ALINEA SPACE (2009): CatiaV5 parts catalogue GUI to bypass a standard but memory greedy component. For SNECMA and Dassault-Systèmes R&D (2001-2003) ENOVIA 3DCOM integration project for SNECMA’s jet engine design tools. Using C++ and IBM MQSeries, design of a file streaming application with error recovery, between VPM and the new LCA workflow engine for delayed import of user “briefcases”. Addition of features to CatiaV5’ « LCA Workflow Designer » workbench.

Formation: 2017-2018 1999 - 2001 Veille technologique et axes d’intérêts : OWASP: Security concepts and practical cases. 0.5 days ISTV.:Institut des Sciences et Techniques de de Valenciennes. Intelligence Artificielle, Machine Learning, analyse de données Indexation de données structurées ou documents, AWS: Architecting 4 days DESS (now Master 2 pro.): pour Informatique Décisionnelle (BI). catégorisation, classification, facettisation, clustering, folksonomies. Calcul de distance la comparaison de structures Spark with Hadoop Cloudera: Altran.Weka, 4 days.R, python, Spark OS: CNAM Université de Besançon, arborescentes. Arbres de décision. Systèmes de fichiers virtuels.Cours Cloudduetsoir Peer: to Peer : Sessions, Angular-2: 2 days. 2 UV: Programmation Bases de données. stockage SFEIR. distribué/sharding et indexation comme support aux structures de donnéesenetJava, aux algorithmes. Google App Engine. 2016 - 1999 Bases de données orientées graphe: hypergraphdb, Neo4J. 1998 NoSQL-Document-DBs: MongoDB, OrientDB, Elastic search. Anglais: TOEIC 900 Université Paris XI, Faculté de médecine du Lombok, Kremlin-Bicêtre. librairies XML: baseX, Ximple, Xtream. Génération dynamique de code source ou compilé avec projet ProGuard Tableau The information lab,Specific 0.5 days. DEA-Master 2 research: Endocrinology andJQuery, cells interactions. AST: software: Lombok, Meta DSL Domain Languages et APIs dites « fluent ». Librairies JavaScript: angular.js, (Notetobtained). Onepar year research project atsearch: INRA,visualsearch.js Jouy en Josas. Bootstrap.js, node.js Graphiques: d3.js, raphaël.js, d’animation de recherche facettes et n-grams. 2010 1997 - 1998 GUI: Eclipse “Window Builder”, eclipse-rcp, swixml, thinlet. Smartphones: Cordova, Kivy. Resource-aware computing: Software optimisation. Dassault Systemes. 3 days. UniversityTableau, College Raphaël.js of SwanseaSécurité (UK), logicielle: Spring security. Play, Reactive streams Nouveaux langages: Scala, Stan. Reporting: Maîtrise de biologie cellulaire et génie génétique, Université Lille I

Hobbies: Sailing, hackathons, research project(535), badminton