M.Sc Computer Science
2014 June – Present (7 years 6 months)
Software Engineering Team Leader
2011 December – 2014 June (2 years 6 months)
Lead Software Engineer
2007 April – 2011 December (4 years 8 months)
Senior Software Engineer
2006 January – 2007 April (1 year 3 months)
2005 February – 2006 January (11 months)
Junior Software Engineer
2004 August – 2005 January (5 months)
2016 April - Present
- Blockchain Competency Center
- Deutsche Bank
- The Coca Cola Company
- eDreams - Odigeo
- Wolters Kluwer
- Wolters Kluwer
- Screwfix Ltd.
- William Hill
- British Telecom
- Eötvös Loránd University
Big Data Developer
I was part of a team, which had to reverse engineer, document and migrate Apache Oozie based Java workflows out of Cloudera clusters into AWS EMR.
As a Developer I investigated and migrated about 20 custom built ETL pipelines. I modified the pipeline Maven builds and the Apache Oozie workflows as necessary. I deployed the migrated pipelines onto AWS EMR. Solved the emerging issues and documented the whole process on Confluence.
AWS S3, AWS EMR, Apache Oozie, Apache Hadoop, Apache Crunch, IntelliJ Idea, Microsoft Visual Studio Code, Jira, Confluence, Java, Maven
I was part of the MLFE - Machine Learning Feature Engineering - team, which is about to maintain, support, enhance and refactor Hotels.com Machine Learning pipelines.
As a Data Engineer I had to:
- Support, maintain and refactor HCOM sort-training-data, rebooking and amenities Apache Airflow pipelines. These are the ETL parts of the complete Machine Learning pipelines.
- Migrate Databricks notebook based pipelines to AWS EMR.
- Create visual Dashboards in Tableau.
- Write stories in Jira and documentation on Confluence.
AWS S3, AWS EMR, AWS EC2, Hive, Databricks, Apache Spark, Apache Airflow, IntelliJ Idea, Microsoft Visual Studio Code, Tableau, Jira, Confluence, Scala, Python
The Blockchain Competency Center was about to understand the concepts and use cases of Blockchain technology.
As a trainer I developed an in house training series (Blockchain introduction, Cryptocurrencies, Ethereum) in order to prepare EPAM colleagues for Blockchain based projects. The training was presented several times and became the most popular in-house training in EPAM Hungary.
Blockchain, Ethereum, Truffle Suit
Full stack developer and Delivery Manager
The SPARTA project was about to deliver a new web based tool for DB Traders in the Wealth Management sector.
In 2017 H1 EPAM helped to develop the Fixed Income related part. As a team member I developed front and backend features, fixed bugs and wrote documentation.
In 2017 H2 I took over the Delivery Manager position in the team, which delivered the Cash Equities part of the SPARTA platform.
After a 3 month rest I took the opportunity to learn some Microsoft techologies - for instance the C# programming language.
The project was about to migrate the former MoneySavingsExpert Cheap Energy Club blog infrastructure to the new MoneySuperMarket.com Fusion platform.
This migration was a complete rewrite in all layers: frontend, backend microservices and MongoDB based database.
As an architect at first I designed the MongoDB database structure and the microservices RESTful APIs. Once the backend became stable, I designed and implemented the production database migration. It was done in the following steps:
- Input schema definition as a set of CSV files
- Data extraction from the legacy production database according to the pre-defined CSV files based schema.
- Data validation in the target AWS S3 bucket
- ETL job creation in Java, which transformed the data in an in-memory database
- Clean up the transformed data based on a set of predefined business rules
- Persist the result with RESTful API calls
The ETL job ran on several AWS EC2 memory optimized instances.
Of course test dataset was generated, monitoring and runtime statistics were gathered. Several dry runs preceeded the production execution. The final run was fast and flawless.
MongoDB, MapDB, Play for Java, Dropwizard, Eclipse, IntelliJ Idea, Git, Java 8, AWS S3, AWS EC2
Development Team Lead
This project was about to implement RESTful microservices for the brand new backend platform of MoneySuperMarket.com, which integrates various User Inerfaces (web and mobile) with third party services and other internal data sources.
I built up the backend services EPAM development team. I trained the team and defined ways of working. Later I passed the team leader role to a Project Manager and moved to a technical support role.
MongoDB, Redis, Play Framework for Java, Dropwizard, Git, Java 8, Jenkins, SBT, Gradle, RabbitMQ, Logstash, Vagrant, Node.js, RoboHydra
Technical Writer and DevOps Engineer
I wrote the Consumer Database User Manual documentation focused on the On-boarding guide.
I took part in the Technical Improvements sub-project:
- Refactored the build process, setup Jenkins based CI, etc.
- Migration from physical hosting to the cloud
- Migration from IBM Websphere to Apache Tomcat
Savvis Synergy database, Oracle 11g, Eclipse, IBM Websphere, Apache Tomcat, Jenkins, Oracle SQL Developer, Jetbrains Webstorm,
Maintain and enhance eDreams new JBoss application server based online platform, which is used to support flight and hotel searches.
Mirror eDreams development environment inside EPAM. Setup and maintain Continous Integration environment based on Hudson. Design, document and supervise hotel provider integrations: Booking.com, HotelBeds, Hotusa. Design, document and supervise flight and train providers implementations: easyJet, AirOne, BluExpress, TAM, GOL, SNCF. Design and maintain GDS integrations: Galileo, Amadeus.
Proof of Concepts:
- I had to design the new OdigeO marketing platform, which generates millions of SEO and SEM landing pages for search engine optimalization
MySQL, Oracle, Thymeleaf, Apache Thrift, Google Guice, Maven, Eclipse, Jira, Hudson, Jboss, J2EE, Google Guice, Mockito, TestNG, JAX-WS, Booking.com API, Amadeus API, Galileo API
Create an automated deployment system for the Wolters Kluwer Global Atlas product.
I designed the client site Java Swing based GUI and the API, which was used to connect to the server side distributed deployment automation system. I reviewed the code, which was created by the offshore development team.
Eclipse, Apache Ant, Java Swing
Lead Software Engineer
I took part in Inception and Estimation phases of various Expedia Affiliate Network projects. Its goal was to modernize the Affiliate Partners portal site and migrate those to a more efficient hosting model in AWS.
I did RFP analysis, technical and cost estimation. Build schedules and figure out the right approach from technical and organizational perspective. Manage the offshore team in Minsk and host knowledge transfer sessions.
This project was about to introduce the new online publishing platform of Wolters Kluwer in their
internal Business Units all around the globe. In order to aid this introduction, a new team was created,
which is called Project and Professional Services (PPS). The technical part of this team was resourced
from EPAM in Hungary.
I lead the Hungarian Professional Services Team
I had to communicate with the US based PPS Program Managers
I had to do business and technical analysis for the WK Business Units
Proof of Concepts:
- I developed an Android based mobile prototype, which later formed the basis of the WK mobile offering.
BEA Weblogic 8.1-10, Liferay Portal, FAST ESP, Google Web Toolkit, Android
Test Automation Engineer
This project was a Code House, where some development teams gathered together from Eastern European outsourcing companies in order to compete with each other for work. Our team won the competition, which resulted in a software development project for EPAM.
I had to design and write XML based automated Web Service based tests and create documentation – including presentation – about the results.
SoapUI, Apache Axis
Senior Java Developer
Proof of Concepts:
Investigate whether it is possible to implement SSO (Single Sign-On) solution among Spring MVC and Weblogic Portal based application with Acegi Security and CAS (Central Authentication Service). Investigate how the remote calls can be secured (Session EJB calls, Spring HTTP Invoker calls, WebService calls). Create a custom CAS client as Weblogic Authenticator for Weblogic Server.
Preparation of the Construction phase for the new Customer Facing portal solution. Develop necessary parts of the system. Lead the development Team in Debrecen, Hungary. Design the processing of XML based data sources from a third party company. Generate necessary test data from XML files with jUnit based tools. Architectual design and modelling. Create necessary documentation.
Intranet Portal Application development:
- The purpose of the project was to develop the football related part of the back office system, which serves the customer facing portal with data. This application replacemd the mainframe based Legacy System in the IT infrastructure.
Weblogic Portal 8.1 SP4, Weblogic Server 8.1, JDBC, Session EJBs, XMLBeans, Spring MVC, Spring Security, JMS, Tangosol Coherence
I did the following Proof Of Concept:
- Prove that some kind of RIA (Rich Internet Application) client can be used in the Customer’s intranet portal. Integrate OpenLaszlo with Weblogic Portal.
Weblogic Portal 8.1, OpenLaszlo
I worked as a developer on 3 Tier J2EE application. The product was built for the US Health Care Insurance industry. It had a Swing based thick client and an EJB-CMP based persistency layer.
My duty was to design and implement various UI screens and the client side backend layer. I also integrated an ActiveX third part component into the UI with XML technologies. I implemented client side authentication based on JAAS. I took part in server side development - mainly session EJB creation.
Weblogic Server 8 SP3, Oracle 9 Database, Rational Rose, Ration Clear Case, Rational Clear Quest, Swing, JAAS, XML-RPC, EJB, XDoclet, JDBC
Diploma Thesis about WebServices based Portal for Mobile Phones
Design and implement a WebServices based Mobile Portal application with the Sun Java Web Services Developer Pack.
Sun JWSDP, JAXB, JAX-RPC, SAAJ, JSP, XHTML, SOAP, UDDI, XMLSchema