I am Hossein Fakhraei and I am a software engineer with a strong technical background of over 15 years, well suited to design & develop microservices for enterprise applications.
I have expert knowledge of backend Java solutions and distributed software development. I have experience in several sectors, but my greatest strengths lie in the areas of payment switch and banking.
I have been involved in all stages of a software development project, from the idea and requirements phase to implementation and production.
I have been playing different roles in my working years, such as Developer, Team Lead, Manager and Product Owner.
Education
- 4 Years degree in Software Engineering at Azad North Branch University.
- 2 Years degree in Computer Application at DPI college (Member of ministry of science and information technology)
Work Experience
1- REPAY 6/2022 - now
- Senior Java Developer:
- Migrated some of the old Spring Framework applications to Spring Boot.
- Developed a new OAuth2 Authentication Server using Spring Boot.
- Integrated Spring Boot applications with OAuth2 to support both OAuth2 and Basic Authentication.
- Designed an application to convert different structured files, such as Excel, Fixed-Length Files, Delimited Files, JSON, and XML, through configuration.
- Created Terraform deployment configurations for deploying new services on AWS.
- Developed Terraform modules to facilitate the deployment of various AWS Lambda functions.
- Collaborated with other team members to develop new software functionalities, contributing to the enhancement and expansion of the overall system.
2- Telenor 5/2019 – 5/2022
- Senior Java Developer:
- M1- Member of design & development team of automated acceptance test platform to improve quality and reliability of software before deployment to production.
- Designed & developed the backend micro-services with Java, Spring Boot and Oracle DB.
- Developed CI/CD pipeline with Jenkin to automate building & deploying microservices to Kubernetes platform.
- Refactored old services to improve performance by replacing pulling patterns with event-driven with help of RabbitMQ and in-memory caching.
3- Aban Co. 4/2018 – 12/2019
- Software Manager: Member of marketing team to present “Doxis4 iECM suite (Document Management System)”.
- Senior Software Engineer: Designed & developed distributed archiving application to manage computer files and transfer them to archive storage based on predefined policies with Java and Spring Boot.
4- Digikala Co. 1/2018 – 3/2018
- As a consultant, collaborate with the development team to prepare a new containerized environment with Docker.
5- Caspian computer application service provider Co. 7/2006 – 12/2017
- Product Owner: Drive product development across teams (primarily Engineering, Operations, Product Management, Business Development) through business requirements, design, implementation, and release for Lotus Modern Banking. Identify and resolve strategic issues to help the team meet strategic, financial, and technical goals.
- Project Manager: Manage team develops and maintenance Lotus modern banking systems (Issuing Card, Banking Switch, ATM, Channel Manager, Internet Bank, Telephone Bank, Mobile Bank).
- Senior Solution Architect: Design Lotus Banking ATM monitoring back office with UML as modeling Tools.
- Senior Solution Architect: Design Lotus Banking channel manager & modern banking (Internet Bank, Mobile Bank, Telephone Bank) back office with UML as modeling Tools.
- Solution Architect and Developer: Design and implement required applications for Lotus Banking Acquiring switch with Java as programming language and Oracle as database and UML as modeling Tools. This switch compatible with ISO-8583 and Shetab (Central Bank of Iran switch standard) standards.
- Solution Architect and Developer: Design and implement required applications for Lotus Banking Issuing switch with Java as programming language and Oracle as database and UML as modeling Tools. This switch compatible with ISO-8583 and Shetab (Central Bank of Iran switch standard) standards.
- Solution Architect and Developer: Design and implement required applications for Lotus Banking Card Issuing with Java as programming language and Oracle as database and UML as modeling Tools.
- Solution Architect: Member of architecture team to implement Lotus Banking system infrastructure with Java as backend and WPF and C# as frontend.
- Solution Architect and Developer: Designed and implemented Parsian Bank RTGS (Real Time Gross Settlement) With C# and SQL Server 2005 as programming language and UML as modeling Tools. The system is designed in 3-Tiers and 5-Layers with COM+ and Remoting Technology capabilities. The final product is capable of connecting to central bank of IRAN with Web Sphere MQ 6 and connects to Parsian Bank core banking system with Bea Tuxedo solution.
- Solution Architect and Developer: Design and implement required applications for Parsian RTGS System in HP-UNIX environment with C++ and PL-SQL and Bea Tuxedo solution.
- Solution Architect and Developer: Designed and implemented card gateway and card switch software based on ISO8583 for ATM/POS gateway and switch for Parsian bank with C++ (socket programming) and PL-SQL in HP-UNIX environment with an ability to connect to Parsian new core banking system.
- Solution Architect and Developer: Designed clean payment system (retail section) as part of Misys core banking for Parsian Bank with ability to connect to Misys trade invocation system (Misys TI).
- Solution Architect and Developer: Designed and implemented required services for Parsian bank clean payment and Trade invocation (Misys TI) in HP-UNIX environment with C++ and PL-SQL and Bea Tuxedo solution.
- Solution Architect: Member of Parsian total solution architecture team
6- Yaas systems engineering’s Co. from 5/2002 to 8/2005
- Developer: Designed and developed mechanized system for Iranian ministry of road and transportation based on Visual Basic 6 and SQL server 2000.
- Researcher: Contributed to review and study RFP’s (Request for Proposal) for PM (Preventive Maintenance) & GIS (Global Information System) for IKH international Airport.
- Developer: Contributed to design treasury system software for Iranian ministry of economic affairs and finance with RUP as methodology and UML as modeling language.
- Developer: Designed and developed treasury system software for Iranian ministry of economic affairs and finance with C# as programming language and SQL Server 2000 as database. This system implement in 3-Tiers and 5-Layers with COM+ and Remoting technology capability.
- Developer: Designed and implemented judicatory complaint process system software for Iranian Judicatory with C# as programming language and SQL Server 2000 as database. This system implement in 3-Tiers and 5-Layers with COM+ and Remoting technology capability.
7- Aria Computer Industrial Co. from 2/2001 to 5/2002
- Developer: Analyzed, designed and implemented Inventory & Financial system software for “green crescent of Iran Company” with SSADM as methodology and visual basic 6 as programming language with SQL Server 2000 as database.
- Technician: Designed and implemented LAN network for “Tarh-e-Sanat Company”.
8- Data Processing of Iran (Previous IBM) Co. from 7/2000 to 4/2001
- Developer: Designed and implemented “Worker Welfare Bank internet banking” (testing system) with COBOL and CICS technology.
- Programmer: Member of programming team in “Worker Welfare core banking system” that implement with COBOL and CICS in server side and Visual Basic 6 in Client side.
- Developer: Contributed in programming “Tejarat core banking system” software that implemented with COBOL and CICS in server side and Visual Basic 6 in Client side.
Skills and Qualifications
- Java 11+
- AWS
- AWS EC2
- AWS Lambda
- AWS RDS
- AWS System Manager
- AWS Secret Manager
- …
- Spring Framework
- Spring Cloud
- Spring Boot
- Spring Security
- Spring MVC
- …
- Hibernate
- Oracle PL/SQL
- MySQL
- Docker
- Jenkins
- Kubernetes
- Agile & Scrum
- UML Methodology
Thank You for reading!