Oleg Efrem
Verified Expert in Engineering
Software Developer
London, United Kingdom
Toptal member since May 24, 2017
Oleg has nearly a decade and a half of software development experience with Java, Scala, and DevOps, delivering many successful products and projects. He always seeks to understand the project scope and deliver optimal results for stakeholders. He is a team player and likes to engage with colleagues but can also work independently and takes end-to-end responsibility. He has built and led software teams focused on quick delivery and high quality.
Portfolio
Experience
Availability
Preferred Environment
DevOps, Big Data, Machine Learning, Scala
The most amazing...
...thing I've done is contribute key efforts in securing, developing, and delivering a software product used by tens of millions of people worldwide.
Work Experience
Technical Lead
HM Revenue and Customs
- Led several cross-functional teams with a total of 18 people.
- Led and facilitated technical decisions within the team and across teams.
- Improved the delivery process to remote waste.
- Coded in Scala and was involved in pair programming and code reviews.
- Delivered several projects within tight deadlines.
Scala Consultant
Bank of America
- Led cross-team technical projects.
- Bridged business and technical worlds.
- Implemented new functionality for the obligation settlement lifecycle.
- Assessed the current codebase and suggested/implemented improvements.
- Reviewed the deployment pipeline and proposed/implemented improvements to versioning (semantic versioning), testing, branching strategy, deployment, and release process.
Scala Consultant
Goodlord
- Added a new revenue-generating stream for property energy switches.
- Made referencing app recommendation comments self-servicing, which previously would require developers to change them.
- Assessed the codebase and suggested and made improvements.
- Upgraded security integration with a third-party credit check system.
- Improved performance of the integration with a third-party flow management system.
DevOps and Software Consultant
Elsevier
- Led engineering and data science cross-team technical projects.
- Defined and implemented the branching strategy and pipeline structure with two sub-pipelines (fast and full feedback), fully automated versioning, testing, environment proportion, deployment, and rollback.
- Asessed and prepared Python code for production readiness with auto code quality checks, auto formatting, code coverage, and unit, benchmark, acceptance, performance, and smoke tests.
- Made a pipeline to deploy machine learning code reproducibly.
Scala Consultant
Bank of America
- Led multiple teams in technical initiatives.
- Translated between business and technical requirements.
- Managed the obligation settlement lifecycle in the business domain.
- Authored the domain-driven design injected into event sourcing concepts, which led to a major refactoring of the codebase to make code simpler, more robust, extendable, and maintainable.
- Advised and sharing expertise with regards to improving the continuous delivery pipeline.
- Taught developers by example in Scala, programming concepts, and code review.
- Assessed the codebase and suggested improvements.
Lead Scala Developer
Gumtree.com (eBay)
- Led the split of a monolithic Java application breaking it into microservices and rewritten to Scala.
- Used domain-driven design techniques to identify the sub-domains and bounded contexts, mapping them to micro-services.
- Isolated bounded context in Java code by refactoring and moved one of those to a separate project rewritten in Scala.
- Provided continuous delivery with test automation on unit and integration levels.
- Taught people Scala via pair programming and code reviews.
Senior Scala Developer
AEVI (Diebold-Wincor Niexdorf)
- Drove the split of a monolith application to micro-services architecture;
- Refactored the codebase following OOP/FP best practices.
- Drove the creation and implementation of a code style guide.
- Migrated from Cassandra to relational DB by keeping the system DBMS independent.
Lead Scala Developer
HMRC (Accenture)
- Led a team of eight people (back-end, front-end, testers).
- Coded in Scala and reviewed code.
- Guided the team in the refactoring of an existing Scala Play web application (Charities Project), to embrace OOP and FP principles and best practices: http://www.artima.com/weblogs/viewpost.jsp?thread=331531;
- Set up the foundation a for new web application (Anti Money Laundering) with a package structure featuring a single entry point via Traits to promote encapsulation for testability and extendability.
Senior Scala Developer
Cellvision
- Coded in Scala, reviewed code, and oversaw pair programming.
- Designed and architected in-house software products with stress on system robustness, accountability, extendability, reusability, and capacity.
- Consulted with in- and out-of-house integrators on integration approaches/architecture.
- Created APIs for our SOA framework with a focus on extendability and reusability.
- Led parts of back-end software development.
- Handled the continuous delivery framework design and implementation which---beside build, release, infrastructure, and configuration management automation---implies design, architecture, and implementation of a test automation framework on all test levels, from unit and integration to user acceptance and capacity.
Scala Developer
Cellvision
- Designed, architected, developed, extended, and integrated of server back-end software products sold to the world's major mobile network operators.
- Developed several products from the early stages of requirement definition to solution design, architecture, implementation, testing, and deployment.
- Worked with many back end systems and architectures, giving me a sound understanding of the principle that a high-level software solution design is crucial before starting implementation.
- Built integrations for other external systems, gaining the ability to quickly understand those systems at the level that allows you to do the job faster and better, thus avoiding the need to redo things.
Quality Assurance Automation Engineer
Allied Testing
- Pulled double full-time work in a project for a major US investment brokerage company (TD Ameritrade).
- Developed a few Java applications, including a trading account generator and trading system alert simulator.
- Helped develop a Java-based stock exchange simulator.
- Created several JavaScript scripts for the quality assurance automation framework (HP Quality Center, and HP (Mercury) Quick Test Professional).
- Coded a set of 160 InterSystems cache object script routines to automate the subset process of the cache database when it reaches a certain size (a lot of code). A very challenging task because of the specific database architecture and lack of documentation.
Java Freelance Developer
Freelance
- Helped develop a class scheduling web application for the State University of Moldova,.
- Built a customer contact management web application for a local IT shop, which could be reused for other businesses since it had quite a generic functionality.
- Created a warehousing web application for a local furniture factory.
- Developed a client management application for a beauty salon web application.
- Built a product sales/warranty management application for a car parts shop web application.
- Created a wine house production management web application.
- Developed a farm business management application application.
- Built a local council public meeting scheduler web application.
- Created a local school registry web application.
Experience
Customer Experience Tickets
Subset of Graph DB
https://www.alliedtesting.com/Large-scale Java to Scala Migration
Beautiful Code
https://www.aevi.com/Education
Specialization in Big Data
University of California San Diego | via Coursera - Online
Master's Degree in Computer Science
State University of Moldova - Moldova
Bachelor's Degree in Computer Science
State University of Moldova - Moldova
Bachelor's Degree in Theology
Adventist Theological Institute - Romania
Certifications
Big Data Integration and Processing
University of California
Big Data Modeling and Management Systems
University of California
Introduction to Big Data
University of California
Skills
Libraries/APIs
ScalaCheck, Slick, REST APIs, Liquibase
Tools
ScalaTest, SBT, Git, Apache, Subversion (SVN), Hudson, GitHub, IntelliJ IDEA, Scoverage, BrowserStack, Splunk, Google Analytics, HP QuickTest Professional (QTP), InterSystems Caché, GitLab, Apache Avro, Ansible, Confluence, Jetty, Jira, Flyway, Jenkins, Puppet, Terraform, Cucumber, TeamCity, Gatling, Apache Maven
Languages
Scala, Java, PHP, XML, XSL, XSD, CSS, Java SE, Gherkin, VBScript, Python, JavaScript, Caché ObjectScript, HTML
Frameworks
Play Framework, Spring, Selenium, Akka, Apache Camel, Play Evolutions, ScalaMock, Apache CXF
Paradigms
Agile, DevOps, Service-oriented Architecture (SOA), Event Sourcing, Extreme Programming, Behavior-driven Development (BDD), Microservices Architecture, Test-driven Development (TDD), Scrum
Platforms
Oracle, NetBeans, Java EE, Docker, OpenStack, Ubuntu Linux, Eclipse, Apache Kafka, Kubernetes, Amazon Web Services (AWS), Amazon EC2, MacOS, Amazon, Heroku, Windows, Linux, JBoss, Nexus
Storage
PostgreSQL, MySQL, SQL Server 2005, Microsoft SQL Server, DB, MongoDB, Graph Databases, Caché, JSON, Amazon S3 (AWS S3), H2, Cassandra
Other
Akka HTTP, Machine Learning, Web Services, Code Coverage, Bintray, Domain-driven Design (DDD), SOAP, Big Data, Consul
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