Mehmet Ayan
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Full-stack Engineer
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.
Senior Full-stack Engineer
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.
Senior Software Engineer
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.
Experience
Water 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
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
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.
Skills
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
Education
Master's Degree in Software Engineering
Hacettepe University - Ankara, Turkey
Bachelor's Degree in Civil Engineering
Middle East Technical University - Ankara, Turkey
Certifications
Learn and Understand Node.js
Udemy, Inc.
The Complete Node.js Developer Course
Udemy, Inc.
Udemy Certificate of Completion for JSP, Servlets, and JDBC
Udemy, Inc.
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring