Ertuğrul Kağan Erfidan
Verified Expert in Engineering
Fintech Developer
Ertuğrul is a software engineer with a primary interest in back-end engineering. He's always interested in learning new tech, building new projects, and making the code as lean and agile as possible. He describes himself as a self-learner. His main areas of expertise are Scala, Python, system design, and functional programming in general. Ertuğrul also has vast experience in building highly scalable and robust enterprise solutions.
Portfolio
Experience
Availability
Preferred Environment
Visual Studio Code (VS Code), IntelliJ IDEA
The most amazing...
...problem that I've solved was the implementation of an algorithm that requires real-time optimization.
Work Experience
Software Engineer
Tookitaki
- Helped to structure the application. Including API, database and deployments.
- Built highly-configurable data validation library(especially for JSON data).
- Created special-purpose LDAP synchronizer daemon with switchable parsers and connectors.
- Applied a CQRS design-pattern to the whole system.
Back-end Software Engineer
Avantstay
- Replaced the third-party service by writing a new back end to manage house reservations.
- Created a coupon system for creating, managing, and reminding users of loyalty coupons.
- Made non-transactional emails GDRP compliant by creating a subscription/unsubscription service from scratch.
- Refactored parts of codebase in order to decouple tightly coupled third-party services/APIs.
Co-founder | Software Engineer
Monocash
- Built Backbone.js microservices for processing transactions.
- Made the system architecture reactive by using the Akka toolkit.
- Created and managed the deployment process in Google Cloud. All of the microservices were built in Akka so we used Docker and Kubernetes for containerization and orchestration.
- Integrated third-party bank APIs into the system.
- Developed a reporting tool for reviewing and analyzing transactions.
Back-end Software Engineer
Paytrek
- Integrated new local card brands and alternative payment solutions to process money from all around world.
- Processed CSV/XLS reports which are generated by banks in order to have control on all transactions and prevent race-condition because of the network issues.
- Developed an uptime-critical API for millions of requests per day to serve data from database and real-time interaction with a third-party API.
- Enabled the exporting and importing of data which affects business logic from the dashboard as a CSV format to update a vast amount of data.
- Implemented dashboard UI improvements to enable the users to control their data more easily.
- Unified all types of errors from different APIs by mapping them to more generic ones to inform users more clearly.
Software Engineer
Garanti Technology
- Developed an asynchronous desktop application to monitor the servers's network.
- Created a reporting mechanism based on high/low, incoming/outgoing requests automatically.
- Replaced old and legacy technologies to increase automaticity and to reduce human interaction.
Skills
Languages
Python, Scala, Clojure, OCaml, Java
Frameworks
Scalatra, ScalaMock, ClojureScript, Akka, Django, Flask, Spark, Unity
Libraries/APIs
Scala.js, Scalaz, ScalaCheck, Http4s
Tools
ScalaTest, Reagent, Emacs, IntelliJ IDEA, Wireshark, Celery, Construction Audit Tracking System (CATS)
Paradigms
Functional Programming, Actor Model, Functional Reactive Programming
Platforms
Linux, Amazon Web Services (AWS), Docker, Kubernetes, Oracle, Visual Studio Code (VS Code)
Other
Fintech, Payment Gateways, Payment APIs, Akka Actors, Akka HTTP, FS2, Web Scraping, Data Processing
Storage
Google Cloud, PostgreSQL, Redis, MySQL
Education
Bachelor of Engineering Degree in Computer Engineering
Yıldız Technical University - Istanbul, Turkey
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring