Download PDF

Summary

Ferhat has B.Sc. and M.Sc. degrees in Computer Engineering at Boğaziçi University, Istanbul, Turkey. His academic interests are machine learning, natural language processing, data mining and information extraction. He loves working/playing with the data to understand and extract patterns, process and finally produce a meaningful models.

Besides academic studies, also have five years experience as backend software engineer in the industry. Desire to develop highly scalable and distributed systems to solve hard problems and deliver useful solutions by mainly using the tools of JVM ecosystem (Java8, Scala, Play! Framework and Akka, Akka-Http, Akka-Streams, Kafka, Kafka Streams, Cassandra, Spark/Flink, ElasticSearch etc.).

Moreover, try to deepen his understanding of Functional Programming, Programming Languages, Linear Algebra and the Cosmos.

Education

Sep 2012Jul 2016

Master of Science, Computer Engineering

Boğaziçi University, Istanbul, Turkey

Focus: machine learning, information retrieval, text mining, natural language processing.

Thesis: Identifying Passages Describing Protein-­Protein Interaction Detection Methods in Biomedical Full­-text Articles using Information Retrieval Methods: https://goo.gl/NyFprJ

Experience

Oct 2016Present

Lead Software Engineer

Finartz, Istanbul, Turkey

Working as a Lead Software Engineer to design and develop software solutions for one of our clients to help solving their problems while transforming their technology stack with modern/best practices and tools like;

Scala, Akka, Akka-Http, Kafka, Cassandra, ElasticSearch, Microservice architecture, Scrum etc.

Mar 2013Feb 2016

Senior Software Engineer

Monitise MEA, Istanbul, Turkey

Senior Software Engineer at Backend Software Development.

Scala, Java8, Play! Framework, Spring, Akka, Redis, Mysql, Mssql, RabbitMQ

  • Involved in full software life-cycle from Analysis, Planning, Development, Testing and Production Deployment Support.
  • Develop backend services for mainly FinTech projects by using the technology stack above.
  • Code Review, TDD and Functional Programming advocator. Played an active role in Gerrit, TDD and Scala (learning and usage) adaptations.
  • Gave technical talks in the company related to Effective Java, Clean Code, Functional Programming with Scala, Play! Framework and Akka.
  • Used both Java8 and Scala to develop backend services according to functional programming paradigms.
  • Co-developed and co-maintained a PayPal like product for Turkey (backend, web, and middleware for mobile clients).
  • Led a Scrum team technically for a core backend, micro-service based, cloud-hosted FinTech product which have been written with pure Scala and Akka.
Nov 2011Mar 2013

Software Engineer

Vodafone Technology, Istanbul, Turkey

Software Engineer at CRM Application Development Department.

Java, Jsp, Oracle DB, Plsql

  • Involve in Development, Testing phases.
  • Develop web applications for Customer Relationship Management (CRM) department (Core Java and J2EE, JSP, HTML)
  • Maintain and develop functionalities with Pl/Sql and Oracle technologies.
  • Backend Services and web applications for CRM domain targeting new campaigns, functionalities and offers.

Skills

  • Solid background on data structures and algorithms
  • Proficient in Java/Java8, Scala, Play! Framework, Akka, Akka-Http (Spray.io), Akka-Streams
  • Play with Cats, Shapeless, Circe (Typelevel functional programming based projects)
  • Understanding of Kafka, Kafka Streams, data stream processing architectures
  • Try to learn and understand Distributed Systems
  • Play with MongoDb, Cassandra, Spark, Flink, ElasticSearch
  • Experience with TDD and SOA
  • Experience with C, Python
  • Play with Haskell, ML, Clojure, Rust, Racket
  • Experience in MySql, Oracle, SqlServer, Redis
  • Experienced developer on Linux/Mac Os X and Git/Mercurial

Certifications

Aug 2015

Machine Learning

Coursera, Stanford University

The most effective machine learning techniques and the theoretical underpinnings of learning in detail.

A broad introduction to machine learning, data mining, and statistical pattern recognition.

Dec 2014

Programming Languages

Coursera, University of Washington

Programming languages and paradigms in detail.

- Functional Programming + Static typing with SML

- Functional Programming + Dynamic Typing with Racket

- Object Oriented Programming + Dynamic typing with Ruby

Interests

  • Functional and Reactive Programming
  • Algorithms and (Linear) Algebra
  • Machine Learning, Deep Learning
  • Data/Text Mining, Information Retrieval
  • Natural Language Processing
  • Brain Dynamics, Cognitive Science
  • Distributed and Cloud Systems
  • Cryptography
  • Philosophy, Sociology
  • Paragliding, Swimming