NICOLAS CHEN

SOFTWARE DEVELOPMENT ENGINEER

NICOLAS CHEN

SOFTWARE DEVELOPMENT ENGINEER

Présentation

Je suis ingénieur développement logiciel dans le secteur industriel, j'ai travaillé dans de nombreux domaines comme l'automobile, l'aéronautique, le médical, la robotique, la mécatronique, la data science, le machine learning et le deep learning. Au cours de toutes mes expériences professionnelles, j'ai développé et maintenu de nombreux outils logiciels et de nombreux scripts pour automatiser des tâches pour des clients industriels avec différents langages de programmation (C# .NET, Python, Java, C++, C, Perl, VBA), de la base de données (MySQL, Oracle, SQLite) et du développement web (HTML5, CSS3, JavaScript, AngularJS, TypeScript, Django) dans différentes méthodologies (Cycle en V, Scrum, Kanban). Polyvalent, rigoureux et organisé, j'apprends et je m'adapte très rapidement à de nouvelles technologies. J'aime relever de nouveaux challenges professionnels et travailler sur des projets innovants. Je réalise quelques projets personnels en Data Science et Machine Learning en Python ou R, qui ont des applications dans par exemple la finance, les systèmes de recommandation ou les véhicules autonomes. J'ai aussi écrit sur LinkedIn divers articles sur la Data Science et Machine Learning, l'Intelligence Artificielle, les véhicules autonomes et les technologies.


La plupart de mes projets personnels open source dans divers langages informatiques sont disponibles sur GitHub et dans la rubrique Portfolio.

Quelques applications développées en C# .NET : ShadowZip | LightPhonebook | SecureMessage | BlueSearchMaps


Si vous êtes intéressé par mon profil et que vous avez une proposition concrète (entreprise, poste, lieu, rémunération prévue, etc.), n'hésitez pas à me contacter dans un premier temps par mail en cliquant sur le bouton ci-dessous ou sur LinkedIn. (voir rubrique Contact).


Compétences

Mes principales compétences

Développement Logiciel

Langages :
C#.NET, Java, Python, C, C++, VB.NET, Perl, Fortran, VBA

Base de données :
SQL, Oracle/MySQL, MongoDB

Méthodologies de gestion de projet :
Kanban, Scrum, Cycle en V

Gestion de configuration :
SVN, Git, CVS

Systèmes d'exploitation :
Windows, Linux

Web

Langages :
HTML5, CSS3, JavaScript, ASP.NET

Framework :
Bootstrap, jQuery

Data Science et
Machine Learning

Langages/Outils:
Python (Spyder), Jupyter Notebook, R, RStudio, études de divers use cases

Algorithmes de Machine Learning :
Régression linéaire simple/multiple/polynomiale, Kernel SVM, régression logistique, K-Means, Artificial Neural Networks, Convolutional Neural Networks, Deep Learning

Framework/Librairies Utilisés :
Tensorflow, Numpy, Pandas, Scikit Learn, Matplotlib

Ingénierie

Outils :
Matlab, Simulink, Stateflow, SolidWorks, PSpice Designer, PIC microntroller (PIC16F8875), MPLAB

Robotique :
Systèmes mécatroniques, automatique avancée, algorithmes SLAM, filtres de Kalman, réseaux de neurones

Mes expériences professionnelles

Liste des projets professionnels

  • Environnement : C, C#, Java, VBA, Matlab, Simulink, Stateflow, dSPACE TargetLink, Kanban, Dimensions CM, Anglais

    VALEO

    Développement logiciel pour l'autocodage des modules d'un alterno-démarreur pour les automobiles Volkswagen et Audi

  • Environnement technique : Java, Dojo Javascript, jQuery, HTML, CSS, XML, XSLT, scripts batch, calculateur PSA, Scrum, JIRA

    IBM

    Développement d'un outil logiciel de diagnostic et d'un outil de monitoring de processus sur des calculateurs PSA

  • Environnement : C#.NET, VB.NET, WinForms, WPF MVVM, ASP.NET WebForms, WCF, Web services, XAML, LINQ, XML, Base de Données SQL (Oracle/MySQL), Visual Studio, Gestion de versions de codes sources avec TortoiseSVN

    GROUPE RENAULT

    Développement de trois outils logiciels de support pour les véhicules RENAULT et NISSAN

  • Environnement : C#, WinForms, Java, Perl, Python, Anglais

    BOSCH

    Développement d'un outil logiciel pour le prototypage virtuel contrôle-moteur des véhicules PSA et RENAULT

  • Environnement : Python, C#, Java, Matlab, Simulink, DO-330 Niveau TQL4, Eclipse, Synergy, Change, Kiosque, Excel, Word, cycle en V

    Safran Electronics & Defense

    Développement d'un outil de vérification de génération de code pour des turboréacteurs

  • Environnement : C, C#, Python, DO-178B Niveau A, Matlab, Simulink, Stateflow, Excel, Word, VBA, Synergy, Change, cycle en V

    Safran Aircraft & Engines

    Développement logiciel du contrôle moteur et du système de régulation pour des calculateurs aéronautiques d'un turboréacteur

  • Environnement : C#, Java, C, C++, Matlab, Simulink, OpenCV, Linux

    Laboratoire d'Informatique de l'X

    Stabilisation en vol vertical d'un drone quadrirotor dédié à la prise d'images

  • Environnement : Matlab, Simulink, Java, SolidWorks, MSC Adams, Windows

    ISIR

    Commande et Simulation d'un rover rapide pour le stabiliser en phase balistique

Portfolio

Liste de quelques projets personnels développés dans différents langages.

C#

SecureMessage

SecureMessage est un outil logiciel pour chiffrer et déchiffrer un message. Ce logiciel contribue à protéger la confidentialité de votre message.



LightPhoneBook

LightPhoneBook est une application logicielle pour stocker ses contacts comme dans un répertoire téléphonique.



ShadowZip

ShadowZip est une application logicielle qui permet de compresser rapidement des fichiers, de les protéger avec un mot de passe, de les gérer et de les partager.



BlueSearchMaps

C'est une application logicielle de cartographie qui utilise le service de Google Maps.



MiniBankingApp

C'est un mini programme qui gère des comptes bancaires.



SimpleCalculator

C'est une calculatrice simple qui permet de faire les opérations élémentaires.



MessageToSpeech

C'est un outil logiciel qui permet de passer d'un message écrit à un message vocal.



AccurateAge

Cette application logicielle calcule votre âge précis (années, mois, jours, heures, minutes et secondes) à partir de votre date de naissance.





Python

PyPhonebook

PyPhonebook est un répertoire téléphonique développé en Python avec Tkinter. Le but de cette application est de sauvegarder des contacts. C'est utile si vous perdez votre téléphone portable.

>> Détails


GenerateMagicSquare

Ce script python génère un carré magique pour une taille impaire uniquement.

>> Détails


SortingAlgorithms

Implémentation de plusieurs algorithmes de tri tels que le tri par insertion, le tri par bulles, le tri par shaker, le tri par gnome, le tri par fusion et le tri par sélection.

>> Détails


ShortestPath

Ce script implémente l'algorithme de Dijkstra pour renvoyer le chemin le plus court d'un graphique.

>> Détails


PyResistor

Cette application python vise à trouver rapidement le code de trois couleurs correspondant à une résistance électrique à une valeur déterminée.

>> Détails




Java

BankingAccountApp

Il s'agit d'une application de compte bancaire Java qui renvoie le statut de chaque compte client à partir d'un fichier CSV.

>> Détails


SpaceShipGame

C'est un jeu de vaisseau spatial codé en Java.

>> Détails


ZodiacApp

C'est une application Java qui renvoie le signe astrologique occidental et chinois et l'élément associé en fonction de la date de naissance de la personne.

>> Détails


EmailApp

Il s'agit d'une application de messagerie java qui crée des comptes de messagerie pour les nouveaux employés.

>> Détails


StudentDatabaseApp

C'est une application Java pour gérer les inscriptions et le compte des étudiants.

>> Détails




AngularAngular

DeviceManagement

DeviceManagement est une application permettant de gérer certains appareils tels que les objets connectés (téléphones portables, machines à laver, réfrigérateurs, etc.). Par conséquent, il peut être utilisé pour contrôler vos appareils à la maison.

>> Détails


BookApp

BookApp est une application pour stocker une liste de livres favoris, développé en AngularJS et TypeScript.

>> Détails




JavaScript

QuizChallenge

Un quizz avec 10 questions de culture générale.

>> Détails


TipCalculator

C'est une application en JavaScript qui calcule le pourboire qui est souvent demandé aux Etats-Unis.

>> Détails


TodoList

Une application de TodoList en JavaScript.

>> Détails




JavaScript

MoviesFinder

MoviesFinder est une application mobile cross-platform qui fonctionne donc aussi bien sur Android (Google) et iOS (Apple) et qui permet de consulter toutes les informations des derniers films sortis au cinéma.

>> Détails


L'application mobile MoviesFinder est disponible gratuitement sur la plateforme Google Play Store.

>> MoviesFinder




JavaScript

Microcommerce

Application de e-commerce qui utilise une architecture en microservice.

>> Détails


Microcommerce Java Persistence API

Application de e-commerce qui utilise une architecture en microservice et JPA (Java Persistence API).

>> Détails




C++

SpaceShipGameSFML

SpaceShipGameSFML est un jeu développé en C++ avec la bibliothèque SFML dont le but est de détruire des astéroïdes ou des comètes avec un vaisseau spatial.

>> Détails




Qt

LoginApp

LoginApp est une application de login développé en C++ avec le framework Qt.

>> Détails


QNotepadDemo

QNotepadDemo est une application de bloc-notes développé en C++ avec le framework Qt.

>> Détails




C

FallingParticleSimulator

C'est un simulateur de chutes de particules codé en langage C permettant de visualiser l'évolution temporelle des particules sphériques rigides.

>> Détails




Data Science

Data Science appliquée sur les films sortis au cinéma entre 2000 et 2017

Utilisation de techniques de data science avec Anaconda, Pyhon et Jupyter Notebook pour analyser les données des films répertoriés dans la base de données en ligne du cinéma mondial IMDb.

>> Détails




Matlab

ExtractInOut

C'est un script Matlab pour extraire la liste des Inports et Outports pour un sous-système dans un fichier Excel.

>> Détails




Formation

Etablissement Date Localisation Diplôme

Ecole Normale Supérieure des Arts et Métiers Paris Tech (ENSAM)
ENSAM


Université Pierre et Marie Curie - UPMC (Sorbonne Université Paris VI)
UPMC

2010-2012 Paris

Master Sciences de l'Ingénieur en Systèmes Avancés et de Robotique

ENGLISH VERSION

English version ⇨ Click here

CONTACT

Si vous avez une ou plusieurs propositions professionnelles concrètes, vous pouvez me contacter sur LinkedIn, GitHub ou par mail.