Website Badge

Bagrat Mukaelyan

Senior Java Software Engineer


Website: mbagrat.com
Email: [email protected]
Telegram: mbagrat
LinkedIn: bagratmukaelyan
Location: Yerevan, Armenia

Summery:

Senior Java Software Engineer with more than several years of professional experience in java and related technologies, with some knowledge of Swift and Kotlin. Solid knowledge of software engineering processes, development methodologies and tools including Agile principles. Good understanding of the whole project life cycle: planning, design, implementation and testing

Education History:

  1. 1997 - 2006 Armavir’s school N2
  2. 2006 - 2010 State Engineering University of Armenia, Department of Cybernetics majoring quality control.
  3. 2009 - 2010 SEUA & EIF Java Programing Course

Skills:

  1. Java
    • Language and Frameworks: Java SE 8 +, Servlet API, Jersey, RestEasy, Spring Boot 2.0, Spring 5 (core/security/webmvc/data), JDBC, JPA, Hibernate, myBatis, LiquiBase, Apache Camel, ActiveMQ, Thymeleaf
    • Servlet Container & AS: Tomcat 7, Tomcat 8, Tomcat 9, JBoss EAP 6, JBoss EAP 7.1
    • Build tools: Maven Gradle
    • TDD: JUnit, Junit 5, Mockito
    • Code Quality: SonarQube, Checkstyle, FindBugs
  2. Web
    • Languages: HTML, CSS, JS, Typescript
    • Frameworks: Bootstrap 3, Bootstrap4, AngularJS, Angular
    • Package Managers: Bower, NPM, Yarn
    • Build Tools: Gulp, Grant
  3. Databases:
    • SQL: MySQL, MariaDB, PostgreSQL,
    • NoSQL: MongoDB
    • InMemory: Redis, H2, HSQL, Apache Derby
    • Message brokers : ActiveMQ, RabbitMQ
  4. CI/CD
    • Version Controls: Git, SVN
    • Deployment tools: Kubernetes, Docker, Vagrant, VirtualBox, WSL2
    • Operation systems: Linux, Windows, Macos
  5. Other
    • IDE: IntelliJ IDEA, Eclipse, Netbeans, WebStorm, DataGrip, VS Code, Sublime Text, Zed, NeoVim
    • Task management systems: Jira, YouTrack, Trello, Asana

Professional History:

  1. Company name: AmeriaBank CJSC
    Position: Senior Java Software Engineer
    Period: 04/2023 – current
    Project: MyAmeria Backend
    Responsibilities:
    • Design, develop, and maintain backend services for mobile banking applications.
    • Implement APIs for mobile applications to access core banking functionalities.
    • Develop microservices using Spring Boot and other relevant frameworks.
    • Write clean, maintainable, and efficient code using Java.
    • Perform unit testing and integration testing.
    • Participate in code reviews and knowledge sharing sessions.
    • Stay up-to-date with the latest Java technologies and trends.

    Technologies Used: Spring (Boot/Web/Data/Security/etc.), keycloak, postgresql, mongodb, RabbitMQ, Redis, Jersey/RestEasy, Docker, Kubernetes, Azure Devops(CI/CD), etc…

  2. Company name: Material Exchange CJSC
    Position: Lead Java Software Engineer
    Period: 08/2021 – 12/2022
    Project: Material Exchange: A Digital Sourcing Platform for sustainable sourcing
    Responsibilities:
    • Work closely with product owners and principal engineers to implement, test and continually improve scalable Java applications
    • Take accountability for implementation and quality of software products as well as time and complexity estimation of own technical tasks
    • Develop software products using Agile methods, tools, and continuous delivery process; Participate in design reviews, code reviews, and product demos;
    • Collaborate with other engineering teams to resolve dependencies and deliver high-quality software on time.

    Technologies Used: PostgreSQL, JDBC, HTML, CSS, Angular JS, Docker, Docker Compose, RestEasy, Tomcat, Jenkins Maven, Twilio, and some private frameworks developed by our company(for example. DB Migration Framework).

  3. Company name: Energize Global Services CJSC
    Position: Lead Java Software Engineer
    Period: 02/2020 – 08/2021
    Project: Backend application for e-commerce platform
    Responsibilities:
    • Work on the team of 5 developers to design and develop backend application for online payment system
    • Be responsible for quality of applications delivered for customer orders
    • Direct team meetings to check on progress and plan code direction
    • Attend development work prioritization meetings
    • Ensure team members stay on task
    • Assign coding tasks to various team members
    • Regularly monitor work and cut problem members before issues became large
    • Monitor upcoming new development activity for potential impact to overall environment
    • Provide weekly status reports and time accounting
    • Work with team members to provide timely and accurate estimates for development solutions
    • Work closely with other groups like products business analyst, quality assurance, and project management resources throughout delivery of solutions
    • Mentor and support other members of the team to assist in completing tasks and meet objectives

    Technologies Used: SQL, MySQL, HTML, CSS, Angular JS, Docker, Docker Compose, JBoss EAP 7.1, Maven, CI/CD(Gitlab)

  4. Company name: Energize Global Services CJSC
    Position: Senior Java Software Engineer
    Period: 09/2018 – 01/2020
    Project: Central Acceptance platform (Backend application for POS terminals)
    Responsibilities:
    • Work on the team of 5 developers to design and develop backend application for POS terminals
    • Participate in all phases of software development for server-side application for POS terminals
    • Be responsible for implementation of new applications for different type of credit, debit cards, various payment protocols, testing tools like terminal simulator, authorization server simulators, remittance files parsers
    • Be responsible for analyzing bugs and their fixing
    • Be responsible for creating and updating System documentation, UML and Sequence diagrams describing different part of application
    • Participate in application architecture changes and code refactoring
    • Participate of upgrading to new versions of used frameworks and technologies
    • Work closely with team members locally and abroad

    Technologies Used: EJB, Spring, Hibernate, Apache Camel, ActiveMQ, MySQL, JBOSS, Maven, Subversion, Jenkins, SonarQube

  5. Company name: Energize Global Services CJSC
    Position: Java Software Engineer
    Period: 10/2016 – 08/2018
    Project: VQuick Social Media Platform (Photo and Video collaboration platform)
    Responsibilities:
    • Develop social media platform
    • Develop REST services
    • Develop security parts based on JWT
    • Use TDD-based development (Unit/Integration test) Develop frontend all lifecycle based on Angular JS Design DB structure
    • Organize DB versioning using Liquibase
    • Participate on application architect design stage
    • Participate in discussions to solve application problems on different stage of development Work closely with team members for complex problem-solving activities

    Technologies Used: Java 8, Tomcat, MyBatis, MySQL, Spring MVC, Spring security, Maven, AngularJS, Bower, Gulp, Git.

  6. Company name: Energize Global Services CJSC
    Position: Java Software Engineer
    Period: 12/2015 – 10/2016
    Project: File Storage as a part of local project
    Responsibilities:
    • Implement and develop Rest API Web services
    • Implement front-ends with AngularJS and jQuery
    • Be involved in DB designing, project architecture
    • Use Maven as the build tool and Git SVN as the Source version controller Use Tomcat as a servlet container and MySQL as a database