Kostis Dadamis
Verified Expert in Engineering
Software Developer
São Paulo - State of São Paulo, Brazil
Toptal member since April 29, 2019
Kostis is an experienced Ruby, Rails, and Java developer who is product-driven, eager to solve hard problems using any technology, and ready to participate in any stage of product development. He has vast working experience in several other languages and frameworks, such as JavaScript, Python, iOS, and Android, as well as system architecture. He has released a Ruby gem and published blog posts regarding research in mobile software development.
Portfolio
Experience
- Ruby - 5 years
- JavaScript - 4 years
- Android - 4 years
- Ruby on Rails (RoR) - 4 years
- Python - 3 years
- iOS - 3 years
- Java - 3 years
- System Architecture - 1 year
Availability
Preferred Environment
IntelliJ IDEA, MacOS, Linux, Git, Emacs
The most amazing...
...thing I've designed and implemented was a payment system that ended up serving millions of dollars in payments within a year.
Work Experience
Senior Software Engineer
BitLove
- Worked as a full-stack developer for a ten million-user social network, focusing on the back end and security.
- Implemented the in-house video transcoding pipeline.
- Migrated a high-throughput four-billion row database from MySQL to Postgres with zero downtime.
- Owned the video and reporting infrastructure.
Senior Software Engineer
Casper
- Implemented features, fixed bugs, and integrated APIs for two Rails monoliths and one Sinatra microservice.
- Owned all the back-end aspects involved in financial reporting.
- Vastly improved financial and tax reporting accuracy by redesigning flows in the system and identifying and fixing bugs.
- Mentored junior developers by teaching them how to use Ruby and Rails, design APIs, and structure their code.
Senior Software Engineer
Freelancer
- Developed the Java back end to enable direct bookings at a travel meta-search company.
- Built a game in React that evaluates how memorable different types of ID icons (identicons) are.
Squad Leader
Skyscanner
- Managed a team of five engineers and one designer to build a concierge feature inside the Skyscanner mobile apps that served millions of users worldwide.
- Represented the team to the rest of the company and coordinated with stakeholders, internal and external, to build our product.
- Released a chat interface inside the iOS app, allowing communication between users and the concierge team.
- Created the back-end service that provided the functionality required by the concierge team to assist users, such as exchanging messages, processing user requests, and making bookings on the users' behalf (flights, hotels, VIP lounge passes, etc.).
- Designed the back-end service in charge of processing payments, refunds, vouchers, and fraud prevention.
Senior Software Engineer
Skyscanner
- Spent over two years coding in Rails and Sinatra in an ecosystem of microservices that powered our corporate traveling platform.
- Designed and implemented a payment system that was very critical for the success of the product. This system was in charge of issuing virtual credit cards, monitoring transactions, billing clients, and auditing.
- Received an award from the company one year after developing the payment system. At that point, it had processed millions of dollars worth of transactions.
- Designed and implemented fraud prevention features that detected, reported, and prevented fraudulent activity that would have resulted in a loss of thousands of dollars.
- Built a calendar integration service in charge of creating trip events in user calendars and analyzing the same calendars to detect events requiring trip creation.
- Created numerous other features and became the go-to person for any issue related to the back-end.
- Led teams of engineers and designers to define and implement features from back-end to front-end.
R&D Software Engineer
Skyscanner
- Evaluated tools for developing a mobile cross-platform development library to be shared between our native apps, developed prototypes, and published the results in a series of blog posts.
- Developed an iOS app that gamified traveling, provided travel inspiration, and allowed travel suggestions among friends.
- Created a domain-specific language with a parser for flight searches.
- Designed the concept of "pain score" in-flight searches composed of several flight attributes and tailored to each user. This helped improve flight results relevance by promoting painless flights.
- Implemented a novel flight sorting algorithm and A/B tested it on the Skyscanner web page that serves millions of users daily.
- Oversaw the development of a new mobile app with inspirational travel images from all over the world.
Software Engineer
The University of Glasgow
- Explored the potential uses of external sensors and 3D audio in iOS devices in a research project funded by the university.
- Investigated the effectiveness of different types of 3D sounds when guiding a user inside a city, aided by the sensors of an intelligent headset.
- Performed user testing to validate the initial findings.
- Produced a scientific paper.
Software Engineer
The University of Glasgow
- Added song browsing functionality to a BCI (brain-computer interaction) media player intended for disabled people.
- Indexed a Wikipedia article dump, allowing the media player to query and present information about artists and songs.
Java Tutor
The University of Glasgow
- Helped 2nd-year students at the weekly Java labs to understand the language and OOP paradigms.
Software Engineer
Foundation for Research and Technology - Hellas (FORTH)
- Wrote a C++ API for a Java application responsible for creating 3D representations of archaeological artifacts, using the Java Native Interface (JNI).
Civil Engineer
Freelancer
- Designed and supervised the building of a 500 square meter production facility.
Experience
Historical-bank-ruby Gem
https://github.com/Skyscanner/historical-bank-rubyPublished Research Regarding Developing a Mobile Cross-platform Library
https://www.skyscanner.net/blogs/developing-mobile-cross-platform-library-part-1-exploringTango Game (AR)
The game aims to capture targets spread around an area you have previously scanned (e.g., a room, a floor) in the shortest time possible. There is a timer and a score. Capturing targets increases the score and the time you have available. The game ends when you run out of time. It was a straightforward game but very fun to play and especially fun to code with these unique sensors.
Education
Bachelor of Science Degree in Computer Science
The University of Glasgow - Glasgow, Scotland
Master's Degree in Civil Engineering
Aristotle University of Thessaloniki - Thessaloniki, Greece
Skills
Libraries/APIs
Sidekiq, Facebook Open Graph API, FFmpeg, OpenGL, OpenGL ES, React, Vue
Tools
Emacs, Git, IntelliJ IDEA, AutoCAD, MATLAB, JD Edwards, Terraform
Languages
Ruby, HTML, Python, Java, JavaScript, Bash, SQL, Objective-C, Haskell, C++, C, Scala, TypeScript
Frameworks
Ruby on Rails (RoR), Sinatra, Spring, Angular, JNI, Selenium
Paradigms
Object-oriented Programming (OOP), Functional Programming
Platforms
Docker, Amazon Web Services (AWS), Heroku, Linux, Solidus, Google Cloud Platform (GCP), Kubernetes, MacOS, iOS, Android, Tango
Storage
Redis, NoSQL, PostgreSQL, Memcached, Elasticsearch
Other
APIs, Back-end, System Architecture, Mobile App Development, HTTP Live Streaming (HLS), Full-stack, Cross-platform App Development, Brain-computer Interface, Information Retrieval, JD Edwards CNC
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