Skip to content

Instantly share code, notes, and snippets.

@Yengas
Created February 26, 2023 19:50
Show Gist options
  • Save Yengas/92b34d6183592b9494b5466bfeec3075 to your computer and use it in GitHub Desktop.
Save Yengas/92b34d6183592b9494b5466bfeec3075 to your computer and use it in GitHub Desktop.
Yiğitcan UÇUM - JSON Resume - 2023 Feb
{
"meta": {
"theme": "elegant"
},
"basics": {
"name": "Yiğitcan UÇUM",
"label": "Staff Software Engineer",
"image": "https://www.gravatar.com/avatar/6900201177f2da2ec0fa993f04e0b851?s=400",
"summary": "An action-oriented hard worker. A wide range of experience with various programming languages and platforms. Specialized in high-scale backend development, cloud native technologies, and CI/CD environments.",
"website": "https://yigitcan.dev",
"email": "yengas07@gmail.com",
"phone": "+905452940777",
"location": {
"city": "Istanbul",
"countryCode": "TR"
},
"profiles": [
{
"username": "yigitcanucum",
"url": "https://www.linkedin.com/in/yigitcanucum/",
"network": "linkedin"
},
{
"username": "Yengas",
"url": "https://github.com/Yengas",
"network": "github"
}
]
},
"education": [
{
"startDate": "2015-09",
"endDate": "2019-12",
"area": "Computer Technology and Information Systems",
"studyType": "Bachelors",
"score": "3.86/4.0 (Valedictorian)",
"institution": "Trakya University"
}
],
"references": [
{
"reference": "Yiğitcan is not only a talented and self-driven engineer but also an excellent mentor to his Junior colleagues. During the two years we worked at Trendyol, he took part in multiple projects from start to finish and delivered them successfully.\n\nBeing one of the most talented engineers I have ever worked with so far, he, beyond any doubt, deserves the best. I do hope that he will proceed with his career with more success to come.",
"name": "Zekeriya Keskin, Head of Engineering, Trendyol Group - Alibaba Group (2021)"
},
{
"reference": "Yiğitcan picks up tech very fast. After a few days as intern he was already committing Scala code to one of our core components. Without a lot of input he researched and found the cause of an issue we had with one of our database backends. He is quality-driven and a nice sociable guy to have around!Yiğitcan picks up tech very fast. After a few days as intern he was already committing Scala code to one of our core components. Without a lot of input he researched and found the cause of an issue we had with one of our database backends. He is quality-driven and a nice sociable guy to have around!",
"name": "Francis De Brabandere, Scala Software Engineer, Waylay NV (2017)"
}
],
"skills": [
{
"keywords": ["Typescript", "Golang", "Java"],
"level": "Senior",
"name": "Programming Languages"
},
{
"keywords": ["Node", "Nest.js", "Spring", "Websockets", "DynamoDB / Couchbase", "Postgres", "MongoDB", "Elasticsearch", "Cassandra / KairosDB", "Kafka / RabbitMQ"],
"level": "Senior",
"name": "Backend"
},
{
"keywords": ["AWS", "AWS CDK", "Kubernetes", "Serverless", "Gitlab Pipelines / Jenkins", "Automated Testing", "Continuous Delivery and Deployment"],
"level": "Senior",
"name": "Devops"
},
{
"keywords": [
"HTML / JSX",
"SCSS / CSS / BEM / Styled Components",
"Javascript / Typescript",
"React / Redux / RxJS"
],
"level": "Senior",
"name": "Frontend"
}
],
"awards": [
{
"title": "Second Place",
"awarder": "Getir & BiTaksi Hackathon",
"date": "2017-04"
}
],
"work": [
{
"website": "https://www.affinidi.com",
"name": "Affinidi",
"position": "Staff Software Engineer",
"startDate": "2022-01",
"summary": "As a Staff Engineer, I led the technical development of two critical projects, namely **CommonCheck Integrated Portal** and **Affinidi Console**, meeting the standards set by the company. I also took ownership of implementing various topics within the new technical re-architecturing of the company, collaborating with other senior and staff engineers in designing the new architecture.\n\n- **CommonCheck Integrated Portal**: Led technical development of a consumer-facing portal that validates COVID-19 certificates for potential tourists. Collaborated with team to refactor codebase from JavaScript to TypeScript, implement domain-driven design and event-driven architecture, and improve overall maintainability and fault-tolerance. Worked with Product, Business, and Solution Architects to document the product and assist governments with integrating it into their visa application systems.\n- **Affinidi Console**: Took ownership of project to consolidate all Affinidi API offerings under a single, user-friendly console for both internal and external use. Led all architectural decisions for the Console, including Authentication, Documentation, and Organizational Identities, as well as all shared functionality between API products. Developed multiple products, including VC Schema Manager, Bulk VC Issuance, and Async VC Claim Flow as a product inside the Console offering. Collaborated with other teams, their staff engineers, and architects regarding the Console project and helped them onboard their API products into the console.\n- **Genesis Architecture**: Tasked with refactoring existing architecture to a Cloud Native AWS architecture with a security-first and cost-effective approach. Developed a Central API Gateway component that allowed us to connect AWS Lambdas in different AWS accounts to the same API Gateway using OpenAPI specifications and AWS CDK IaC. Implemented OIDC and oAuth compliant multi-tenant supporting Authentication for our services. Collaborated with team to create and maintain a starter codebase using the Projen library, and refactored existing Consumer-facing Digital Identity (SSI) service to support oAuth for different client applications, improving security and user experience.\n \n\nTechnologies:\n- Node.js with Typescript (Projen)\n- React / Single SPA / Styled Components / Story Book\n- AWS technologies; S3, DynamoDB, KMS, Lambda, API GW, CloudWatch Canaries, AWS CDK for IaC"
},
{
"website": "https://www.affinidi.com",
"name": "Affinidi",
"position": "Senior Software Engineer",
"startDate": "2021-05",
"endDate": "2022-01",
"summary": "Affinidi builds capabilities that empower everyone to own, protect and share universally-accepted data. I started at Affinidi as part of the Foundational Services team, where I was responsible for maintaining and developing new features for the Core Self-Sovereign Identity (SSI) SDK and related backend services. As my tenure progressed, I had the opportunity to join several tiger teams and to play an instrumental role in executing new products from inception to production.\n\n- Refactored the existing Verifiable Credential storage service to a new design, resulting in a significant improvement in performance.\n- Worked on the Safe Travel initiative, which facilitated a seamless travel experience while prioritizing data privacy and security.\n- Developed an end-user edge digital identity wallet capable of storing, issuing, and sharing verifiable credentials.\n- Contributed to the design and implementation of async issuance flows for organizational digital identities.\n \n\nTechnologies:\n- Node.js with Typescript (TSOA and Express for Backend)\n- React, React Native, Electron\n- PostgreSQL, Redis\n- Gitlab Pipelines, Kubernetes, AWS"
},
{
"website": "https://trendyol.com/en/",
"name": "Trendyol Group",
"position": "Senior Software Developer",
"startDate": "2021-01",
"endDate": "2021-06",
"summary": "As a Senior Engineer, I was responsible for driving multiple projects from idea to implementation whilst meeting deadlines and SLAs. \n\n1. Seller Ads: An advertisement management platform that lets sellers promote their products and stores inside and outside of Trendyol storefronts.\n2. Seller Store: A platform for the marketplace sellers to create their own store’s pages. Showcasing their products, campaigns, and events which can be accessed on all Trendyol storefronts(Android, iOS, Mobile Web, Web) with a direct link.\n\nDuring these projects I've;\n\n- Designed and implemented complex backend services. We always started with a modular monolith that got separated into multiple microservices as the platform and the team grew.\n- Created micro-frontend back-office panels to be used by sellers to interact with the platforms.\n- Created an in-house tool called \"Gatek\" which helped to create on-demand test environments in Kubernetes for any kind of services for manual/automated tests.\n- 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.\n \n\nTechnologies: \n* Node.js, Kotlin (Nest.js + Typescript, Spring Boot)\n* React, Redux, Rx.js\n* Couchbase, PostgreSQL\n* Kafka, RabbitMQ\n* Gitlab Pipelines, Kubernetes, ArgoCD"
},
{
"website": "https://trendyol.com/en/",
"name": "Trendyol Group",
"position": "Software Developer",
"startDate": "2019-05",
"endDate": "2021-01",
"summary": "Part of an Agile team developing an e-commerce platform used by millions of active users.\nMember of the browsing team responsible for features such as content invalidation, personalization, and recommendation.\n\n- Wrote high-scale services (millions of requests per minute) with highly optimized backend code and database architecture/configuration. Deployed in multiple data centers.\n- Worked closely with the Data Science team for personalized content recommendation using Kafka/Couchbase/Neo4j.\n- Maintained async architectures and data pipelines to invalidate the product detail page's cache. A complex cache invalidation process that prioritizes 10s of different microservices change notification events.\n \n\nTechnologies:\n* Go, Scala, Node.js, Java (Gin, Play, Akka Stream, Nest.js, Spring Boot)\n* Couchbase, Elasticsearch, Neo4j, PostgreSQL\n* Kafka, RabbitMQ\n* Kubernetes, Docker, Helm"
},
{
"website": "https://www.getir.com",
"name": "Getir",
"position": "Software Developer",
"startDate": "2018-06",
"endDate": "2019-05",
"summary": "Maintained and developed features for the backend services of the company. Helped transition from a monolithic architecture to a microservice oriented architecture. \n\n- Used layered architecture, dependency injection, unit / integration testing, clean code principles. Influenced the coding standard for the newly developed services by creating template projects, that got used in 100s of microservices in production.\n- Designed, implemented and documented features as microservices that got used by the monolithic backend and other services. Managed and guided junior developers in the process.\n \n\nTechnologies i have worked with:\n* Node (Hapi, Restify, Socket.io, Lambda)\n* RabbitMQ, Redis, MongoDB\n* AWS Technologies (ECS, Lambda, Cloudwatch)\n* Newrelic, Sentry, Jira"
},
{
"website": "https://www.waylay.io",
"name": "Waylay NV",
"position": "Technical Intern",
"startDate": "2017-07",
"endDate": "2017-09",
"summary": "Contributions to the company developed services and tools. Optimizing timeseries database usage of the company. Solo developing a tool for doing ETL with mentoring from a senior developer.\n\n- Understanding of Cassandra database (partitioning, quorum, sstable format, backup, restore)\n- Researching KairosDB and its binary formats for reading/writing timeseries data directly from/to Cassandra.\n- Developing a tool that could read data from disk/cql and transform(filter, modify) it to output avro/parquet/csv/sstable.\n \n\nTechnologies i have worked with:\n* Scala (Akka Streams, Play, Spark)\n* Cassandra, KairosDB\n* Kubernetes, Google Cloud (GKE, GCS, DataProc, BigQuery)"
},
{
"website": "https://amonra.com.tr/?lang=en",
"name": "AmonRa Software",
"position": "Software Developer",
"startDate": "2016-06",
"endDate": "2017-06",
"summary": "Building and deploying solutions to address devops and integration needs of the company. Using autonomous microservices and container technologies.\n\n- Installed and configured a bare-metal Kubernetes cluster.\n- Basic continous integration and deployment pipeline using Gitlab, Jenkins, Private Docker Registry, Kubectl.\n- Centralized logging using Elasticsearch, Filebeat, Logstash, Kibana, Redis, Curator and custom services.\n- Custom deployment scripts and Kubernetes configurations to run services on Kubernetes/Bare-metal.\n- Wrote services and configurations to enrich and forward company log data for analytics and storage.\n- Implemented login for the major social networking sites with single use json web tokens.\n- Worked with Google Service Accounts to retrieve and persist data across Google services. (Polling, Webhooks)\n \n\nTechnologies i've worked with:\n\n- ES6 Node.JS (Seneca, Bluebird, Social Media apis, Express, Mocha, ESLint)\n- Firebird, Elasticsearch, Redis\n- Logstash, Kibana, Filebeat, Curator\n- Kubernetes, Docker\n- Jenkins, Gitlab"
}
],
"projects": [
{
"name": "Affinidi Console",
"entity": "Affinidi",
"startDate": "2021-09",
"endDate": "2022-09",
"type": "Software Application",
"url": "https://console.affinidi.com",
"description": "The objective of the project was to consolidate all Affinidi API offerings under a single, user-friendly console for both internal and external use. The console provided all the UI/UX components for Affinidi API offerings, making it easy for external customers to onboard and access documentation. I worked on the following:\n\n- Led all the architectural decisions for the Console, including Authentication, Authorization, Documentation, and Organizational Identities, as well as all shared functionality between API products.\n- Started with a modular monorepo that contained different products' UI/UX implementations, which we later refactored into a micro-frontend architecture with separate CI/CD pipelines so different API owner teams could manage their own product frontend, accompanied by a UI kit library.\n- Implemented core functionality such as Authentication and the Onboarding Experience. Created concepts aimed at organizations to streamline their onboarding process, such as Affinidi Project Concept and Organizational Identities attached to these projects.\n- Developed multiple products, including VC Schema Manager, Bulk VC Issuance, and Async VC Claim Flow as a product inside the console offering.\n- Collaborated with other teams, their staff engineers, and architects regarding the console project and helped them onboard their API products into the console."
},
{
"name": "CommonCheck Integrated Portal",
"entity": "Affinidi",
"startDate": "2022-01",
"endDate": "2022-06",
"type": "Software Application",
"description": "CommonCheck Integrated Portal required me to join pre-release to ensure the system's reliability and finalize the development of new features. The portal was consumer-facing and designed to validate COVID-19 certificates for potential tourists to different countries. As the technical lead, I collaborated with my team to achieve the following:\n\n- Successfully refactored the codebase incrementally from JavaScript to TypeScript, improving maintainability, reducing bugs, and delivering new features without missing deadlines.\n- Implemented domain-driven design and event-driven architecture to enhance fault-tolerance and maintainability, resulting in a portal which supported more generic use cases.\n- Refactored hard-to-maintain and non-beneficial microservices architecture to a modular monolith, and pushed government feature flag configuration to VCS/CI Pipelines to provide audits and easier maintenance.\n- Worked closely with Product, Business, and Solution Architects to document the product and assist governments with integrating it into their systems."
},
{
"name": "Seller Ads",
"entity": "Trendyol Group",
"startDate": "2020-04",
"endDate": "2021-05",
"type": "Software Application",
"url": "https://medium.com/trendyol-tech/micro-frontend-architecture-and-react-with-web-components-c27301c68240",
"description": "Built an advertisement management platform for the marketplace sellers of Trendyol. Sellers use this platform to promote their products and stores within and outside of Trendyol storefronts.\n\nAfter one year the platform was running tens of thousands of active advertisement campaigns with millions of Turkish Liras of daily spending.\n\n- I was involved with project from day one. As a Senior Engineer I was responsible for the architecture and technical implementation details.\n- Designed and implemented CI/CD pipelines for all of the projects. With unit, integration, contract and automation tests running on each commit. Implemented Kubernetes GitOps and Blue/Green Deployments. (Gitlab Pipelines, ArgoCD, Kubernetes, Trunk-based development)\n- Created a micro frontend back-office panel to be used by the sellers to create advertisement campaigns. (React, React Hooks)\n- Designed and implemented backend services that managed sellers advertisement budgets and different types of payment methods, advertisement campaigns creation and updates. (Node.js, Kotlin)\n\nTechnologies: Node.js, Kotlin, React, CQRS, Event Sourcing, PostgreSQL, Couchbase, Kafka, Kubernetes, ArgoCD"
},
{
"name": "Seller Store",
"entity": "Trendyol Group",
"startDate": "2019-10",
"endDate": "2020-04",
"type": "Software Application",
"description": "Built a platform for the marketplace sellers to create their own store’s pages. Showcasing their products, campaigns, and events.\nThese pages can be accessed on all storefronts(Android, iOS, Mobile Web, Web) with a direct link.\nIncreased seller engagement and conversion rate of the whole platform.\n\nCreated a web application to let marketplace sellers design, preview and publish their own pages(React/Redux/RxJS).\nImplemented Seller Store feature for the Mobile Web platform.\nWrote consumers and REST APIs to integrate with other teams and serve storefront applications.\nImplemented branch-based automation tests and integrated them into CI/CD flow(Kubernetes, Gitlab). Wrote integration/unit tests with over %90 coverage for backend/frontend projects.\n\nTechnologies: Node.js, NestJS, React, Couchbase, RabbitMQ, Kubernetes"
},
{
"name": "Content Based Product Recommendation",
"entity": "Trendyol Group",
"startDate": "2019-08",
"endDate": "2019-09",
"type": "Software Service",
"description": "Design of a content-based recommendation system at the user checkout page.\nRelevant and in-stock contents are recommended, according to the basket contents of the user.\nIncreased CR and Revenue through recommendations.\n\nContent information changes (stock, price, metadata) are fed into Neo4j in real-time using Akka Streams and Kafka.\nOnly the relevant information of the content are stored in the Neo4j cluster.\nMultiple recommendation algorithms are stored in the cluster for A/B testing.\nREST API written in Go serves client requests.\nThe average unit test coverage is %90.\n\nTechnologies: Kafka, Scala, Akka Streams, Couchbase, Go, Neo4j, SonarQube, Jenkins."
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment