Emre Gozen, Back-end Developer in Istanbul, Turkey
Emre Gozen

Back-end Developer in Istanbul, Turkey

Member since April 1, 2020
Emre is a seasoned software engineer with a demonstrated history of working on complex projects—focusing on Java, React, DevOps, and containerized runtimes. However, he's also developed SOAP and REST web services for several years. Emre's worked on transformation projects where he converted monolithic apps to cloud-ready microservices along with creating the CI/CD pipelines. For his own projects, Emre has deployed apps on AWS EC2, Elastic Beanstalk, and used CloudWatch for centralized logging.
Emre is now available for hire

Portfolio

Experience

Location

Istanbul, Turkey

Availability

Part-time

Preferred Environment

Git, MacOS, Eclipse, IntelliJ, WebStorm

The most amazing...

...project was serving as the technical project leader for a digital transformation project for a well known airline; I learned a great deal about microservices.

Employment

  • Senior Full-stack Developer and Architect

    2020 - PRESENT
    A Defense Company
    • Developed a microservice-based application for a SCADA solution with a Spring Boot framework to provide back-end services.
    • Built a front-end application for a SCADA solution with a React framework using Redux functions.
    • Managed a Kubernetes and Red Hat OpenShift platform for the development and maintenance of the solution using predefined operators.
    • Architected the microservice and a DDD (domain-driven design)-based distributed solution which provides a highly available-and-resilient service for the energy sector.
    • Implemented IoT protocols like DNP3, Modbus, or IEC for the communication between SCADA system and RTU (remote terminal unit) devices.
    • Developed and maintained a Helm chart for a robust and automated operational workflow.
    Technologies: Java 8, React, Redux, Kubernetes, Red Hat OpenShift, Spring Boot, Hibernate, Liquibase, PostgreSQL, C4 Architecture Model, SCADA, Industrial IoT, DNP3, Modbus Protocol, IEC 62304, Elasticsearch, RabbitMQ, Domain-driven Design (DDD), Helm
  • Senior Back-end Developer

    2020 - PRESENT
    National Consumer Panel
    • Oversaw the development activities for the companies' web service applications which were built with Java using Spring and Hibernate frameworks.
    • Maintained the application with bugfixes and configuration management for a GitLab codebase.
    • Executed a database script for a data migration and development purposes using DBeaver.
    • Deployed a package on a WebSphere 8 application server.
    Technologies: Java, IBM WebSphere, Spring, Hibernate, Web Services, JAX-RS, GitLab
  • Senior Back-end Developer

    2020 - 2020
    CashCloud, Inc. (via Toptal)
    • Developed a RESTful integration on the Java Dropwizard project to connect with a new bank service.
    • Created an admin endpoint to manage SSL certifications on the fly.
    • Enhanced the company's AWS IAM usage to give people the correct permissions with their created roles.
    Technologies: Microservices Architecture, AWS, Git, Web Services, Dropwizard, AWS EC2, AWS IAM, AWS Elastic Beanstalk, Amazon Web Services (AWS), Java
  • Experienced Software Developer | Technical Team Leader

    2017 - 2020
    Turkish Airlines
    • Led the middleware web-services team of 12 engineers which implemented the comprehensive heap dump/thread dump analyses using MAT, Dynatrace, and Java Flight Recorder to detect memory leaks and class loader leaks.
    • Oversaw a digital transformation project which involved converting a backbone monolithic web service application to microservices with the Spring Boot 2 framework and a migration from WebLogic to Redhat OpenShift.
    • Enriched a CI/CD pipeline to increase operational quality by adding a binary build, Docker image creation, regression tests, and deployment to Redhat OpenShift with zero downtime.
    • Created an in-house service virtualization tool for robust CI/CD pipelines. It was a Spring Boot project and supported HTTP, JDBC, and IBM MQ protocols.
    • Built an abnormality detection system that analyzed error increase rates and detected abnormalities. We used the Spring Cloud Data Flow Kubernetes framework and combined RNN (recurrent neural network) and standard deviation for better performance.
    Technologies: Microservices Architecture, log4j, Oracle WebLogic Application Server, Git, Agile Software Development, Web Services, Spring, Microservices, Dynatrace, IBM MQ, WebLogic, JUnit, Couchbase, Kubernetes, OpenShift, Hibernate, Spring Boot, Java
  • Senior Back-end Developer

    2018 - 2019
    Freelance
    • Developed a set of microservices to provide RESTful ticket and reservation lifecycle methods with the Spring Boot framework and deployed on AWS EC2 and Elastic Beanstalk.
    • Created high coverage unit tests to ensure code quality.
    • Built a pipeline to create application binaries from a GitLab source and then deployed to AWS EC2 and Beanstalk environments.
    Technologies: log4j, Git, Web Services, Spring, MySQL, Hibernate, Spring Boot, AWS Elastic Beanstalk, Amazon Web Services (AWS), Java
  • Java Software Developer

    2013 - 2017
    Turkish Airlines
    • Built a backbone middleware web-services project used by sales channels like website and mobile applications. The main integration was with a reservation system using IBM MQ 8. It was deployed to WebLogic 12c with a custom Jenkins deployer plugin.
    • Composed enhanced unit tests for microservices with JUnit, RestAssure, Wiremock, and Spring Boot capabilities.
    • Developed a front-end application with the JSF framework and Spring/Hibernate frameworks. The pages were used by analysts and business teams.
    Technologies: Web Services, JAX-RS, JAX-WS, IBM MQ, WebLogic, JUnit, Hibernate, Spring Boot, Java
  • Software Quality Engineer

    2012 - 2013
    Turkcell
    • Carried out full lifecycle tests for Turkcell's billing rating charging mediation systems.
    • Developed JUnit tests for billing and agency applications.
    • Created quality reports for billing and agency applications.
    Technologies: SoapUI, JUnit, Java
  • Part-time Software Developer

    2010 - 2011
    Bosch and Siemens Home Appliances
    • Developed ASP.NET pages for call center operations.
    • Created and maintained SSRS (SQL Server Reporting Service) reports with complex SQL queries.
    • Contributed to the development stages of .NET back-end components.
    Technologies: JavaScript, SSRS, SQL, ASP.NET, C#

Experience

  • SCADA System Solution

    I contributed to the development and architecture of a supervisory control and data acquisition (SCADA) system for the industrial IoT market.

    The back end was designed to contain distributed microservices that were loosely coupled and communicate using RabbitMQ with domain events for specified DDD (domain-driven design). The front end was developed using React framework with Redux functions to provide application scale prop storage.

    To communicate with remote terminal units (RTU), sector standard protocols like DNP3, Modbus, and IEC were implemented and used. Kubernetes 1.20 and Red Hat OpenShift 4.6 were used for both development and production environments. Helm charts were used for CI/CD processes to automate operational works.

  • Application Modernization Project

    I worked as a technical team leader and developer of a project that aimed to convert monolithic applications into microservices. This required re-platforming applications from WebLogic 12c to RedHat OpenShift 4 container platform.

    We used new robust CI/CD pipelines for the application lifecycle and test purposes. Spring Boot 2 framework and its side dependencies were used for new microservices. This project was viewed as an exemplary effort for the rest of the company to modernize the entire department's applications.

  • Gateway Microservice for an Airline Reservation System

    This project involved the development of a Spring Boot 2 application that constructed a bridge between other microservices and the airline reservation system.

    I was the only developer. HTTP (RESTful) and custom TCP protocols were supported. Stateful tokens were stored on Couchbase for better performance. The application connected the airline reservation system via IBM MQ 8. RedHat OpenShift 4 was used for the runtime. I created a Jenkins pipeline for CI/CD operations and all deployments were automatically done by Git Hooks with no downtime.

    The system was designed for handling a massive RPS load from different applications.

  • Turkish Airlines | Main Backbone Middleware Reservation Web Services Project

    I contributed to the development of a Java application with JAX-WS and JAX-RS endpoints. The app provided major sales channel operations (e.g., websites, mobile applications, agencies) such as before-after tickets, payments, check-ins, and reissuing. It was developed with Spring and Hibernate frameworks and Maven was used for dependency control. Deployments were done with Jenkins pipelines and Oracle WebLogic 12c was used for runtime. I also integrated with many other systems with SOAP, Rest, IBM MQ, and TCP protocols.

  • Service Virtualization Tool

    A Spring Boot microservice that virtualizes other applications' dependencies for robust CI/CD flows with scenario-based records. It simply worked between two applications, listened to traffic, and simulated real systems when the CI/CD flow was working. The application was designed especially for stateful flows, where the sequence was important for response messages. An Oracle database was used for storing input and output messages.

  • Anomality Detection System

    This complete system consists of several microservices for detecting errors, which were abnormally increasing during a specific amount of time in the application logs from Elasticsearch and the database. It was designed for catching unnoticed production errors which are crucial for sales operations. Spring Cloud Data Flow for Kubernetes was used as the engine of the system. Custom microservices were developed for analyzing errors with standard deviation and RNN (recurrent neural network) algorithms. The design was patented with the Turkish Patent Authority (TR 2019/02123).

  • Agency Ticket Sale Back End

    I developed a set of back-end microservices for an agency website that was integrated with another service provider to sell tickets from multiple airlines. Spring Boot was used for microservices. Calendar service and other ticketing services were designed for fault-tolerant structure. AWS EC2 and BeansTalk were used for the runtime. To collect applications' logs and illustration, AWS Beanstalk and Kibana were used.

  • Ticket and Reservation Microservice

    I developed a Spring Boot application that manages the lifecycle of tickets and reservations of an airline. There were CRUD operations for electronic documents like display and cancel. A pipeline for Jenkins was created to build, test, and deploy the application. The package could be running on both RedHat OpenShift with environment variables and WebLogic 12c with system variables.

  • Passenger Profile and Preference Microservice

    I developed a Spring Boot 2 application that contains profile and SSR (special service request) operations for the airline. Meal, baggage, identity request, and profile creation integrations were operated with SOAP and REST endpoints. Jenkins pipelines were used to manage the application lifecycle. RedHat OpenShift was used for the runtime.

  • Price Calculations Microservice

    I implemented a microservice that contains pricing features and integrations for an airline including sensitive ticketing pricing calculations, currency conversion, and stateful logic. Jenkins pipelines were created for building, testing, and deploying application to runtime and RedHat OpenShift was used as the runtime platform.

  • Toptal React Academy Graduate

    The Toptal React Academy is an exclusive learning program that teaches the React framework to select members of the Toptal network. After a month of study, all graduates are tasked with completing a 30-40 hour final project to build and deliver a React app from scratch. The above is a walkthrough of my final project.

Skills

  • Languages

    SQL, Java, YAML, C#, JavaScript, Java 8
  • Frameworks

    Spring, Spring Boot, Hibernate, Swagger, JUnit, ASP.NET, Dropwizard, Redux
  • Libraries/APIs

    JAX-WS, JAX-RS, Jenkins Pipeline, React, Liquibase
  • Tools

    Maven, Git, Dynatrace, Docker Compose, IBM MQ, AWS EBS, AWS CloudWatch, SoapUI, SSRS, AWS IAM, GitLab, RabbitMQ, Helm, Jenkins, IntelliJ, WebStorm
  • Paradigms

    Agile Software Development, Microservices Architecture, Microservices, Continuous Integration (CI), Continuous Delivery (CD)
  • Platforms

    Kubernetes, Eclipse, Red Hat OpenShift, Docker, AWS EC2, Amazon Web Services (AWS), MacOS, OpenShift, AWS Elastic Beanstalk, IBM WebSphere
  • Other

    log4j, Web Services, API Integration, Memory Leaks, Class Loader Leaks, Oracle WebLogic Application Server, AWS, Recurrent Neural Networks, AWS Route 53, WebLogic, C4 Architecture Model, SCADA, Industrial IoT, DNP3, Modbus Protocol, IEC 62304, Domain-driven Design (DDD)
  • Storage

    Oracle 12c, NoSQL, MySQL, Couchbase, PostgreSQL, Elasticsearch

Education

  • Bachelor's degree in Computer Engineering
    2007 - 2012
    Istanbul Technical University - Istanbul, Turkey

Certifications

  • Toptal React Academy Graduate
    JANUARY 2021 - PRESENT
    Toptal, LLC

To view more profiles

Join Toptal
Share it with others