Kostis Dadamis, System Architecture Developer in São Paulo - State of São Paulo, Brazil
Kostis Dadamis

System Architecture Developer in São Paulo - State of São Paulo, Brazil

Member since January 14, 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.
Kostis is now available for hire

Portfolio

  • Freelancer
    Java, Spring, JavaScript, React
  • Skyscanner
    Python, AWS, Docker, Ruby, Rails, Angular
  • Skyscanner
    Ruby, Rails, Python, AWS, Heroku, Docker, Sidekiq, Angular

Experience

  • Ruby, 5 years
  • JavaScript, 4 years
  • Android, 4 years
  • iOS, 3 years
  • Java, 3 years
  • Python, 3 years
  • Ruby on Rails (RoR), 3 years
  • System Architecture, 1 year

Location

São Paulo - State of São Paulo, Brazil

Availability

Part-time

Preferred Environment

Emacs, Git, Linux, MacOS, IntelliJ IDEA

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.

Employment

  • Senior Software Engineer

    2019 - PRESENT
    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.
    Technologies: Java, Spring, JavaScript, React
  • Squad Leader

    2017 - 2017
    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 the company) to build our product.
    • Released a chat interface inside the iOS app, allowing communication between users and the concierge team.
    • Designed 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, trains, VIP lounge passes, etc.).
    • Designed the back-end service responsible for processing payments, refunds, vouchers, and fraud prevention.
    Technologies: Python, AWS, Docker, Ruby, Rails, Angular
  • Senior Software Engineer

    2015 - 2017
    Skyscanner
    • Spent over two years coding in Rails and Sinatra in an ecosystem of microservices that powered our corporate traveling platform.
    • Single-handedly designed and implemented a payment system that was very critical for the success of the product. This system was responsible for issuing virtual credit cards, monitoring transactions, billing clients, and auditing. Received an award from the company 1 year later, after it had already 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 that was responsible for creating trip events in user calendars and analyzing the same calendars to detect events requiring trip creation.
    • Built 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.
    Technologies: Ruby, Rails, Python, AWS, Heroku, Docker, Sidekiq, Angular
  • R&D Software Engineer

    2013 - 2015
    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.
    • Developed a domain-specific language with a parser for flight searches.
    • Developed the concept of "pain score" in flight searches which is 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 in 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.
    Technologies: Objective-C (iOS), JavaScript, Mobile cross-platform development, C++, Java, Android
  • Software Engineer

    2013 - 2013
    The University of Glasgow
    • Explored the potential uses of external sensors along with 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.
    Technologies: Objective-C, Python, JavaScript
  • Software Engineer

    2012 - 2012
    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.
    Technologies: Brain-Computer Interaction, Python, Java, OpenGL, Information Retrieval
  • Java Tutor

    2012 - 2012
    The University of Glasgow
    • Helped 2nd-year students at the weekly Java labs to understand the language and OOP paradigms.
    Technologies: Java
  • Software Engineer

    2011 - 2011
    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).
    Technologies: C++, JNI, Java
  • Civil Engineer

    2009 - 2010
    Freelancer
    • Designed and supervised the building of a 500 square meter production facility.
    Technologies: AutoCAD

Experience

  • Historical-bank-ruby Gem (Development)
    https://github.com/Skyscanner/historical-bank-ruby

    A Ruby gem that fetches and caches historical currency exchange rates. It uses two layers of cache, Redis and memory. I initially developed it as part of a Skyscanner project. Later, it was extracted into a separate public repo so that other developers can benefit.

  • Published Research Regarding Developing a Mobile Cross-platform Library (Other amazing things)
    https://www.skyscanner.net/blogs/developing-mobile-cross-platform-library-part-1-exploring

    Investigated tools for developing mobile cross-platform libraries that could be shared among all Skyscanner apps and built prototypes using these technologies. Up to the publication of this research, while many mobile cross-platform development tools were widely used for sharing the whole codebase between apps of different platforms, the use case of building a library to share only a piece of functionality had never been considered before. The results of this research with code samples were published in three blog posts.

  • Tango Game (AR) (Development)
    https://drive.google.com/open?id=0B9-5P-222W8ANFh0QUdPaU5PQ2s

    Developed an augmented reality game for a Tango tablet (an Android tablet loaded with AR sensors) as a side-project. It was coded in Java using the Android and Tango libraries.

    The game's purpose is to capture targets spread around an area that 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 very simple game, but very fun to play, and especially very fun to code with these amazing sensors.

Skills

  • Languages

    Ruby, Python, Java, JavaScript, Bash, SQL, Objective-C, Haskell, C++, C, Scala
  • Frameworks

    Sinatra, Ruby on Rails (RoR), JNI
  • Libraries/APIs

    Sidekiq, Facebook Open Graph API, OpenGL, OpenGL ES, React
  • Paradigms

    Object-oriented Programming (OOP), Functional Programming
  • Tools

    Git, MATLAB
  • Platforms

    Docker, Heroku, Linux, iOS, Android, Tango, Amazon Web Services (AWS)
  • Storage

    Redis, NoSQL, PostgreSQL
  • Other

    System Architecture, Mobile App Development

Education

  • Bachelor of Science degree in Computer Science
    2010 - 2013
    The University of Glasgow - Glasgow, Scotland
  • Master's degree in Civil Engineering
    2003 - 2009
    Aristotle University of Thessaloniki - Thessaloniki, Greece

To view more profiles

Join Toptal
I really like this profile
Share it with others