Senior Software Engineer, Klarna
Build and support near real-time fraud detection and credit assessment systems serving thousands of requests per second.
- Refactored a monolithic data-intensive Spring app backed by Postgres into a number of microservices
improving maintainability and scalability.
- Learned to appreciate infrastructure as code, continuous delivery pipelines and containers,
you build it, you run it attitude.
- Became familiar with AWS, worked with EC2, S3, RDS, CloudFormation and other cloud products.
- Built feature extraction pipelines for machine learning models using Hive enabling code reuse between model training and inference.
- Together with two colleagues prepared and gave a talk on gender diversity in the engineering department of the company.
- About to finish a fraud detection system labelling connected components in a stream of data using
Akka, Kafka and Redis.
Software Engineer, Exigen Services
Exigen Services is an IT consultancy company with well-defined software development processes. Notable assignments:
Deutsche Bank London Asset Services
Event Repository—a reference data service, the golden source of Corporate Action events for the bank.
- Assumed the system architect role, was the go-to person for system design and cross-system integration.
- Modern (at the time) Java EE stack, Oracle RDBMS, Weblogic, message-driven architecture with SWIFT and XML messages
passed over MQs.
- The system was a part of the SOA landscape, exposing SOAP over JMS endpoint using Apache CXF.
eCare/TIBET—a mobile phone customer self-service portal and order management system.
- Gained hands-on Java knowledge, learned a lot about J2EE, Spring Framework, Weblogic and web applications in general.
- First exposure to a mature service-oriented architecture, both providing and consuming SOAP over HTTP web services.
- Joined as a trainee and by the end of the assignment was able to mentor newcomers and gave talks on the system landscape.
St. Petersburg State Polytechnic University, Russia, Applied Mathematics,
- Languages: fluent in Java and SQL, decent in Scala and Python, can program in a few more.
- Distributed systems: know when to apply the CAP theorem.
- Stream processing: Kafka, Kafka Streams, Apache Flink, Akka Streams.
- Databases: Postgres, RocksDB, Redis.
- Familiar with the Hadoop ecosystem: MapReduce, Hive, Oozie and Spark.
- Infrastructure: AWS, Docker, infrastructure as code.
- Methodologies: Scrum, Kanban, KISS, continuous integration and delivery.
- Dabble in machine learning.