About Me

Ahmed Bettaieb

Ahmed Bettaieb

.NET Software Developer
Over 6 years experience in developing applications under Microsoft / JavaScript stack.
Hands-on experience in domains like Finance , Insurance ,HealthCare and Manufacturing.
Experienced in all phases of the Software Development Life Cycle.
Experienced in Agile/Scrum and most recently CI / CD practices.
Strong experience in latest .NET Framwrork releases (until .NET 6).
Strong experience in containerization Docker and orchestration Kubernetes.
Hands-on experience in developing Micros-Services architecture solutions.
Experienced in deploying and implementing Cloud solutions using Microsoft Azure.
Expert in developing data layer using Linq, EntityFrameWork (Core) and MongoDriver.
Experience in designing and implementing Single Page Application with Angular , React and Vue.Js.
Strong experience in Test-driven developement(TDD) using Jasmine , Karma , NUnit and xUnit.
Hands-on experience in using version control tools like SVN,GitLab,GitHub , Azure DevOps and Bitbucket.

PROFESSIONAL EXPERIENCE

  • Senior Full Stack .NET Developer Feb 2022 - Present Mission - AssurOne-Group Paris , France Designing, developing, and maintaining software applications,APIs using C# and .NET 6 ,Angular, continuously improving the software development process by implementing DevOps practices such (CI), (CD), implementing and maintaining software architecture using SOLID principles and best practices. Responsibilities :
    Designing, developing, and maintaining software applications,APIs using C# and .NET 6 ,Angular, and Microsoft SQL Server
    Developing and maintaining front-end features using Angular
    Collaborating with the design team to implement responsive and user-friendly interfaces
    Continuously improving the software development process by implementing DevOps practices such as continuous integration (CI), continuous deployment (CD) and Azure Devops
    Collaborating with other teams and departments to ensure smooth integration and deployment of software changes
    Implementing and maintaining software architecture using SOLID principles and best practices
    Managing authorization and authentication using IdentityServer and Open ID Connect protocol.
    Implementing and maintaining data access layer using Entity Framework Core, LINQ and Dapper.
    Designing and implementing database schema and optimizing database queries.
    Participating in agile development methodologies (Scrum) .
    Monitoring and troubleshooting production issues, and implementing solutions to improve system stability and performance
    Applying SOLID principles in software development and design, like Single Responsibility Principle, Open-Close Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle.
    Ensuring code quality by writing unit tests and performing code reviews
    Optimizing the application for performance and scalability
    Troubleshooting and debugging front-end issues.
  • .NET Software Engineer Feb 2020 - Present Expleo - Crédit Mutuel Strasbourg , France Developing SOAP / RestFul APIs , windows services and batchs jobs to handle financial transactions system Responsibilities :
    Participating in the entire Software Development Life Cycle (SDLC) using the Kanban methodology
    Developing Windows Services and batch jobs using the .NET Framework 4.x to handle financial transactions and customer invoices
    Implementing and maintaining software architecture using SOLID principles and best practices
    Collaborating with other teams and departments to ensure smooth integration and deployment of software changes
    Having expertise in creating SQL/T-SQL Stored Procedures, Packages, Functions, Triggers, and Cursors using SQL Server
    Implementing LINQ query operations such as Grouping, Ordering, and Filtering for efficient data retrieval
    Developing REST/WCF web services and conducting pre-testing using Postman/SOAPUI
    Designing, building, and maintaining efficient, reusable, and reliable code
    Debugging and tracing the application for errors
    Documenting and maintaining applications
    Implementing Unit, Integration, and System Testing using NUnit
    Performing load testing to measure API scalability, reliability, and performance (page response time, memory utilization, CPU utilization)
    Hands on Experience in creating Technical Design Document, UML(Use Case Diagrams, Sequence Diagram,Class Diagram) , Process flow Diagram, Data Flow Diagram
    Used Rational Team Concert as a source code Control (RTC)
  • Full-Stack .NET Developer Jan 2019 - Jan 2020 MyThiqs Lizy-sur-Ourcq , France Developing CRM from scratch to manage a Manufacturing company Responsibilities :
    Involved in the complete Software Development Life Cycle including Analysis,Design,Implementation,Testing and maintenance with Agile Scrum Methodology.
    Involved in designing the user experience interface UI/UX strategy,UI requirements,converting AdobeXD mockups to UI designs.
    Used Jasmine / Karma for Angular app unit testing.
    Practiced Domain Driven Design , Test Driven Development and Pair programming to implement solutions in leanest possible way.
    Implemented coding standards and refactoring in every stage to provide flawless code.
    Used Angular 7 as a front-end framework to create a Single Page Application(SPA) for CRM.
    Developed RESTful APIs using ASP.NET Core 3.1.
    Developed Business Logic Layer and Data Access Layer to handle MongoDB communications.
    Developed a database backup module using .NET worker.
    Implemented Unit Testing , Integration Testing using xUnit.
    Created DockerFiles & docker-compose for both Angular & ASP.NET CORE APIs projects to ensure Continuous deployment
    Created CI/CD piplines in GitLab environements by providing their dependecies ands tasks.
    Monitoring and deployment by using Chef & Ansible
    Expertise in JIRA for issue tracking and project management.
    Implemented advanced data processing algorithm to handle the CRM's invoices needs.
    Documenting interfaces and APIs.
  • .NET Software Engineer Mar 2017 - Jun 2019 Confidential Le Pecq , France Developing a fully Health-Care software used by hospitals in Europe Responsibilities :
    Involved in the complete Software Development Life Cycle including Analysis,Design,Implementation,Testing and maintenance with Agile Scrum Methodology.
    Implemented Model-View-ViewModel (MVVM) design pattern using PRISM architecture for the application
    Implemented in Host Access Layer , Device Acces Layer ,Business Logic Layer and Data Acces Layer
    Created XAML Custom Controls for the app
    Implemented Asynchronous calling mechanisms to isolate the UI processing with the backend database calls.
    Created Event Aggregators using Prism framework for communication between ViewModels
    Designed and developed a C++ / C# interoperability layer to communicate with native C++ screen calibration module
    Developed a full voice recognition module to create a voice based interactions with users.
    Developed a module that manage subscriptions
    Developed a socket communication layer to handle real-time communication between the WPF and the Android app.
    Developed RESTful APIs with PHP5/MySql stack.
    Implemented Unit Testing Integration Testing and System Testing using NUnit.
    Used Git as a source code Control
    Involved in Debugging,tracing the application for errors, Documentation and maintenance of the applications
    Expertise in JIRA for issue tracking and project management.

Technical Skills

Languages

  • 100%
  • 100%
  • 98%
  • 98%
  • 70%

Frameworks

  • 100%
  • 100%
  • 98%
  • 95%
  • 70%

DevOps Skills

Azure DevOps

Docker

Kubernetes

Github

Gitlab

Jenkins

Amazon AWS

Team City

Database Skills

MS Sql Server

MongoDB

Redis

PostGresSql

Tools

Visual Sutdio Code


Vistual Studio 2022


SQL management studio

Resharper


Postman UI


Jira


Microsoft, Public domain, via Wikimedia Commons

PowerShell


Microsoft, Public domain, via Wikimedia Commons

Nuget


Architecture Models

100%

Model–View–Controller (MVC)

100%

Model–View–ViewModel(MVVM)

100%

Agile Project Management

100%

Test-driven developement (TDD)

95%

Domain Driven Design (DDD)

90%

Business-driven development (BDD)

95%

SOLID design


80%

Behaviour Driven Development