Yiğit Özkavcı, Developer in London, United Kingdom
Yiğit is available for hire
Hire Yiğit

Yiğit Özkavcı

Verified Expert  in Engineering

Bio

Since 2015, Yiğit has been developing apps with Ruby on Rails and working with Haskell and functional programming. An open-source enthusiast, he's developed his own programming language as part of his bachelor thesis and maintained a Haskell client for the DigitalOcean API. As an ex-Googler and SRE, Yiğit is known for his focus on the availability and reliability of the services he owns. Yiğit is also not new to the remote working scene, communicates extremely well, and loves TDD.

Portfolio

Shopify
Ruby on Rails (RoR), Linux, PostgreSQL, MySQL...
Google
C++, Java, Go, Python, Distributed Systems, Infrastructure, Fault Tolerance...
Picus Security
Amazon Web Services (AWS), Hydra, Unix, Linux, Haskell, PostgreSQL, Jenkins...

Experience

Availability

Part-time

Preferred Environment

Ruby on Rails API, TypeScript, React, PostgreSQL, Google Cloud, Heroku, Site Reliability Engineering (SRE)

The most amazing...

...thing I've worked on was leading the migration of production rollouts of a critical service in Google Cloud that was receiving +35M requests per second.

Work Experience

Senior Software Engineer

2022 - PRESENT
Shopify
  • Led the effort to migrate the observability stack of the whole payments platform to Prometheus and Grafana. This included alerts, graphs, and SLOs.
  • Built the 3DS support for credit card payment apps on Shopify along with two other colleagues.
  • Led the backfill and dark launch phases of a major internal project for migrating critical payment app data between internal databases.
Technologies: Ruby on Rails (RoR), Linux, PostgreSQL, MySQL, Object-oriented Programming (OOP), JavaScript, Source Control Management

Site Reliability Engineer

2019 - 2022
Google
  • Held the position of an SRE for Google Cloud Service Infrastructure.
  • Managed a rollout infrastructure migration with zero downtime for a service that receives more than 40 million queries per second.
  • Led an internal team of four people as a part of my role.
Technologies: C++, Java, Go, Python, Distributed Systems, Infrastructure, Fault Tolerance, Design for Failure, Object-oriented Programming (OOP), Concurrent Programming, Linux, Source Control Management

Software Engineer

2017 - 2019
Picus Security
  • Implemented a new license manager service that would help both DevOps and support for managing client licenses.
  • Created a new attack module called scenario attacks that play between two node machines and performs, step by step, a series of vulnerability exploitations.
  • Applied new messaging protocols for a multithreaded "engine" environment.
  • Migrated a codebase from an old SQLite library to a new one by using Haskell's type safety.
  • Co-created a Go library that has both client and server sides and can simulate a data exfiltration attack in the process of a scenario attack. Also integrated this Go library to our Haskell codebase and Nix architecture.
  • Split our existing Jenkins end-to-end test suite into parts.
  • Defined the dependencies in these separate parts and made it possible to have separate reports for each part of the end-to-end suite.
  • Applied Nix's caching mechanism to optimize evaluation time for the suites.
  • Created a token authentication mechanism solely for DevOps.
  • Implemented a series of API endpoints for the DevOps team to help them automate their workflows.
Technologies: Amazon Web Services (AWS), Hydra, Unix, Linux, Haskell, PostgreSQL, Jenkins, Functional Programming, Docker, JavaScript, Source Control Management

Software Engineer

2016 - 2017
Paraşüt
  • Designed a new subscription flow using finite automata modeling.
  • Developed a customer management system for the support team using Coffee.js. The application is modeled as a tree and could be expanded to see the details.
  • Integrated new data analytics using Amazon SNS and SQS for messaging, Firehose for the data flow, and Redshift as the database platform.
  • Implemented new features with Ruby on Rails, a service object with a TDD principle with +96% test coverage.
  • Created new libraries using Plain Old Ruby Objects (PORO) and introduced new abstractions using Ruby's metaprogramming features.
Technologies: Docker, Ruby on Rails (RoR), Ruby, Ruby on Rails 5, MySQL, Jenkins, Object-oriented Programming (OOP), Heroku, JavaScript, Source Control Management

Lead Developer

2015 - 2016
Evbana.com
  • Maintained a Laravel back-end application, as well as the front-end.
  • Created monitoring systems to constantly check up on the availability of our systems.
  • Built various microservices including the ones for data integration and mail notifications.
  • Discovered, with a team, a vulnerability and subsequently improved the security of the system by applying penetration testing for the continuous assessment of vulnerabilities.
  • Created multiple services using service objects, including services for our Slack and MailChimp integrations.
Technologies: Amazon Web Services (AWS), Laravel, Ruby on Rails 5, Ruby, MySQL, Jenkins, Object-oriented Programming (OOP), Heroku, Docker, JavaScript, Source Control Management

Cenary

http://github.com/cenary-lang
I developed this programming language to write Ethereum smart contracts. It's written with Haskell and is currently usable for writing small smart contracts. It utilizes the Ethereum Virtual Machine and its instruction set behind the scenes.

The language utilizes the "Ethereum Yellow Paper" to act on the virtual machine.

Typed Webdriver

https://github.com/yigitozkavci/typed-webdriver
Webdriver is a client library for Jenkins in Haskell. With Typed Webdriver, people are able to verify their XPath expressions and their capabilities at compile time. So basically, if you want to click to an element with the tag "span", your code won't compile.

C-RPC

https://github.com/yigitozkavci/c-rpc
A C program demonstrating remote procedure calls.

DigitalOcean Haskell Client

https://github.com/inzva/DOH
A Haskell client for using the DigitalOcean API.

Glow: A Toy Programming Language Written for LLVM

https://github.com/yigitozkavci/glow
Glow is a programming language compiled with LLVM compiler architecture.

Haskell Client for Hurriyet API

https://github.com/yigitozkavci/hurriyet-haskell
Hurriyet was the top news provider at the time of this project's writing. This client library helps us use their API in Haskell.

Hoogle-It: A Chrome Extension for Haskell Documentation in the Browser

https://github.com/yigitozkavci/hoogle-it
Hoogle-It is a Chrome extension and after it is installed, it lets a user select a text containing a valid Haskell expression and then shows documentation for that text using the Hoogle API.

Tetrelm: A Tetris Game in the Browser Written in Elm

https://github.com/yigitozkavci/tetrelm
The title says it all, this is a toy game project where I wanted to learn Elm better by doing it, and the result was amazing.

Type-Level Dijkstra's Shortest Path

https://github.com/yigitozkavci/typelevel-dijkstra-sp
Dijkstra's shortest path algorithm implemented at the type level. Basically, when the code compiles, before running it, it can give an answer to a graph's shortest path between two nodes.

PoseGenie

An iOS app that allows gymgoers to utilize AI in order to take more consistent poses. Whenever a user opens their cameras in order to take a pose, the app instructs them in various ways, including having them move their arms, legs, head, and other body parts in order to take the perfect pose.

I've used Ruby on Rails and SwiftUI for the back end and front end respectively. The back end is hosted on Heroku.
2013 - 2018

Bachelor's Degree in Computer Engineering

Boğaziçi University - Istanbul, Turkey

Libraries/APIs

React, Ruby on Rails API, X (formerly Twitter) API, Facebook Open Graph API, Foursquare API

Tools

Jenkins, BigQuery, Google Cloud Console

Languages

JavaScript, Ruby, Haskell, TypeScript, Elm, Java, C++, Go, PHP, Python, Swift, Swift 5

Frameworks

Ruby on Rails (RoR), Ruby on Rails 5, Laravel 5, NestJS, Laravel, Hydra, Django, Express.js

Paradigms

Object-oriented Programming (OOP), Functional Programming, Concurrent Programming, Design for Failure

Platforms

Linux, Amazon Web Services (AWS), Docker, Unix, Heroku, iOS

Storage

PostgreSQL, MySQL, SQLite, Google Cloud SQL, Google Cloud

Other

Source Control Management, NixOS, Site Reliability Engineering (SRE), Systems Monitoring, Distributed Systems, Infrastructure, Fault Tolerance

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