Yiğitcan UÇUM, Developer in İstanbul, Turkey
Yiğitcan is available for hire
Hire Yiğitcan

Yiğitcan UÇUM

Verified Expert  in Engineering

Software Developer

Location
İstanbul, Turkey
Toptal Member Since
August 20, 2019

Yiğitcan is experienced with both startup and corporate environments. He specializes in back-end technologies and designing and developing end-to-end systems from scratch. Yiğitcan's previous experiences include digital identities, verifiable credentials, setting up CI/CD pipelines, and transforming monolithic codebases into microservices.

Portfolio

Affinidi
AWS Cloud Development Kit (CDK), Amazon DynamoDB, AWS Lambda...
Affinidi
React, TypeScript, PostgreSQL, GitLab CI/CD, Node.js, Kubernetes
Trendyol
GitLab CI/CD, Kotlin, Spring, RxJS, Couchbase, Apache Kafka, RabbitMQ, Argo CD...

Experience

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), Kubernetes, Git, IntelliJ IDEA, MacOS

The most amazing...

...project I've developed required advocating a new approach to the writing of microservices in the company. This led to a more profitable work methodology.

Work Experience

Staff Software Engineer

2022 - 2023
Affinidi
  • Led technical development of a consumer-facing portal that validates COVID-19 certificates for potential tourists. Collaborated with a team to refactor a codebase from JavaScript to TypeScript and implement domain-driven design and event-driven arch.
  • Took ownership of a project to consolidate all Affinidi API offerings under a single, user-friendly console for internal and external use. Led all architectural decisions for the console, including micro-frontend, authentication, and documentation.
  • Refactored existing architecture to a Cloud Native AWS architecture with a security-first and cost-effective approach. Developed an API-first framework for services using OpenAP. Implemented OIDC and OAuth compliant multitenant supporting Auth.
Technologies: AWS Cloud Development Kit (CDK), Amazon DynamoDB, AWS Lambda, OpenID Connect (OIDC), Domain-driven Design (DDD), TypeScript, Node.js

Senior Software Engineer

2021 - 2022
Affinidi
  • Refactored the existing Verifiable Credential storage service to a new design, significantly improving performance.
  • Worked on the Safe Travel initiative facilitating a seamless travel experience while prioritizing data privacy and security.
  • Developed an end-user edge digital identity wallet capable of storing, issuing, and sharing verifiable credentials.
  • Contributed to the design and implementation of Async VC Issuance flows for organizational digital identities.
Technologies: React, TypeScript, PostgreSQL, GitLab CI/CD, Node.js, Kubernetes

Senior Software Developer

2021 - 2021
Trendyol
  • Helped, as a part of multiple cross-functional teams, move two products from idea to production. Products are actively used by thousands of marketplace sellers and touch consumer-facing applications with 20+ million customers.
  • Developed Seller Ads, an advertisement management platform that lets sellers promote their products and stores inside and outside Trendyol storefronts.
  • Developed Seller Store, a platform for marketplace sellers to create their store pages, showcasing their products, campaigns, and events that can be accessed on all Trendyol storefronts (Android, iOS, mobile web, and web) with a direct link.
  • Created micro-frontend back-office panels to be used by sellers to interact with the platforms.
  • Created an in-house tool called Gatek. The tool helped create on-demand test environments in Kubernetes for any kind of services for manual/automated tests.
  • Evangalised continuous integration and continuous deployment principles inside the company. Consulted and mentored other teams and tribes on how to design performant CI pipelines, Kubernetes GitOps, and blue/green deployment.
Technologies: GitLab CI/CD, Kotlin, Spring, RxJS, Couchbase, Apache Kafka, RabbitMQ, Argo CD, React, TypeScript, PostgreSQL, Kubernetes

Software Developer

2019 - 2021
Trendyol
  • Developed a content-based recommendation pipeline. Relevant and in-stock contents are recommended, according to the basket contents of the user.
  • Built REST APIs and data pipelines that fed those APIs databases, scaling up to hundreds of thousands of requests per minute.
  • Developed screens for back-office portals and administration and configuration of the microservices.
Technologies: RxJS, Redux, React, Neo4j, Elasticsearch, Couchbase, Java, TypeScript, Scala, Go

Software Developer

2018 - 2019
Getir
  • Maintained and developed features for the back-end services of the company with Agile methodologies. Deployed them to AWS using AWS Lambda/Amazon ECS.
  • Participated in the transition from a monolithic architecture to a microservice-oriented architecture.
  • Influenced the coding standard of the newly developed services by creating template projects used in dozens of microservices in production. Used layered architecture, DI, unit and integration testing, and clean code principles.
  • Designed, implemented, and documented features as microservices that got used by the monolithic back end and other services. Managed and guided junior developers in the process.
  • Created a test environment with Helm and Kubernetes to bootstrap the entire production environment for end-to-end tests.
Technologies: Jira, Sentry, New Relic, MongoDB, Redis, RabbitMQ, AWS Lambda, Socket.IO, Node.js

Technical Intern

2017 - 2017
Waylay
  • Optimized the time series database usage of the company.
  • Developed a tool for doing ETL with mentoring from a senior developer.
  • Researched KairosDB and its binary formats for reading and writing time-series data directly to and from Cassandra.
  • Created sample projects over the Google Cloud Dataproc to analyze time-series data.
  • Ran hot, backup, and restore scenarios for the Cassandra database.
Technologies: Google Compute Engine (GCE), KairosDB, Cassandra, Spark, Play, Akka Streams, Scala

Software Developer

2016 - 2017
AmonRa Software
  • Installed and configured a bare-metal Kubernetes cluster.
  • Developed the continuous integration and deployment pipeline using GitLab, Jenkins, and Kubernetes.
  • Centralized logging using Elasticsearch, Filebeat, Logstash, Kibana, Redis, Curator, and custom services.
  • Created scripts and microservices using Node.js technologies to be used by core products and to aggregate information for the ELK cluster.
  • Collaborated with Google service accounts to retrieve and persist data (polling and webhooks) across Google services.
Technologies: Firebird, Redis, Node.js, ELK (Elastic Stack), Jenkins, GitLab, Kubernetes

ETL Tool for Timeseries Database

https://yengas.github.io/kairosdb-inner-workings/
An ETL tool was created to migrate individual customers data from a KairosDB database to external platforms. Scala and Akka streams were used, to read data from directly from Cassandra(CQL), reverse engineering the binary data format of KairosDB. The tool could export the data into CSV/Avro/Parquet or into another Cassandra database. User interface, documentation and sample codes were created to let users export their data by selecting time ranges.

Test Environment for Microservices

A helm-based environment was created for automated and manual testing. The project made it possible to bootstrap microservices in a target Kubernetes cluster, programmatically. End-to-end tests were run in isolation using Amazon EKS. Each bootstrapping of the environment would result in a new namespace, where every dependency of the selected microservices is run.

Infinite Scaling Game Server

https://github.com/hatchapp
A real-time server for a game where players are assigned the role of the "teller" when they join the room and are presented with a list of movie genres to choose from. Once a genre is selected, the player's task is to describe the movie using emojis. If another player correctly guesses the movie's name, the round ends. WebSocket servers are scaled horizontally with a consistent hashing algorithm. The game server itself is programmed using functional reactive programming principles.

Family Tree Parser

https://github.com/soyagaci
Soyagaci is a library developed to parse family tree information provided by the Turkish government on its website. It can parse information from diverse sources, including plaintext, HTML, and PDF formats.

Stockfish Chess Engine Back-end Server

https://github.com/Yengas/stockfish-cluster-example
A demo project showcasing different ways to create a back-end server for the Stockfish chess engine. Inspired by a question on a Turkish forum asking how to connect the Stockfish chess engine to a socket server, the code is accompanied by an article written to answer that question.

OpenAI GPT-based Serverless Slack Bot

https://github.com/WiseGPT/slack-bot
Slack Bot for communicating with WiseGPT. The bot uses OpenAI GPT-3 to simulate a ChatGPT-like conversation. With each new message, the whole conversation is sent to GPT for completion. Summarization of the conversation is done (per configuration parameters) to keep the prompts small, even if the conversation gets long.

Languages

JavaScript, TypeScript 3, Go, Scala, SQL, TypeScript, Java, HTML, Kotlin

Frameworks

NestJS, Play 2, Spring Boot, Play, Spark, Redux, React Native, Fastify, Spring

Libraries/APIs

Node.js, Socket.IO, TensorFlow, Akka Streams, RxJS, React, REST APIs

Paradigms

Web Architecture, Serverless Architecture, Testing, Microservices Architecture, Functional Reactive Programming, Functional Programming, Event-driven Architecture

Platforms

Web, Docker, Kubernetes, AWS Lambda, MacOS, New Relic, Amazon Web Services (AWS), Android, Apache Kafka

Storage

Redis, MongoDB, Elasticsearch, Cassandra, KairosDB, Neo4j, Firebird, Couchbase, Amazon DynamoDB, PostgreSQL

Other

Freelancing, Monitoring, Lambda Functions, Domain-driven Design (DDD), WebSockets, Axios, OpenID Connect (OIDC), Argo CD, Full-stack Development, Algorithms, Data Structures, OpenAI GPT-3 API, Amazon EventBridge

Tools

Sentry, IntelliJ IDEA, Jira, Amazon Elastic Container Service (Amazon ECS), Git, GitLab, Jenkins, ELK (Elastic Stack), Google Compute Engine (GCE), RabbitMQ, Kafka Streams, AWS Cloud Development Kit (CDK), GitLab CI/CD, Amazon Simple Queue Service (SQS)

2015 - 2019

Bachelor's Degree in Computer Science

Trakya University - Edirne, Turkey

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