Muhammed Fatih Doğmuş, Developer in Ankara, Turkey
Muhammed is available for hire
Hire Muhammed

Muhammed Fatih Doğmuş

Verified Expert  in Engineering

Bio

Fatih is a full-stack software engineer with four years of experience. He mostly works with Java, Spring, and Hibernate on the back-end side and Angular and React on the front-end side. He is passionate about software craftsmanship, clean code, testing, design, and architecture. Fatih is also an experienced learner that hones his skills constantly and learns new technologies and techniques.

Portfolio

Tubitak
Kotlin, Gradle, React, Next.js, Cypress, Monorepos
Tubitak
Java, Spring, Angular, Hibernate, Hiring, Technical Hiring, Mentorship...
Atlantic Technology Ventures
Java, Kubernetes, Docker

Experience

  • Java - 4 years
  • Spring Boot - 4 years
  • Hibernate - 4 years
  • TypeScript - 2 years
  • Testcontainers - 2 years
  • Cypress - 2 years
  • React - 1 year
  • Angular - 1 year

Availability

Full-time

Preferred Environment

Java, Spring, Angular, IntelliJ IDEA, Full-stack Development

The most amazing...

...thing I've created is an infrastructure that enables students to attend interactive virtual lab sessions during COVID-19 lockdown.

Work Experience

Team Lead

2023 - PRESENT
Tubitak
  • Managed a team of around 15 people and mentored them on personal development, issue management, and conflict resolution.
  • Helped the team improve their technical skills, as the project required a lot of new technologies like Kotlin, Gradle, React, and Next.js.
  • Acted as a technical lead to make technological and architectural decisions and helped the team unblock technical problems.
Technologies: Kotlin, Gradle, React, Next.js, Cypress, Monorepos

Senior Software Engineer

2022 - 2023
Tubitak
  • Acted as a technical leader for my current team to update them on modern technologies like Spring, Hibernate, Angular, TypeScript, and Cypress.
  • Wrote most of the infrastructure for an application for other developers to use.
  • Performed technical interviews for candidates, mostly new graduates, and interns.
Technologies: Java, Spring, Angular, Hibernate, Hiring, Technical Hiring, Mentorship, Technical Leadership, Tailwind CSS, HTML, CSS, JavaScript, TypeScript, Domain-driven Design (DDD), Hexagonal Architecture, Databases, Full-stack, REST APIs, Software Architecture, Back-end, Front-end, CI/CD Pipelines, APIs, Mockito, SCSS, Node.js, HTML5, RxJS, Git, API Architecture, DevOps, Continuous Delivery (CD), Continuous Integration (CI), JSON, IntelliJ IDEA, Containerization, Agile, Java Persistence Query Language (JPQL), JPA, Microservices

Senior Back-end Engineer

2022 - 2022
Atlantic Technology Ventures
  • Developed complex features like graph data pagination and internal model migration for a data lake company.
  • Performed code reviews on multiple pull requests on different issues.
  • Worked on a large legacy codebase that was hard to navigate and understand.
Technologies: Java, Kubernetes, Docker

Software Developer

2018 - 2022
Tubitak
  • Gathered requirements with customers, designed the general architecture, and developed features in Sprints.
  • Guided the team throughout the project from a technical perspective when using Spring, Hibernate, Angular, Kubernetes, and Cypress.io.
  • Oversaw the team in architectural concerns such as hexagonal architecture, domain-driven design, object-oriented design, and testing.
  • Created a needed back-end and front-end infrastructure for all teams to use in building features.
  • Mentored interns, recruits, and part-time employees and held Spring and clean code courses for interns during our summer boot camp.
  • Created a Kubernetes cluster from scratch on a bare-metal cluster and installed the required dependencies, such as database and Redis, and containerized front-end and back-end applications.
  • Wrote the infrastructure of end-to-end testing with Cypress.io and Testcontainers that run continuously on Jenkins.
  • Laid the foundation of logging architecture with Logback, RabbitMQ, Logstash, and Elasticsearch.
  • Wrote the CI/CD pipeline to easily integrate and deploy the application to the production environment.
  • Performed interviews with new graduates and interns.
Technologies: Java, Spring, Hibernate, Docker, Kubernetes, TypeScript, Angular, PostgreSQL, Liquibase, Testcontainers, Cypress, IntelliJ IDEA, Jenkins, Learning, Time Management, React, Cassandra, Spring Boot, JUnit, JavaScript, Mentorship & Coaching, Jest, SQL, OOP Designs, Domain-driven Design (DDD), Testing, Hexagonal Architecture, Interviewing, Redux, NgRx, Material UI, Tailwind CSS, PrimeNG, End-to-end Implementation (E2E), Architecture, Redis, MinIO, RabbitMQ, Functional Programming, Full-stack Development, API Development, REST, HTML, CSS, Responsive Web Design (RWD), NoSQL, Databases, Full-stack, REST APIs, Software Architecture, Back-end, Front-end, CI/CD Pipelines, APIs, Mockito, Node.js, HTML5, RxJS, Git, API Architecture, DevOps, Continuous Delivery (CD), Continuous Integration (CI), JSON, Containerization, Agile, Java Persistence Query Language (JPQL), JPA

Candidate Software Engineer

2018 - 2018
Tubitak
  • Developed an application that detected duplicate and wrong data on our database and created scripts to delete those duplicate data.
  • Developed software for creating backups for a Cassandra NoSQL database that runs daily and monthly to create daily incremental backups and monthly snapshot backups.
  • Implemented features for an ongoing project for the ministry of health that tracked medical devices.
Technologies: Java, Spring, Hibernate, NoSQL, Databases, Full-stack, REST APIs, Back-end, Front-end, APIs, Mockito, Git, API Architecture, JSON, IntelliJ IDEA, Agile, JPA

Experience

Medical Device Tracking Application for the Ministry of Health

A project on developing an app that would track medical devices such as MR machines, body implants, and glass optics. The Ministry of Health used it to track the medical devices to prevent illegally imported devices were used on patients. It was mainly used by hospitals across the country and medical device manufacturers to notify their inventory.

I worked on the device tracking part, where we received millions of requests each day and needed to keep the response time under 250 ms to handle the load. Since we used Cassandra, the project had a lot of challenges that we had to solve, such as locking, concurrency, backups, reporting, and data migration.

It was a massive legacy application with challenges such as long build and development time and difficulties during deployment and testing. We had to find ways to keep moving and adding features while refactoring and adding more and better tests to increase the application's lifespan.

Interactive Virtual Lab Management System for Remote Education in Universities

https://yoksanlab.yok.gov.tr/
During COVID-19, all universities were doing online courses, but fundamental courses like physics and chemistry couldn't perform their lab sessions. To overcome this problem, the institute of higher education wanted to do a project where students and educators could complete these sessions virtually.

They created a game based on Unity, and they wanted us to develop the management system for registration, reporting, and grading.

We worked in a fast past environment to deliver the product because of the tight deadline due to COVID-19 restrictions. I contributed to all aspects of the project by developing significant features and creating an infrastructure for testing, integration with external services, and fundamental front-end components. I used modern technologies like Spring Boot, React, Docker, and Hibernate.

Tracking the Incentives Given to Researchers Working on Energy and Ores

We created a project to track the government's incentives to researchers who worked on energy and ores to increase the amount of research done in these fields.

They wanted an application to manage incentives, perform evaluations, and track budget and progress. We created a custom-made solution for our client to solve their problems.

I worked on all aspects of this project, from front-end infrastructure to back-end and Kubernetes deployment pipelines. I developed features and worked on components that other developers used every day to create features. When I developed components and infrastructure for other developers, I tried to pay utmost attention to API. Those components' ease of use and usability directly affected productivity when developing new features. Also, I acted as a technical mentor as the team wasn't very experienced in modern technologies such as Spring Boot, Angular, Cypress.io, and Kubernetes, and methodologies like domain-driven design, hexagonal architecture, and testing.

Acqusition and Product Catalog Software for Governmental Institutions

A software application to manage all of the acquisition processes of all of the governmental institutions in Turkey. This is a massive project that will be used across the country to make governmental purchases.

We used cutting-edge technologies like Kotlin, Gradle, Next.js, Argo CD, and Kubernetes.

The project was developed in an agile manner, and I acted as one of the team leads and project technical lead. I made technical decisions and helped my team solve problems and grow their skills. Also, I aimed to improve communication within the team.

Education

2013 - 2018

Bachelor's Degree in Computer Engineering

Middle East Technical University - Ankara, Turkey

Skills

Libraries/APIs

React, API Development, REST APIs, Liquibase, PrimeNG, Node.js, RxJS, NgRx, Passport.js

Tools

IntelliJ IDEA, Jenkins, Git, RabbitMQ, GitHub, Nx, Gradle

Languages

Java, TypeScript, JavaScript, SQL, HTML, CSS, HTML5, Java Persistence Query Language (JPQL), Markdown, SCSS, GraphQL, Kotlin

Frameworks

Spring, Angular, Hibernate, Spring Boot, JUnit, Mockito, JPA, Cypress, Material UI, Tailwind CSS, Jest, Redux, NestJS, Next.js

Paradigms

Testing, REST, API Architecture, DevOps, Continuous Integration (CI), Agile, Microservices, Functional Programming, Responsive Web Design (RWD), Continuous Delivery (CD)

Storage

Databases, JSON, Cassandra, Redis, NoSQL, PostgreSQL

Platforms

Docker, Kubernetes, Netlify

Other

Learning, Time Management, Software Engineering, Testcontainers, OOP Designs, End-to-end Implementation (E2E), Full-stack Development, Full-stack, Back-end, Front-end, APIs, Domain-driven Design (DDD), Hexagonal Architecture, Interviewing, Architecture, Mentorship, MinIO, Software Architecture, CI/CD Pipelines, Monorepos, Argo CD, Mentorship & Coaching, Gatsby, Hiring, Technical Hiring, Technical Leadership, Axios, TypeORM, Containerization, GitOps

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