Yiğit Özkavcı, Software Developer in London, United Kingdom
Yiğit Özkavcı

Software Developer in London, United Kingdom

Member since October 22, 2018
Since 2015, Yiğit's 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 via open sources, maintained a Haskell client for the DigitalOcean API, and contributed to a number of Ruby and Haskell projects. Yiğit is also not new to the remote working scene, communicates extremely well, and loves TDD and good documentation.
Yiğit is now available for hire

Portfolio

  • Google
    C++, Java, Go, Python, Distributed Systems, Infrastructure, Fault Tolerance...
  • Picus Security
    Amazon Web Services (AWS), Hydra, Unix, Haskell
  • Paraşüt
    Docker, Ruby on Rails (RoR), Ruby

Experience

  • Object-oriented Programming (OOP) 5 years
  • Ruby 4 years
  • Ruby on Rails 5 4 years
  • Linux 4 years
  • Functional Programming 3 years
  • Concurrent Programming 3 years
  • Haskell 3 years
  • Laravel 5 2 years

Location

London, United Kingdom

Availability

Part-time

Preferred Environment

Source Control Management, Linux

The most amazing...

...thing I've developed was Cenary: a programming language for developing smart contracts.

Employment

  • Site Reliability Engineer

    2019 - PRESENT
    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
  • 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, Haskell
  • 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
  • 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

Experience

  • Cenary
    http://github.com/cenary-lang

    I developed this programming language in order to write Ethereum smart contracts. It's written with Haskell and currently usable for writing small smart contracts.

  • 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.

Skills

  • Languages

    Ruby, Haskell, JavaScript, Elm, Java, C++, Go, PHP, Python
  • Frameworks

    Ruby on Rails (RoR), Ruby on Rails 5, Laravel 5, Laravel, Hydra, Django
  • Paradigms

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

    Linux, Docker, Unix, Amazon Web Services (AWS)
  • Other

    NixOS, Source Control Management, Distributed Systems, Infrastructure, Fault Tolerance
  • Libraries/APIs

    Twitter API, Facebook Open Graph API, Foursquare API
  • Tools

    Jenkins
  • Storage

    SQLite, PostgreSQL, MySQL

Education

  • Bachelor's Degree in Computer Engineering
    2013 - 2018
    Boğaziçi University - Istanbul, Turkey

To view more profiles

Join Toptal
Share it with others