Yiğitcan UÇUM, Software Developer in Istanbul, Turkey
Yiğitcan UÇUM

Software Developer in Istanbul, Turkey

Member since November 24, 2018
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. His previous experiences include setting up CI/CD pipelines and transforming monolithic codebases into microservices.
Yiğitcan is now available for hire

Portfolio

  • Trendyol
    Go, Scala, TypeScript, Java, Couchbase, Elasticsearch, Neo4j, React, Redux, RxJS
  • Getir
    Node.js, Socket.IO, Lambda, RabbitMQ, Redis, MongoDB, New Relic, Sentry, Jira
  • Waylay NV
    Scala, Akka Streams, Play, Spark, Cassandra, KairosDB, GCE

Experience

Location

Istanbul, Turkey

Availability

Part-time

Preferred Environment

MacOS, IntelliJ IDEA, Git, AWS, Kubernetes

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.

Employment

  • Software Developer

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

    2018 - 2019
    Getir
    • Maintained and developed features for the back-end services of the company with Agile methodologies. Deploying to AWS using Lambda/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 that got used in dozens of microservices in production. I used layered architecture, dependency injection, unit and integration testing, and clean code principles to accomplish this.
    • 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: Node.js, Socket.IO, Lambda, RabbitMQ, Redis, MongoDB, New Relic, Sentry, Jira
  • Technical Intern

    2017 - 2017
    Waylay NV
    • 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, back-up and restore scenarios for the Cassandra database.
    Technologies: Scala, Akka Streams, Play, Spark, Cassandra, KairosDB, GCE
  • 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 across Google services. (Polling, Webhooks).
    Technologies: Kubernetes, GitLab, Jenkins, ELK, Node.js, Redis, Firebird

Experience

  • ETL Tool for Timeseries Database (Development)
    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 (Development)

    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.

Skills

  • Languages

    JavaScript, TypeScript 3, Golang, Scala, SQL
  • Frameworks

    Nest, Play 2, Spring Boot, React Native
  • Libraries/APIs

    Node.js, Socket.IO, TensorFlow, Akka Streams, RxJS, React
  • Paradigms

    Web Architecture, Serverless Architecture, Testing, Microservices Architecture, Functional Reactive Programming, Functional Programming
  • Platforms

    Web, Docker, Kubernetes, AWS Lambda, Android
  • Storage

    Redis, MongoDB, Elasticsearch, Cassandra, KairosDB, Neo4j
  • Other

    Freelance Developer, Monitoring, Lambda Functions, Domain-driven Design (DDD)
  • Tools

    Sentry, IntelliJ IDEA, Jira, AWS ECS, RabbitMQ, Kafka Streams

Education

  • Bachelor's degree in Computer Science
    2015 - 2019
    Trakya University - Edirne, Turkey

To view more profiles

Join Toptal
I really like this profile
Share it with others