Senior Software Engineer - Scala, Spark, Akka, Cats, Web APIs, microservices
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- 10963 Berlin
- auf Anfrage
- en | fr | nl
- 13.09.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
10/2018 – 6/2020
Tätigkeitsbeschreibung
Building and maintaining data analytics pipelines for our flagship banking product Q-Refinery.
Q-Refinery has various features such as customer bank transactions enrichment (brand, industry and geolocation) and analysis of customer spend behaviour, brand preference, income and expense classification, etc. The product consists of a few data pipelines built with Scala and Spark, processing between 30 and 100Tb of data, depending on the bank. We used Oozie as a scheduler to orchestrate the pipelines and to run in a MapR / yarn managed on-prem cluster. We put a lot of thinking into the data model definition and also the way we read and write the data, how it is partitioned and how large the part files, so we wrote our own [typed] Parquet/CSV/TSV reader/writer framework.
Product page: -Hyperlink entfernt-
Technologies used:
Big Data, Spark, Scala, ScalaZ, Cats, Cats Effects, FP, ScalaTest, Oozie
Big Data, Apache Spark, Scala
1/2018 – 9/2018
Tätigkeitsbeschreibung
Part of the FX-Options team, building an application to be used mainly by traders, allowing them to better model the FX options risk and pricing.
Morgan Stanley has the largest Scala code repository in the UK with around 3 milion lines of code. They have an in house developed framework which abstracts futures, database calls and UI. Even though there was a pretty steep learning curve to learn the framework, there were a few opportunities to use more mainstream libraries such as Cats and Shapeless. I have written a small but very flexible form fields validation framework with Shapeless. The project highlight was the extensive amount of unit tests we wrote to cover complex FX options bookings for different scenarios.
Technologies used:
Scala, Shapeless, ScalaTest, TDD, Continuous Integration
Scala
5/2016 – 12/2017
Tätigkeitsbeschreibung
Building automation tools for the SEM team managing the AdWords/Bing marketing campaigns for all the properties on the Hotels.com website, localized in 72 languages. The main set of tools are organised in a microservices architecture with REST API interfaces and interchanging events via Kafka or a proprietary message bus, presenting reports to the business user in a web interface. We’ve migrated some of the data processing jobs to Spark on AWS EMR allowing to scale better and I had the main role in drawing the architecture and getting the team up to speed with Spark.
Technologies used:
Scala, Akka, Akka-HTTP/Spray, React JS, Spark, ScalaTest, REST, JSON, TDD, Docker, AWS, Continuous Integration
Apache Spark, Docker, Scala, Amazon Web Services (AWS), Representational State Transfer (REST)
2/2015 – 5/2016
Tätigkeitsbeschreibung
Working on the TV Synced Ads platform, enabling advertisers to activate online RTB campaigns when their ads are aired on TV.
The product was monitoring around 2000 TV channels and using video/audio fingerprinting to do ad clip recognition. My team was developing a few services (built with Spray/Akka-Http and heavily on Akka actors framework) that were monitoring events coming from the TV program monitoring (such as ad started, ad finished on program X). These events, combined with the client/agency configured campaigns, would trigger further rules on activating/deactivating campaigns on RTB platforms (Doubleclick, Adwords, etc). Used various external APIs for Doubleclick, Adwords, AppNexus etc.
Technologies used:
Scala, Akka, Spray, Specs2, REST, JSON, TDD, Continuous Integration, Real-Time Bidding / RTB (AppNexus, DoubleClick, AdWords, Adform)
Scala, Representational State Transfer (REST)
10/2013 – 10/2014
Tätigkeitsbeschreibung
Development and support for the REST webservice providing backend functionalities (static data, products catalogues, account management) for Sony Playstation (PS4, PS3) as well as other Sony devices such as ULTRAHD TVs.
Technologies used:
Java, J2EE, Spring, REST, JSON, TDD, BDD, Cucumber, Selenium, Ruby, Tomcat, Cassandra, Git, GitHub, Continuous Integration, Jenkins
Independent coursework:
Functional Programming Principles in Scala – Coursera
Principles of Reactive Programming (Scala, Akka) – Coursera
Fast track of Play with Scala – Typesafe training at Scala Days 2014
Stairways to Scala (Advanced) – with Bill Venners and Dick Wall – December 2014
Behavior Driven Development, Java (allg.), Spring Framework, Representational State Transfer (REST)
8/2012 – 9/2013
Tätigkeitsbeschreibung
Design and develop the Business Continuity Dashboard web application, used for reporting the Business Continuity data of the bank units worldwide. Being the only developer on the project I designed the architecture within the bank’s technical standards.
Part of the Cortex Deposit team, developing a financial application used for management of clients deposits. Dedicate lately a lot of time to load testing and optimization of the application modules/services as a whole in typical workflow scenarios.
Technologies used:
Java, J2EE, Spring, Hibernate, JPA, JMS, Wicket, Shiro security, IBM WAS, Tomcat, jMeter, Oracle, Postgres
Oracle Database, Postgresql, Hibernate (Java), J2EE, Java (allg.), Spring Framework
Ausbildung
Bucharest
Weitere Kenntnisse
Persönliche Daten
- Englisch (Muttersprache)
- Französisch (Gut)
- Niederländisch (Grundkenntnisse)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden