Benjamin Vettier, Developer in Grenoble, France
Benjamin is available for hire
Hire Benjamin

Benjamin Vettier

Verified Expert  in Engineering

Bio

Having more than twenty years of experience in software development, Benjamin went from junior developer to tech lead and software architect while always keeping some coding tasks to keep in touch with “concrete” deliverables. His main asset is a perfect command of object-oriented programming and domain modeling, combined with a desire to understand and address user needs.

Portfolio

Halias Technologies
JavaScript, Vue, Vuex, Tailwind CSS, Ionic, Front-end
Halias Technologies
Java, Spring, Spring Boot, Puppeteer, Node.js, Spring Data, Spring Security...
Self-employed
Swift, SwiftUI, Swift 5, Xcode

Experience

  • C# - 10 years
  • .NET - 10 years
  • Java - 9 years
  • Windows Presentation Foundation (WPF) - 4 years
  • REST - 3 years
  • JavaScript - 2 years
  • Swift 5 - 1 year
  • Python - 1 year

Availability

Part-time

Preferred Environment

IntelliJ IDEA, Apache Maven, MacOS

The most amazing...

...service I've designed and helped develop was a service using constraint-based models to help electricians design switchboards.

Work Experience

Senior Software Engineer

2022 - 2022
Halias Technologies
  • Participated in rewriting an existing application with a mobile-first approach with Vue.js 3 and Vuex as part of a team.
  • Investigated different ways to support offline mode on mobile Android and iOS devices and implemented the solution selected by the team.
  • Wrote code, submitted merge requests, performed code reviews, and participated in sprint meetings.
Technologies: JavaScript, Vue, Vuex, Tailwind CSS, Ionic, Front-end

Senior Software Engineer

2021 - 2021
Halias Technologies
  • Designed and developed REST APIs allowing users to compute costs and earnings for solar panel installations. These APIs were implemented as a Java Spring Boot application.
  • Developed and designed REST APIs to generate PDF files from HTML templates, injecting values from a solar panel installation simulation. PDF rendition is performed by Puppeteer, and the API is implemented as a small Node.js application.
  • Participated in the development of the front-end application based on the Vue.js framework.
Technologies: Java, Spring, Spring Boot, Puppeteer, Node.js, Spring Data, Spring Security, APIs, Full-stack, Front-end, REST APIs

Developer

2021 - 2021
Self-employed
  • Developed a native iOS application that runs offline quizzes for students in Swift using the SwiftUI language.
  • Created a tool to convert quizzes in Moodle XML format to an internal structure, more appropriate for offline use.
  • Built a parser and interpreter for an algebraic formula in Swift, using the parser generator ANTLR.
Technologies: Swift, SwiftUI, Swift 5, Xcode

Developer

2020 - 2020
Self-employed
  • Designed and developed an inference engine in Java that computes possible solutions for constraint models. The engine is exposed by two REST APIs for authoring and execution.
  • Implemented a pure JavaScript-based web app to use the authoring API to design constraint models.
  • Made implementation of a Vue.js-based web app to use the authoring API to design constraint models and execute the models.
  • Implemented a SwiftUI-based native iOS app to use the authoring API to design constraint models.
Technologies: Java 15, Java, Spring, Vue, Swift, JavaScript, HTML, CSS, Git, ANTLR 4, Apache Maven, Web Development, REST, Back-end, Full-stack, Front-end, REST APIs, Swift 5, SwiftUI, Xcode, APIs

Freelance Software Architect

2014 - 2019
Schneider Electric
  • Designed and implemented an inference engine in Java to let the team model the space of valid associations of some products.
  • Designed a REST API for designing an electrical switchboard, in collaboration with the architecture team.
  • Leveraged my knowledge of the domain by working with the project owner to formalize and prioritize user stories.
  • Acted as the point of contact for the offshore client team to offer support and provide answers, either technical or domain-related.
  • Took part in all Agile ceremonies, including daily standup meetings and sprint planning meetings.
  • Designed and implemented in Java a REST API representing an electrical distribution project, stored in a MySQL database.
Technologies: Java, Spring, REST, Functional Analysis, APIs, SQL, Git, Apache Maven, MySQL, Back-end, Agile, Scrum, XML, REST APIs

Freelance Senior C# Developer

2012 - 2014
Schneider Electric
  • Developed a WPF-based Windows application with a generic architecture to support various ranges of controllers in the Schneider product catalog.
  • Designed user interfaces and execution flow to smooth the differences between the commissioning procedures required by targeted hardware.
  • Implemented some specific low-level features to support hardware protocol like EnOcean.
Technologies: C#, Windows Presentation Foundation (WPF), .NET, Lua, XML

Freelance Software Architect

2008 - 2012
Schneider Electric
  • Designed, documented, and validated object models through UML artifacts such as class diagrams and sequence diagrams.
  • Reviewed business requirements and translated them into technical solutions.
  • Implemented parts of the application in C#, especially the domain-related algorithms.
  • Participated in the definition of a format for describing an electrical distribution project, used by many applications in Schneider.
  • Led the development team, composed of 4-6 developers and one tester.
Technologies: UML, C#, Windows Presentation Foundation (WPF), Design Patterns

Freelance Functional Analyst

2007 - 2008
Schneider Electric
  • Delivered a formal, consistent set of use cases and a domain model to support them as UML artifacts.
  • Interviewed domain experts and marketing team members to capture the requirements and fully understand the domain entities and workflow.
  • Developed prototypes to explore potential technical solutions.
Technologies: Functional Analysis, UML, UML Diagrams

Freelance Software Architect

2003 - 2007
Schneider Electric
  • Designed a set of technical and domain-related components to be used as a starter kit for new applications.
  • Performed peer reviews and validations of artifacts, such as requirements, UML specification, and code, produced by the team.
  • Took part in the development of some components in C# and Windows Forms.
  • Provided guidelines to other teams on object design and coding rules.
Technologies: UML, C#, Functional Analysis, .NET, Windows Forms (WinForms), Databases, UML Diagrams, Design Patterns

Experience

API for Electrical Switchboard Design

A REST API dedicated to the design of electrical switchboards, to be used by applications developed internally. Users of these applications were professional electricians (customers).

I was the architect and also a developer in a team of five developers. My role was to define the technical solution to the business requirements and to provide the domain model and main algorithms. The implementation was Java-based, using the Spring Framework. The team followed an Agile methodology, and we delivered a new version to our internal client every two weeks.

Windows Application for Electrical Switchboard Design

A WPF-based Windows application that guides electrical panel builders through the design of electrical networks and selection of electrical switchboards.

I was the architect and tech lead of a team of 8-10 developers. My role was to design a technical solution to address the functional and non-functional requirements, document and validate that solution, and oversee its implementation by the development team. I also helped with some coding tasks when needed. This project allowed me to work on many aspects of the project, from functional analysis and software design to coding and testing, with a touch of team management and planning.

The technical environment was Microsoft C# using the Windows Presentation Framework (WPF) for the user interface; we used Visual Studio and Team Foundation Server for the version control system.

Foundations for Migration of Application Portfolio

A set of software components and guidelines for coding and architecture to help prepare the migration of several Windows applications written in C++.

I served as the architect and tech lead of the project, in charge of capturing the requirements, both business and technical, that could be shared between several applications that were previously developed independently. After these requirements were agreed upon, my role was to design a solution and oversee the actual development of the components in C# and Windows Forms for the user interface. I led the development team, composed of 4-6 developers and one tester. The development lifecycle followed the V-Model, and the organization was working to obtain CMMI Level 3 certification.

Education

1993 - 1996

Master's Degree in Computer Science

Grenoble National School of Computer Science and Applied Mathematics (Ensimag) - Grenoble, France

Skills

Libraries/APIs

REST APIs, Vue, Windows Forms (WinForms), Vuex, Puppeteer, Node.js

Tools

IntelliJ IDEA, Visual Studio, Git, ANTLR 4, Xcode, Apache Maven, PyCharm, Jenkins

Languages

Java, C#, XML, Swift 5, JavaScript, SQL, Swift, Python, UML, C++, Java 15, HTML, CSS, Lua

Frameworks

Windows Presentation Foundation (WPF), .NET, Spring, SwiftUI, Tailwind CSS, Ionic, Spring Boot, Spring Security

Paradigms

Functional Analysis, REST, Design Patterns, Agile, Scrum

Platforms

MacOS, iOS

Storage

MySQL, Databases, Spring Data

Other

Software Design, Back-end, Software Engineering, Relational Database Design, Algorithms, APIs, UML Diagrams, Complexity Theory, Web Development, Full-stack, Front-end

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring