Mehmet Ayan, Developer in London, United Kingdom
Mehmet is available for hire
Hire Mehmet

Mehmet Ayan

Verified Expert  in Engineering

Software Developer

Location
London, United Kingdom
Toptal Member Since
October 21, 2020

Mehmet is a highly skilled software engineer who has experience in projects covering all software lifecycle phases, with Java and JavaScript as his primary programming languages. He is competent in frameworks and libraries such as Spring Boot, Spring, and Java-related technologies, utilizing Node.js for the back end and React and Angular for the front end. Mehmet is confident in using AWS, Kubernetes, Docker, and Jenkins for the DevOps environment.

Portfolio

Meta
PHP, Hack, SQL, Apache Hive, Big Data, Distributed Systems, MySQL, Python 3
Modus Create
React, Node.js, AWS Lambda, GitHub, GitHub Actions, TypeScript...
Joonko AG
Amazon Web Services (AWS), Helm, Cucumber, Cypress, GitLab, Jira, MongoDB...

Experience

Availability

Part-time

Preferred Environment

TypeScript, JavaScript, Angular, Linux, Docker, Kubernetes, React, Node.js, Spring Boot, Java

The most amazing...

...product I've ever worked on is designing and implementing unique software for water network management, managing real-time data from 11 external systems.

Work Experience

Software Engineer

2022 - PRESENT
Meta
  • Worked on a system that detects regression before production.
  • Designed and implemented a system that makes the assignment of test users to internal systems, analyzing their crashes and creating statistical data. This system has caught more than 100 potential regressions before production deployment.
  • Improved system performance (60% less time and 40% memory improvement) that is used to fetch data from an internal streaming system.
Technologies: PHP, Hack, SQL, Apache Hive, Big Data, Distributed Systems, MySQL, Python 3

Full-stack Engineer

2020 - 2022
Modus Create
  • Implemented a micro front-end application (automotive visualization feature service) from scratch, which enables users to display 2D images and 3D videos of Audi cars. The back end was developed with Node.js as an AWS Lambda function.
  • Implemented an optimization on micro front-end application, so the images are downloaded only once because on the Audi website, four instances of visualization feature app ran for some pages. In favor of this, request count and cost were reduced.
  • Integrated a micro front-end application, which is used to search for dealers regarding the term and geolocation of the user. Back-end requests were developed with GraphQL.
  • Implemented all geolocation-related features. Google Maps API was used for geolocation searches and querying place details. If users give permission, they can make an Audi dealer search by their location.
  • Implemented a "search this area" function to enable users to make a dealer search for the region displayed on the screen. For this feature, we developed an optimization of the zoom level of the map for performance concerns.
  • Implemented the CI/CD pipelines for these two micro front-end applications. Refactored the CI/CD pipelines for stability.
  • Implemented the integration tests with Cypress.io for both micro front-end applications. A very high coverage was provided for unit tests.
Technologies: React, Node.js, AWS Lambda, GitHub, GitHub Actions, TypeScript, Amazon S3 (AWS S3), GraphQL, BrowserStack, Microfrontends, Webpack, Google Maps API, Cypress

Senior Full-stack Engineer

2019 - 2020
Joonko AG
  • Designed and implemented car insurance comparison and consumer loan application products from scratch. Applied domain-driven design principles to design applications with the microservices architecture.
  • Built software architectural design enhancements to speed up the services' calculation time, reducing the duration from 90 seconds to 15 seconds.
  • Introduced a new automatic feature branching infrastructure setup for testing purposes, established using Jenkins, Kubernetes, and Helm charts.
  • Added UI automation and feature tests for reducing bugs and running regression tests using Cypress.io and Cucumber.
  • Added Google Tag Manager to the React front end to improve data tracking, making it event-driven.
  • Used Google Optimize for A/B testing to compare different flows.
  • Migrated two microservices from AWS Fargate to Kubernetes, making them more reliable and easier to manage.
  • Implemented a customer support system using AWS Lambda functions for monitoring AWS S3 bucket events.
  • Introduced Terraform to follow infrastructure as code principles to automate AWS operations and reduce the possibility of human error.
Technologies: Amazon Web Services (AWS), Helm, Cucumber, Cypress, GitLab, Jira, MongoDB, Docker, Jenkins, Kubernetes, React, Node.js, Spring Boot, Java

Senior Software Engineer

2015 - 2019
Siemens AG
  • Developed water management software to manage city water networks by processing real-time data from 11 external systems.
  • Designed all integrations of the software with external systems. Implemented two of eleven integrations with the direct database connection, while the others were implemented via RESTful services.
  • Helped the costumers reduce water loss from 50% to 24% in Kocaeli, Turkey, by implementing our water management system.
  • Designed a data collection system to reduce the number of network calls and data size by summarizing the data, resulting in a 75% reduction in time.
  • Gained domain knowledge of the application that helped the team improve accuracy and productivity.
  • Used Rest APIs of the site devices, allowing the water management system to control the water network instead of using different systems.
  • Improved the map screen performance by efficiently utilizing GIS elements and technologies, including rendering GIS elements as VMS objects.
  • Designed calculations and caching for 28 reports and 35 graphs to present data in a more meaningful and efficient way.
  • Designed and implemented applications to complete missing data from external systems using correlational statistical methods.
  • Attended customer meetings to understand their needs and collected requirements.
Technologies: Node.js, Angular, Spring Data JPA, PostgreSQL, SQL, Oracle, Hibernate, Spring Boot, Java

Water Management System

The software developed in this project was the first of its kind. The software's target market is the water and sewerage administration of municipalities. This software enables managing the city water network by collecting data from site devices, CIS, GIS, SCADA, remote metering systems, asset management system, pipe renewal planner, hydraulic modeling software, and workforce management system.

The software was designed with a microservices architecture, following domain-driven design principles. The back end of the project was developed in Node.js and Spring Boot, and the front end of the application was developed in Angular. We used PostgreSQL, MongoDB, and Oracle as database systems, while Redis was utilized for caching. Hibernate, Sequelize, and Mongoose served as ORM tools.

After the project was finalized, the water management system was added to the Siemens product portfolio. The product was deployed on-premise as the water data is recognized as a strategical asset.

I participated in different project stages, including architecture, microservices and integration design, and the back-end and front-end implementation. I also supported the project management team in collecting application requirements from the customer.

Audi Project

All Audi web pages are designed and implemented with micro front-end architecture. With the help of this architecture, teams can work on different features independently. Micro front-end applications were developed with React and GraphQL. The back end of the micro front-end applications is developed with Node.js on AWS Lambda.

I took part in an automotive visualization feature app which enables users to display 2D photos and 3D videos of Audi cars. Users can open or close the trunk and car doors and also turn lights on or off by using this micro front-end application. Another application I contributed to was Audi Dealer Search. With the help of this application, users can search for dealers by geolocation and terms. If users give the application permission to detect their location, they can search their locations.

Car Insurance Comparison and Application Platform

Developed a platform that enables users to compare car insurance offers and select the best one. The platform's main advantage is serving offers to users while collecting fewer data compared to competitors. The platform is practical and easy to use, as the users only need to answer a few questions to get a customized offer.

The platform is designed with a microservices architecture. The system includes five microservices with the front end in React. All user interactions are transferred to the data layer with Google Tag Manager for the data team's analysis. All the answers are processed by the back end so that the conversation can flow dynamically, following each user's previous answers.

The application runs on the Amazon Elastic Kubernetes Service (EKS). Two microservices were developed with Spring Boot, and the others were developed with Node.js. One of the Node.js microservices was deployed as an AWS Lambda function. The application's database is DynamoDB, the infrastructure on AWS is created using Terraform, and the CI/CD pipeline of the project is GitLab.

I took part in every phase of the project, including system architecture and microservices design, back end and front end implementation, and infrastructure.

Languages

Java, JavaScript, SQL, GraphQL, TypeScript, C++, C, PHP, Hack, Python 3

Frameworks

Spring Boot, Hibernate, Spring, Express.js, Angular, gRPC, Spring JDBC, Cypress

Libraries/APIs

Node.js, React, REST APIs, Auth, Google Maps API

Paradigms

Microservices, Design Patterns, Microfrontends

Platforms

Kubernetes, Docker, Amazon Web Services (AWS), Linux, Apache Kafka, Oracle, AWS Lambda

Storage

Spring Data, MongoDB, PostgreSQL, Redis, Elasticsearch, Spring Data JPA, Amazon DynamoDB, Amazon S3 (AWS S3), Apache Hive, MySQL

Other

Full-stack, Software Design, Engineering, GitHub Actions, Big Data, Distributed Systems

Tools

Mongoose, Terraform, Karate API Testing, Helm, Sequelize, Kafka Streams, Jenkins, Jira, GitLab, Cucumber, GitLab CI/CD, GitHub, BrowserStack, Webpack

2015 - 2018

Master's Degree in Software Engineering

Hacettepe University - Ankara, Turkey

2002 - 2010

Bachelor's Degree in Civil Engineering

Middle East Technical University - Ankara, Turkey

MAY 2018 - PRESENT

Learn and Understand Node.js

Udemy, Inc.

APRIL 2018 - PRESENT

The Complete Node.js Developer Course

Udemy, Inc.

DECEMBER 2017 - PRESENT

Udemy Certificate of Completion for JSP, Servlets, and JDBC

Udemy, Inc.

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring