Ozan İncesulu

/ozan-incesulu /ozyinc /ozan-incesulu

Currently employed full-time @eBay as a Backend Software Engineer. I specialize in Java, Python and Typescript and have professional experience with Spring Boot, Keras, Kubernetes, Angular, React and PHP. I have graduated with a Master's Degree in Computer Science at Politecnico di Milano. I believe I can adapt to different environments and tech stacks easily, thus I have experience with working with new technologies, monolithic systems, and microservices. I also enjoy reading tech books, watching conferences and I try to apply the principles learned from them to my code.

Technical Skills
  • Usage of POSIX environments (MacOS || Linux) on a daily basis.
  • Knowledge and experience with Unit Testing, Integration Testing and TDD
  • Worked with Docker & Kubernetes to build CI/CD pipelines.
  • Knowledge of SQL databases; worked with Oracle, SQLite, Google BigQuery, PostgreSQL.
  • Knowledge of NoSQL, worked with MongoDB, Clickhouse and ElasticSearch (OpenSearch).
  • Web development using Spring Boot, Symfony, Django and Node.js libraries.
  • Machine learning with SVM, RF and NN using scikit-learn and Keras.
  • Front-end development with React, Angular, Elm, HTML, CSS and various libraries.
Experience

Backend Software Engineer

eBay (November 2022 - Current)

I am currently working as a full time employee at eBay. My work includes design and implementation of eBay Ads services. Some of the work I took part include:

  • Be a core developer for Promoted Listings Premium, took part in development, testing and release of Dynamic Bidding & Smart Targeting features.

Used Languages/Libraries/Technologies include:

Java, Spring Boot, Oracle DB, ReactJS, OpenSearch

Freelancer

(September 2019 - October 2022)

I was working as a freelancer, helping companies and startups build the products they need. Some of my work include:

  • Development of the curriculum for an SEO module of an Erasmus+ project targeting export specialists.
  • Creation of calculators, focused on meeting the needs of people regarding current events, using various Web APIs and integrations.


    One prominent example of such calculators is, during the COVID-19 crisis, I have created calculators that allow people to calculate their needs regarding high demand products, such as toilet paper and hand sanitizer. I was later informed that those calculators were used by thousands of people worldwide.


Data Science Intern

Stylelounge (July 2018 - September 2018) Hamburg, Germany

Created a pipeline to enhance images and collect relevant product information with image processing, computer vision, machine learning, deep learning, SVM and random forests.

Also, I took part in development of some components and infrastructure tools for Business Intelligence.

Used Languages/Libraries/Technologies include:

Python, Google BigQuery, RabbitMQ, Keras, scikit-learn (for SVM and RF), OpenCV


Software Engineering Intern / Remote Working Student

Stylelounge (August 2017 - June 2018) Hamburg, Germany

I took an active role in improving varying microservices and modules of the infrastructure as a full-stack engineer (with a flavor of DevOps on Kubernetes).

Used Languages/Libraries/Technologies include:

NodeJS, Angular, Typescript, PHP, Redux, Mocha, Sinon, K8S, GCE, RabbitMQ, Google BigQuery, MongoDB, Redis


Software Engineering Intern

EBay Turkey (Gittigidiyor) (July 2016 - August 2016) İstanbul, Turkey

I developed an app for search optimization and cluster management.

Used Languages/Libraries/Technologies include:

NodeJS, ExpressJS, Angular, PassportJS, Apache Solr


Software Engineering Intern

Sierra Nevada Corp. (ESENSI) (June 2016-July 2016) Ankara, Turkey

I have worked on a multisensor data fusion project by developing a simulation and middleware compliant to the OMG DDS (Data Distribution Service) standard for communication between different nodes.

Used Languages/Libraries/Technologies include:

Java, RTI Connext DDS


Undergraduate Teaching Assistant

METU CENG (October 2015 - May 2017) Ankara, Turkey

I helped fellow engineering candidates from different departments to have a better grasp of C in the scope of METU CENG230 (Introduction to C Programming) course.

Education

Master of Science in Computer Science & Engineering

Politecnico di Milano School Of Industrial and Information Engineering 14 September 2020 - 6 October 2022


Final average: 26.5/30

I have graduated from my studies at Milan Polytechnic University (Politecnico di Milano) in 2022, specialized in Machine Learning.

During my Master’s Degree, I have the opportunity to attend to a variety of different classes to increase my comprehension regarding diverse areas of my profession. Some significant highlights of my time here are:

In this course I had the opportunity to work with fellow teammates on a project subsiding one of the problems that has arisen from the reality of the COVID-19 crisis that affects the whole world.

Even though the project was meant to be left at the prototype phase, the steps taken to plan and implement the whole project has been significant regarding the requirements’ elicitation, design and implementation phases.

The course was mainly graded based on the effort we put into identifying requirements, preparing the design document, implementing the project and acceptance testing another project of our peers.

In this course I have learned about different neural units, architectures, augmentation and evaluation methods for neural networks. I had previous experience with neural networks thanks to the Introduction to Machine Learning course during my Bachelor’s

Bachelor of Science in Computer Engineering

METU CENG 1 October 2014 - 17 June 2019


cGPA: 3.54

I have graduated from METU CENG with a High Honor degree, and a ranking of 13 out of 207 students.

I took many courses during my studies in the METU CENG department from basic CS courses to Spanish and Psychology, and listing all here would be unnecessary. However, some highlights that made me a better developer are:

This introductory course was the first course among many that I took during my studies that introduced me to the fundamentals of computer science and engineering. During this course I have learned:

  • fundamental functionality of a basic CPU, which was astonishing on how it reflects the general functionalities and issues regarding computer programming (mainly robustness and step-by-step execution of programs).
  • basics of recursion and iteration, and how to map one to other, considering the implications that this has for dynamic programming and many other algorithms I would personally consider this the best contribution.
  • basics of complexity analysis
  • Ubuntu, Linux and the GNU ecosystem
  • and Python 😀

As the second course about CENG that I took, this course has introduced me to the C language and it’s low-level complex beauty. While learning how to write efficient code and managing dynamic memory, our instructor has also introduced us to how the memory in a computer is managed and what parts do programs have, answering many questions that I had while learning Python. Even though most of the topics were merely an introduction to the concepts and ideas of the programming languages and operating systems courses in the future, it has succeeded in creating an overall idea and appreciation of the hardships of the field that our predecessors have faced regarding basic optimization.

I took this course in my first year, and it provided a better understanding of the actual implementation of various parts of the computer, starting with a few logic gates and adding clocks to provide sequential execution. With this course I have learned how specific mechanisms needed for a computer’s functionality can be realized, and it also introduced me to FPGA programming using Verilog.

This course, even if it has covered many basic data structures (like stacks, queues, linked list, trees, arrays, etc…), has a special place in my memory, due to its detailed insights on workings of hash tables.With this course I learned a lot of different hashing techniques and algorithms determining the overflow strategy, that allowed me to reason about their usage in different scenarios and places.

Within this course, I was first introduced to core ideas of different programming paradigms.

Especially the ideas behind Haskell have amazed me since it was my first encounter with a language that doesn’t inherit C-style programming (even if one might argue some aspects of Python) or doesn’t follow an imperative (also object-oriented) mind set of thinking about code. Another aspect was the idea of pure functions (Monads or IO was out of the scope of the course) and the type system. I was familiar with the idea that using functions one can emulate the same process of a Turing machine according to the Church-Turing hypothesis, however realizing there is a large ecosystem based on Church’s ideas has also been an important revelation.

I have also learned about the scope resolution of different OOP languages and different types of argument passing used in different languages. I have also learned about how C arrays have a weird quirk about whether they are a type or not in the language’s type system and what lazy evaluation is.

On the algorithms course I have learned about the details of various graph and string algorithms.

This course has been a very delightful one to learn, considering that it was the second step in understanding how computers function internally (after Logic Design). Starting from basic addition to details on CPU functionality and caches.

The homework given for this course have featured some of many creative tasks that I have seen in my academic career, reading a binary program to defuse a bomb, hacking a binary using buffer overflow and return oriented programming, optimizing matrix multiplication to use available caches and increase its speed at least 4 times.

This course was mainly about SQL databases work and how files are stored in various systems. I took this course after having a decent experience in SQL and fairly good knowledge on inodes and storage mechanisms of OS, since I already took Operating Systems class. However, in this course I have learned about storage of block data and how indexes built (with B+ Trees).

As a sequel to CENG331, I have learned about mechanisms that operating systems use to execute programs in a secure and fast manner, while allocating resources to different programs executing in (pseudo-)parallel in a way that there is no deadlock.

Also in this course I have learned about processes, threads and synchronization between those. This has contributed a better understanding to me about how locks and semaphores work. Furthermore, I have enjoyed reading and solving the problems in Little Book of Semaphores, and the MINIX book by Andrew S. Tannenbaum afterwards (even though I never got to finish it).

Before taking this course I had fairly good knowledge about different high-level protocols, like HTTP(S), FTP, SSH, Telnet, etc. and a faint idea on how the internal mechanisms worked. During this course I had the opportunity to learn how each networking layer functions, various different protocols and their efficiencies. As a Computer Engineering course, the course had some details on how the low-level signal is transmitted from the cable but obviously we didn’t dive deep into the specifics of the physics (I was told that Electronic Engineers have a more comprehensive course on that).

With this course, I was able to understand the current implementations of some widely used protocols like TCP, UDP, IP, DHCP. The understanding allowed me to better evaluate current technologies we have, have a better understanding of networking components of cloud systems and their security and decreased the entry barrier for understanding new standards of protocols like HTTP/3.

This course (also known as the graduation project) has allowed me to use the things that I have learned by myself and during my internship at Stylelounge to create a product with a team of fellow senior students. The main aim of the course was not to deliver a production-ready app but just to create an MVP to showcase the product. For the details of the project you may visit the project’s page here.

With this course I had my first challenge on being part of a team and discussing architectural choices for a greenfield project for the first time. I have built greenfield projects before in my life (especially for METU YES and Stylelounge) but the scope was limited to a few components, and the team size of those projects were 1 (myself) with occasional discussions with my fellow engineers and my supervisor.

With this course I was formally introduced with ML, the basic principles and many different algorithms with a special interest in Decision Trees, Support Vector Machines, Hidden Markov Models and Neural Networks. I believe that this course has provided me the insight for understanding and applying different mechanisms to further advance myself deep into other algorithms and advanced methodologies.

Within this course I was asked to implement decision trees using different entropy functions, pre-pruning and post-pruning methodologies; neural networks using different error functions and layouts; support vector machines with different kernels and cross validation methods.

I also had the opportunity to be a part of a team of 4 to tackle a real life problem that we chose. We chose to build a news article classifier after observing how many misclassifications Turkish newspaper networks have for their articles. We created a recurrent neural network using vectorization of words in the article as input, which performed better than manually selected labels provided by 2 different sources of Turkish articles.

During my time at METU I took an active role in many student societies and hosted some events regarding those. Some societies I have participated in:

I was a member of the society for 3 years, of which I was the IT coordinator for 1.5 years. During my time I took responsibility for organizing many events (like Crystal Tree Awarding Ceremony, Entrepreneurship and Engineering Summit and NASA Space Apps Challenge) and interviews and maintained and improved the infrastructure needs of the society.

During my time in the society I got to know many people from my university and from the entrepreneurship ecosystem in Turkey. Furthermore, I have gained experience in creating and developing web solutions and learned from my mistakes (including accidentally wiping an SQL database with a wrong query on production 😅 ). I have further described my experience with those here: TODO

Even though I didn’t directly contribute to the club by attending the meetings, I have helped them develop their website with a better admin interface, and I have written some articles to their e-journal e-Bergi.

The articles that I wrote (in Turkish) during my undergraduate studies can be found here.

High School Diploma

METU DF High School 2010 - 13 June 2014


Graduation Grade: 88.13/100

I was placed at the top %0.1 in the university entrance examination in 2014.

During my high school years I have participated in various MUN and EYP conferences (TIMUN'11, MUNESCO'11, TIMUN'12, SAIMUN'13, OLUF'13). I was also a member of the Biology Olympiad Team of my school for 2,5 years.

References
  • Sergey Chekanskiy

    Current CDO of WunderMobility, former CDO of Stylelounge

  • Alexander Thiel

    Current Member of Investment Committee at Curious Capital, former CTO of Stylelounge

    Recommendation letter available on request.

  • Çağrı Karahan

    Current Director of Engineering at Udemy, former Head of Product Development at eBay (Gittigidiyor)

  • Aysel Sözen

    Technical Lead at ESENSI (Sierra Nevada Corp. Turkey)

    Recommendation (in Turkish) available in my LinkedIn.

Miscellaneous

The topics that interest me professionally are system architecture design, DevOps, machine learning, data analytics and scripting languages.

Apart from the professional life; I am currently learning neuroscience and philosophy (Nietzsche is my favorite), I enjoy watching documentaries and sitcoms (mostly through Netflix), I listen to podcasts over Spotify (I would recommend Command Line Heroes and The Economist Radio) I play tennis and go skiing whenever I find the time for it.

My native language is Turkish, I am proficient in English (TOEFL: 113/120), I know Spanish enough to understand the language (B1), and I have a basic knowledge of German (A1) and Italian (A1).

I enjoy coding in Python, have a love/hate relationship with Javascript, however enjoy coding in Elm whenever I can. Think that I’m also fairly good at C, SQL and Java. I am interested in learning different programming languages, and would be fairly excited about any job opportunities if they were to include Rust, Go or C# other than previously mentioned languages.

I have also completed courses regarding robotics and learning from Coursera and edX.