Interview

 

[Je vous remercie de consulter mon CV. Aujourd’hui, je suis très heureux d’être ici pour postuler au poste de Développeur C# que vous proposez.]

Je m’appelle Dinh-Hung.

J'ai 17 ans d'expérience en tant que développeur, dont 10 ans d'expérience avec C#.Net 

Après toutes ces années en tant que développeur senior, j’ai acquis des compétences solides pour bien réaliser mon travail. 

Côté développement, je mes competences principaaux sont C# .NET et les technologies Microsoft. J’ai également des connaissances en Java, Python, AngularJS et JavaScript. Je maîtrise bien l’architecture de développement ainsi que les bonnes pratiques comme TDD, BDD, les design patterns et les principes SOLID, etc. 

Côté bases de données, je maîtrise bien SQL et j’ai des années d’expérience avec Oracle, My SQLServer, PostgreSQL et SQLite. 

Cote CI/CD : je maîtrise bien l’outil GIT. Je suis responsable de la gestion des branches du code, je fais des revues de code et valide des merge requests.

 J’ai suivi le processus de livraison en production avec Jenkins et Ansible. j’ai créé des documentations techniques sur Jira/Confluence. 

Coté travaille à l’équipe, j’ai travaillé sous méthodologie Agile Scrum, avec le rôle Developpeur et aussi Scrum Master. 

Coté Support, Je soutiens les clients et les autres équipes pour résoudre les problèmes techniques. 

Enfin, j’ai travaillé en tant que développeur senior C#.NET pour le client Enedis depuis 2018. 

Ce sont les points les plus importants de mon parcours. Avez-vous des questions ?

 

 

·       C’est quoi les point forte et point faible de votre equipe ?

·       Quelle est la proportion de maintenance de code existant par rapport au développement de nouvelles fonctionnalités ?

·       Est-ce que votre projet utiliser le cloud, par exemple Azure ou AWS ?

 

 

----------------------------- 3 qualite, 3 defauts----------------------

++ Premièrement, je suis une personne très travailleuse. Je suis toujours prêt(e) à m'investir pleinement dans mes tâches et à fournir des efforts constants pour atteindre mes objectifs.

**Compétences en travail d'équipe** : "Je suis capable de travailler efficacement en équipe et je suis flexible pour collaborer avec mes collègues afin d'atteindre nos objectifs communs."

**Esprit d'apprentissage et d'amélioration** : "Je suis constamment en quête d'apprentissage et je suis ouvert(e) à tirer des leçons de mes échecs. Je suis déterminé(e) à m'améliorer continuellement."

 

Défauts :

-        Difficulté à donner le repondre rapidement : "Parfois, j'ai du mal à prendre des décisions rapidement, surtout lorsque je suis confronté(e) à plusieurs options. Cependant, je travaille sur ma capacité à évaluer rapidement les situations et à prendre des décisions efficaces."

-        **Manque d'expérience dans un domaine spécifique** : "Je reconnais que je peux manquer d'expérience dans certains domaines spécifiques. Cependant, je suis prêt(e) à apprendre rapidement et à m'adapter pour combler ces lacunes."

-        Difficulter dire « NON » aux demandes supplémentaires.

 

--------------------------- Enedis ------

 

J’ai travaillé pour Enedis depuis 2018.

 

Pendant 7 ans, j’ai participé à plusieurs projets. Mais il y a 3 projets principaux : Talon, TreatMaker et TeraMiddle. 

Talon est une application micro-services, multithreading, avec versioning et moduling, qui permet d’augmenter la performance du calcul d’électricité, de diminuer le coût des ressources et de réduire le temps d’attente en temps réel. Elle a été construite avec C#.NET. 

TreatMaker est un projet construit avec Python. Le but du projet est la génération de code C# basé sur des fichiers au format JSON, pour faciliter l’intégration dans le projet Talon. 

TeraMiddle a été développé avec Java, le framework Spring, Hibernate et le projet de build Maven. Ce projet est la couche intermédiaire entre Talon et le front-end. Le but du projet est la gestion des bases de données clients et la fourniture d’APIs.

J’ai participé à ces projets dans plusieurs rôles. 

En tant que développeur, j’ai créé les templates du module. J’ai codé 8 des 28 modules principaux et participé à la refactorisation ainsi qu’à la mise à jour des autres modules dans le projet Talon. 

J’ai codé la première version du projet TeraMiddle et corrigé la version suivante.

 Dans le projet TreatMaker, j’étais le développeur principal. 

En tant que testeur, supporteur :

J’ai créé le plan de test, les scénarios et les cas de test (TDD, BDD).
J’ai également créé des tests unitaires et des tests d’intégration.

J’ai diagnostiqué les problèmes, recherché des solutions ou effectué des corrections urgentes (hotfix). 

En tant que gestionnaire de bases de données, j’ai créé et mis à jour les bases de données avec Oracle, PostgreSQL et SQLite. 

Pour la gestion du code, j’utiise Git. Je suis la personne qui gère  les branches, fait les revues de code et valide les merge requests. Je suive la feuille de route et gère les processus de livraison en production . 

J’ai également fourni du support technique aux autres équipes et échangé avec les PO (Product Owners) et BA (Business Analysts). 

Je travaille au sein d’une équipe de 7 personnes avec les méthodologies Agile Scrum. J’ai occupé le rôle de Scrum Master ainsi que celui de développeur. J’ai conduit les daily meetings, le sprint planning, les démonstrations, et les rétrospectives avec des sprints de 2 semaines. J’ai participé à l’estimation des coûts des tâches.

  

En résumé, j’ai réalisé 3 projets : Talon avec C#, TreatMaker avec Python et TeraMiddle avec Java. J’ai travaillé dans plusieurs rôles : développeur, Scrum Master, gestionnaire de code, et gestionnaire de bases de données.

 Il y a beaucoup de points communs entre ce que j'ai fait et ce que demande votre offre. J'espère pouvoir travailler avec votre équipe dans un avenir proche.

 Ce sont les principaux points de ce que j’ai réalisé pour Enedis. Avez-vous des questions ?

 

 

 

----------------------------- English ------------

 

Thank you for taking the time to review my CV. Today, I am very happy to be here to apply for the C# Developer position that you are offering.

 

Let me introduce myself:
My name is Dinh-Hung.

 

I am a senior C#.NET developer with over 10 years of experience.

Since 2006, I have accumulated about seventeen years of experience as a developer, both in Vietnam and in France.

 

After all these years as a senior developer, I have some solid skills to perform my work effectively.

 

My first skill set is technical.

 

In terms of development, I am an expert in C# .NET and Microsoft technologies. I also have knowledge of Java, Python, AngularJS, and JavaScript. I have a good mastery of development architecture and best practices such as TDD, BDD, design patterns, SOLID principles, etc.

 

As for databases, I am good in SQL and have years of experience working with Oracle, PostgreSQL, and SQLite.

 

My second skill set is teamwork, particularly in code and team management.

 

For code management, I am highly skilled with the GIT tool. I am responsible for managing code branches, performing code reviews, and validating merge requests.

 

In  team management, I have written technical documentation on Jira/Confluence. I provide support to clients and other teams to resolve technical issues.

 

I also have experience in training and pair-programming with junior developers.

 

I have followed the production delivery process using Jenkins and Ansible.

 

Finally, I have worked as a senior C#.NET developer for the client Enedis since twenty eighteen.

 

These are the most important points of my career. Do you have any questions?

 

-------------------------- Enedis English -----------------------

 

I have worked for Enedis since 2018.

 

For six years, I have participated in several projects. However, there are three main projects: Talon, TreatMaker, and TeraMiddle.

 

Talon is a microservices, multithreading application with versioning and moduling, designed to increase electricity calculation performance, reduce resource costs, and shorten real-time wait times. It was built using C#.NET.

 

TreatMaker is a project built with Python. The goal of the project is to generate C# code based on workflows in JSON format, to facilitate integration into the Talon project.

 

TeraMiddle was developed with Java, using the Spring framework, Hibernate, and the Maven build project. It acts as the middle layer between Talon and the front-end. The purpose of the project is to manage customer databases and provide APIs.

 

I participated in these projects in several roles.

 

As a developer, I created module templates. I coded 8 out of the 28 main modules and participated in refactoring and updating the other modules in the Talon project.

I coded the first version of the TeraMiddle project and corrected the following version.

 

In the TreatMaker project, I was the lead developer.

I created the test plan, scenarios, and test cases (TDD, BDD).
I also created unit tests and integration tests.

I diagnosed problems, found solutions, or performed hotfixes.

 

As a database manager, I created and updated databases with Oracle, PostgreSQL, and SQLite.

 

For code and team management, we used GitHub. I was the person managing branches, performing code reviews, and validating merge requests.

 

I followed the roadmap and managed the production delivery process with Jenkins and Ansible.

 

I trained new arrivals and performed pair programming.

 

I worked in a team of 7 people using Agile Scrum methodologies. I held the role of Scrum Master as well as developer. I led the daily meetings, sprint planning, demonstrations, and retrospectives with two-week sprints. I also participated in estimating task costs.

 

Additionally, I provided technical support to other teams and communicated with Product Owners (POs) and Business Analysts (BAs).

 

In summary, I worked on three projects: Talon with C#, TreatMaker with Python, and TeraMiddle with Java. I took on several roles: developer, Scrum Master, code manager, and database manager.

 

There are many similarities between what I have done and what your job offer requires. I hope to work with your team in the near future.

 

These are the key points of what I have accomplished for Enedis. Do you have any questions?

----------------------------------------------

 

 

 

----------------------------   Fred de la compta -----------

Maintenant, Je vous présente l’experienceque je travail entant que développeur polyvalent depuis Juin 2016 chez la société Freddelacompta - éditeur de logiciel.

 

Je suis attaché à une équipe de 12 personnes en mode agile scrum. Nous avons réalisé une application web et mobile permettant d’automatiser tous les étapes de comptabilité pour les sociétés PME, qui n’ont pas une équipe comptable lui meme.

 

Pendant ma mission: j'ai effectué des tâches :

·         j’ai fait développement  BackEnd pour une application web API Restfull en C#.net avec Entity Framework Code First. 

·        j’ai réalisé la conception et le développement la base de données en Transact-SQL et MS SQL Server.

·        Autre chose, j’ai créé des program Batch, qui fait automatiquement des tâches importer des donnees (email, scanner) et fait des traitement spécifique dans le domaine comptabilité.

·        De plus, on a pas mal de problématique compliqué,  j’ai faire des recherche pour trouver des solutions comme:  signature électronique, server cloud, email.

·        J’ai contacté et travaillé avec les partenaires de ma boite comme les sociétés DocuSign, DropBox, SendGrid, Bankin, et  intégré leur services et API dans notre application.

·        Comme un développeur polyvalent, J’ai mis en production l’application sur cloud de microsoft Azure..  et supports technique,support client…  ou mise à jour base de données.

Donc, les technologies utilisent sont: C#, .Net, entity framework, sql server, xunit, azure.

 

Now, I present to you the experience that I have been working as a versatile developer since June 2016 at the company Freddelacompta - software publisher.

 

I am attached to a team of 12 people in agile scrum mode. We have created a web and mobile application to automate all the accounting steps for SME companies, which do not have their own accounting team.

 

During my mission: I carried out tasks:

• I did BackEnd development for a Restfull API web application in C#.net with Entity Framework Code First.

• I designed and developed the database in Transact-SQL and MS SQL Server.

• Another thing, I created Batch programs, which automatically import data (email, scanner) and do specific processing in the accounting field.

• In addition, we have a lot of complicated issues, I did research to find solutions like: electronic signature, cloud server, email.

• I contacted and worked with my company's partners such as DocuSign, DropBox, SendGrid, Bankin, and integrated their services and API into our application.

• As a versatile developer, I put the Microsoft Azure cloud application into production.. and technical support, customer support... or database update.

So the technologies used are: C#, .Net, entity framework, sql server, xunit, azure.

 

----------------------------------  The last vacation ----------------------

 

The last vacation i passed with my familly at the South of France. We stayed in a 5 stars camping area, near Saint Raffael.

It is 2 wonderful weeks with warm weather and lots of sunshine.

In the first week, we passed all days time on the beach of Saint Tropez, Saint Ayguf, Saint Maxime. In the evening, we went to the restaurant and tasted regional specialities.

 

From the second week, we started getting in the car and visiting famous places nearby. By exemple: the cities like Nice, Monaco, Gorges Verdon, and the small but beautifull towns.

 

It was a fun trip and many memories.

 

 

My Task is to upgrade the performance of the module that reads data from the database. Then calculate to find 3 sets of data that satisfy the condition. After learning and researching such methods, I realized that in addition to improving SQL statements in source code, we can apply multi-threading programming methods. Because reading data does not cause the database to change, we can use multithreading techniques with Semaphore. This method allows us to run multiple threads at the same time using the same database without worrying about problems accessing out-of-date data. I have created a few unit tests and initially implemented Semaphore in the source code. The results were very positive. Today I will continue with refactoring the source code and integrating the module into test integration

 


 

Aucun commentaire:

Enregistrer un commentaire