Cebrail Erdogan

Java Developer
cebrailerdogan
gitlab.cebrailerdogan.com/cebrail
Roskilde, DK

Summary

Experienced software engineer with many years in the Fintech industry, skilled in Java and open-source technologies. Over the course of my career, I have evolved from a backend developer to a senior engineer, tech lead, and solution architect. Inspired by my passion for agile methodologies, I have honed my skills to become an absolute expert in building scalable, distributed, and fault-tolerant 12-factor applications, also known as cloud-native apps. My proficiency extends to utilizing cloud platforms like OpenShift and Azure, with extensive knowledge of continuous integration, continuous delivery, and continuous deployment. Recognizing the significance of automating the deployment pipeline, I have consistently ensured smooth transitions from local code to production environments.

Driven by a business-oriented mindset, I prioritize cost/benefit analysis and strive to identify the most suitable solutions for each project. Leveraging my prior experience as a Tech/Team-lead, I excel at bridging the gap between business and IT, fostering effective communication, and providing guidance to both development teams and product owners. I am adept at refining and innovating products through collaborative efforts. Furthermore, I possess a strong appetite for learning and readily embrace new technologies and knowledge that enhance my skill set.

Main competence areas

  • Java with Spring Framework
  • Cloud Development
  • Architecture Design

Work Roles

  • Backend Developer
  • Lead Developer
  • Full-stack Developer
  • Solution Architect

Industry knowledge

  • Finance - Retail and Private Banking
  • Finance - Product Ordering

Work Experiences

Danske Bank

Apr 2021 - Feb 2023 - Solution Architect

After finishing the "orchestrator" application (see prev. project), the next step was to provide new services to ease the adoption of new channels and products. My project focused on the first. My responsibility was to design a system, that would allow any product ordering channel to easily compose an order. That means providing APIs that would allow them to search for products available, render forms as expected, and also provide API that would let them prefill data fields. Another functionality was that all orders would be created as a draft in our system, this would allow for early validation, and also continuing an order started in another channel. As a solution architect, my responsibilities were to design the necessary services to handle the functions I just mentioned. I was involved in the following aspects of the project:
  1. System Design
  2. Alignment across stakeholders - as an application between channel and fulfillment, this was important
  3. DevOps design with Azure
  4. Microservice and database design
  5. Authorization with JWT
  6. General infrastructure design such as network enclaves, API gateways and so on.
Java 17
Maven
RabbitMQ
MyBatis
Hibernate
OpenShift 4
Spring
Docker
REST
SQL Server
Azure DevOps
ELK
JWT

Danske Bank

Apr 2020 - Feb 2021 - Technical Lead

With this project, we embarked on a journey to introduce a new channel-agnostic, product ordering orchestration application that can fulfill orders fully automatically - where an order contains products such as cards and accounts. The application would be able to generate documents, create signing cases and implement the products. This turned out to be an important foundation for later projects. I started as a developer, but the project quickly scaled up to a large team of 10 developers, which meant we had to split the team to two teams, I became the technical lead of one of the teams. As the technical lead, I was part of all architectural decisions - working closely with the solution architect. I was involved in designing and implementing the following aspects:
  1. DevOps using Jenkins
  2. Microservice and database design
  3. Authorization with JWT
  4. Event-driven design with RabbitMQ
  5. General infrastructure design such as network enclaves, API gateways and so on.
Of course, I was not just designing, I was also responsible for implementing much of this together with the team. Together with the team, I delivered a solution that today handles a large portion of the orders coming in.
Java 8
Maven
MyBatis
RabbitMQ
OpenShift 3
Spring
Docker
REST
SQL Server
Jenkins
ELK
JWT

Danske Bank

Jan 2019 - Mar 2020 - Software Engineer

I was responsible for the backend development of an advisory product ordering channel - a channel used by our advisors to order products like accounts, cards, loans and so on. Main tasks was to support the new feature requests coming in, often resulting in new APIs for the frontend. During this period, I was also responsible of migrating all of our infrastructure to new datacenters. During the transition, the application was moved from virtual machines to a cloud based solution in OpenShift. The transition happened smoothly with minimal downtime.
Java 8
Maven
Hibernate
OpenShift 3
Spring
Docker
REST
MySQL
DevOps
WebSocket

Danske Bank

Sep 2017 - Jan 2019 - Software Engineer

Assigned to a new project that involves delivering a GDPR related capability for the customers in the bank. The project's goal was to deliver a bank-wide solution that can enable a customer to order an "insight report". The system would fetch all customer related GDPR data and send it to the customer to give them an insight into the sensitive data kept in the bank. As one of the two developers on the team. I was responsible for designing and implementing the application. Along with that, I built the needed DevOps capabilities for our Java backend and React frontend. The project was very intense, as many data source systems was involved and the deadline was already near at project start. We ended up designing a system that enabled all data sources to "own" their data, which they could then send us upon request. The integration technologies used were Pub/Sub (MQ), SOAP, REST, and WebSphere MQ.
Java 8
Maven
Hibernate
OpenShift 3
Spring
Docker
REST
SOAP
SQL Server
DevOps

Personal Projects

Circle Tuner

Dec 2018 - Apr 2023 - Frontend Developer

Circle Tuner is an app for tuning musical intstruments. The algorithm to determine the pitch is based on a method called autocorrelation and is coded instead of using library for flexibility. The application is coded with Angular and Ionic Framework, enabling support for both Android and iOS. Take a look at the code here https://gitlab.cebrailerdogan.com/cebrail/circle-tuner
Ionic
Angular
Android App

Alas - Your Travel Buddy

Apr 2023 - Now - Full-Stack Developer

Alas is a Full-stack project using Java for backend and React for frontend. The project is meant for experimenting and building something that I have wanted to have available myself. With Alas, you can plan, log and track you trips privately and share with your friends. Many other features are described in the repository. Alas is built with Docker so it can be privately hosted. Take a look at the code here https://gitlab.cebrailerdogan.com/alas-tavel
Java 17
React
Gradle
Hibernate
Spring 3
Docker
REST
Postgres DB
JWT

Competences

Category Name Level Last Used Years of Experience
Programming Language Java (up to 17) 2023 6
Programming Language Groovy 2023 3
Programming Language JavaScript 2023 6
Programming Language TypeScript 2023 2
Programming Language SQL 2023 6
Programming Pattern OOP 2023 6
Programming Pattern Declarative (Functional) Programming 2023 6
Programming Pattern Reactive Programming (Spring Reactive) 2021 2
Programming Pattern REST 2021 2
Programming Pattern gRPC 2020 1
Programming Pattern WebSocket 2020 1
Programming Pattern SOAP 2021 2
Programming Framework Spring Framework (Boot) 2023 6
Programming Framework React 2023 2
Programming Framework Angular 2023 2
Programming Framework JUnit 5 2023 6
Programming Framework Spock Unit Testing 2023 2
Data Representation XML 2023 6
Data Representation JSON 2023 6
Infrastructure Terraform 2023 2
DevOps Microsoft Azure DevOps 2023 3
DevOps Jenkins 2021 2
Cloud RedHat OpenShift 2023 5
Cloud Docker 2023 5
Tool Git 2023 6
Tool Maven 2023 6
Tool Gradle 2023 6
Tool GitLab 2023 1
Tool Eclipse 2020 3
Tool IntelliJ 2023 3
Tool K6 (Load Testing) 2023 3
Security JSON Web Token (JWT) 2023 3
Database MongoDB 2020 2
Database Microsoft SQL Server 2023 5
Database MySQL 2019 2
Database Redis 2023 2
Database ELK 2023 4
Database Hibernate (ORM) 2023 6
Database RabbitMQ 2023 4
Database Java Persistence API (JPA) 2023 6
Database MyBatis DB 2023 2
Work Area Backend implementation 2023 6
Work Area Architecture 2023 2
Work Area Systemdesign 2023 5
Work Area Integration testing 2023 6
Work Area Load testing 2023 2
Work Area Data modelling 2023 6
Work Area Documentation 2023 4
Work Area Unit test 2023 6
Work Area Performance optimization 2023 2
Work Area System test 2023 6
Work Area DevOps 2023 4
Project Management Agile methods 2023 6
Project Management Kanban 2023 6
Project Management Scrum 2023 6
Project Management Jira 2021 2