Mohammad Mahdi Karami

France

@mohamad_mahdi_k1

Senior Software Engineer

Badges

Problem Solving
Java
Sql

Certifications

mohamad_mahdi_k1 has not earned any certificates yet.

Work Experience

  • Senior Software Engineer

    System Group•  July 2011 - Present•  TEHRAN PROVINCE, IRAN

    System Group company with more than 1000 employees is largest ERP vendor in Iran and develops enterprise software to manage business operations and customer relations and provides ERP solution for large & enterprise businesses and Cloud-based ERP. · Collaborated with a cross-functional team to develop and maintain enterprise level web applications using Java, Spring Boot, Spring Data, Spring MVC and Spring AOP. · Performed migration of monolith and legacy systems to modern tech stacks by converting an existing EJB based and JSF application to use Spring Framework and Angular frameworks. As a result, improving system performance and reducing maintenance costs by 50%. · Assisted in the migration of legacy applications to microservices architecture and created seven services to integrate Apache Kafka into the existing microservice architecture to allow event-driven data flow. · Implemented RESTful APIs to facilitate seamless communication between front-end and back-end systems. · Worked with OAUTH2.0 to provide authentication and authorization to rest services by exchanging access tokens and used JSON Web Tokens (JWT) to securely communicate JSON Objects. · Experienced with Docker to create Containers using Docker file and using Docker compose. · Used NoSQL (MongoDB) database to handle and persist data related to tools to convert and merge data between different databases. · Performed full text search using Elastic Search to improve performance by 25%. · Hands on experience of version control systems like Git and Subversion. · Maintained and troubleshooted Continuous Integration and Continuous Delivery (CI/CD) pipeline via with Jenkins on Kubernetes environment, leading to a 35% reduction in integration issues and faster delivery of software updates. Page 2 · Developed comprehensive software testing via Test Driven Development (TDD) process using Junit Framework and wrote unit tests and integration tests by resulting in a 30% decrease in defects and improved software quality.

Education

mohamad_mahdi_k1 has not updated education details yet.

Skills

Programming Languages: Java, JavaScript, TypeScript, SQL, HTML, CSS. · Frameworks: Spring, Spring Boot, Spring Data JPA, Spring AOP, Spring Batch, Spring MVC, Spring Rest API, Hibernate, Servlets, EJB, JDBC, JUnit, Log4J, SAX, DOM parsers, JMS, Kafka, RabbitMQ, HTTP, Angular, JSP, SOAP, RESTful APIs. · Concepts: OOP, Functional Programming, Microservices, Event Driven Architecture, CQRS, OAuth 2, ACID, SOLID, MVC, Design Pattern, DAO, DTO, Singleton, Factory, Adapter, Iterator, Proxy, Façade, Software Principal, Algorithm, Data Structure, SDLC, Agile, Scrum, Unit Test, Integration Test, ISTQB, CI/CD, DDD, Story Mapping, UML. · Databases, Oracle, MySQL, SQL Server, MongoDB. · Tools: Git, SVN, Docker, Maven, Jenkins, Eclipse, Sql Developer, Postman, MuleSoft ESB, Tomcat, WebLogic, Linux OS