Dimitris Karavias
Verified Expert in Engineering
Quality Assurance Developer
London, United Kingdom
Toptal member since March 10, 2022
Dimitri is a QA automation architect focusing on de-risking clients' technical investments by upskilling teams and automating processes. He particularly enjoyed his four years at Novoda, the mobile agency, where he worked on challenging projects with no existing testing practices. Dimitri has set up clients' QA teams from scratch and developed his leadership skills.
Portfolio
Experience
- Selenium WebDriver - 9 years
- Java - 9 years
- Page Object Model (POM) - 9 years
- Behavior-driven Development (BDD) - 9 years
- Mentorship - 9 years
- Automated Testing - 9 years
- REST APIs - 7 years
- Technical Hiring - 6 years
Availability
Preferred Environment
Windows, MacOS, Linux, Web Applications, Java, JetBrains
The most amazing...
...thing I've introduced to a company is behavior-driven development. We reduced bugs by 25% in three months and used it for stakeholder-friendly automated tests.
Work Experience
Founder
Restep (Self-funded Project)
- Worked on an educational Chrome extension. Focused on the product roadmap and delegating hands-on work.
- Managed a small team of contractors consisting of front-end and back-end developers and designers to build our MVP.
- Tested across our stack, from the Angular UI to the Java back-end and SQL database.
- Handled the team's task management and knowledge base.
QA Automation Architect
Berry Appleman & Leiden
- Assessed the team performance from a QA and release management perspective.
- Reduced the test run duration from hours to minutes. The test data set up was optimized, and excessive, fragile checks were removed, improving performance and maintainability.
- Provided the roadmap to org-wide BDD rollout. This is expected to speed up releases from weeks to days and reduce duplicated test efforts. Provided additional guidance for each department (QA, development, product, and management).
- Onboarded Toptal's QA engineers and led refactoring of the client's test suite. The goal was to reuse and gradually improve the current framework instead of starting from scratch.
QA Lead
Animo Services LLC
- Aligned in-house and third-party QA teams and led them toward a unified QA strategy.
- Oversaw EU-based team, and represented team to US senior stakeholders.
- Performed testing on the web app and coordinated with mobile teams.
Freelance QA Automation Engineer
Duolingo
- Set up Duolingo's Android instrumentation tests using Espresso with Kotlin.
- Collaborated with the developers and QAs to migrate automated tests from third party to native technology stack.
- Researched, trialed, and set up a cloud-based mobile device farm.
- Raised issues while debugging the app which where resolved with the team, reducing app launch time by 50%.
Freelance QA Automation Engineer
Novoda
- Helped an agency with several household brands on upcoming projects.
- Tested Chromecast with Google TV prototypes as part of a joint effort between Google and BBC.
- Tested blu vaping devices, especially their end-to-end firmware OTA update process and their accompanying Android app.
- Set up automated UI testing on iOS for Vodafone's new R&D lab in Berlin.
- Tested Vodafone Smart connected devices and mobile app.
Client Services Technical Manager
Novoda
- Managed multiple projects with a budget range of £20,000–60,000 per month.
- Acted as the main point of contact within cross-functional teams to ensure the ongoing success of our clients' projects.
- Started freelancing and working as an independent QA engineer.
QA Engineer
Novoda
- Tested connected devices for a car insurance startup that used the device readings to rate customers' driving and offer better premiums to safe drivers. Created custom test rigs to simulate events like rapid acceleration, cornering, etc.
- Helped clients build and train testing teams on-site and overseas, improved their testing practices, and introduced a quality-first mindset across the board.
- Created Android and iOS testing suites using native testing frameworks such as Espresso and XCUITest, page objects, and testing robots. Reduced regression testing time from days to hours in multiple projects.
- Introduced BDD to clients, which reduced the number of bugs per sprint by 25% in three months.
- Integrated automated testing suites into CI pipelines.
- Introduced the clients' teams to behavior-driven development and improved their internal communication.
Test Developer
Capita Employee Benefits
- Implemented UI tests using Selenium, Java, and the Page Object Model.
- Collaborated with the development teams to monitor their unit test coverage using SonarQube, which increased the coverage from 20% to 80% in critical areas.
- Tested new features manually, including inspecting all levels from the UI through the server to the database.
- Deployed on Linux-based environments and monitored performance.
- Interviewed candidates for QA positions, including junior, mid-level, and senior. Trained new joiners on test automation.
- Joined the release manager schedule, coordinated releases to production, and made the final go or no-go decision when problems arose.
Junior QA Tester
IG
- Set up a Cucumber, Selenium, and Java grid framework to automate our regression testing, which reduced test cycles from three days to two hours.
- Trained other QAs on-premise and offshore on automated testing.
- Performed manual testing on new features and during releases.
Experience
Automated Testing with BDD for Mobile Apps
Since Generali, an insurance multinational, acquired the company, the app had to be white-labeled for Generali's subsidiaries. However, they could not release it on time as regression bugs plagued every new feature.
As part of the mobile agency Novoda, I was the first QA to ever work with MyDrive. I introduced a BDD testing framework with tests written in Android and iOS native frameworks and a shared repository of feature files.
We trialed it, and after a month, they already had a 25% reduction in bugs and better communication between developers, designers, and business stakeholders.
MyDrive soon decided to hire a QA team. I conducted the technical assessment part of the hiring process and trained the new joiners, ultimately handing it over once they were up to speed.
Selenium BDD Automated Regression Testing
http://www.ig.comOnce I started with Selenium, I wrote reusable scenario templates using Cucumber examples on the public-facing websites, which was my responsibility.
The regression testing went from five people over three days to one hour of parallel automated testing on our Selenium grid.
I spent my last month at the company pairing with other QAs based in the UK and India interested in automation, introducing them to automated testing and helping them start adding tests to their areas of responsibility.
Improving Testing Coverage with SonarQube
http://www.capita.comSenior developers were apprehensive because some of them saw meaningless Unit tests being written to boost coverage numbers just for the sake of hitting department objectives. Others saw Unit tests as a low-value box-ticking exercise.
The key insight was that coverage on its own couldn't indicate if we needed to add Unit tests. For example, a module with 70% coverage that constantly gives us critical bugs should be a higher priority than one with 10% coverage that hasn't been changed in years and is treated as a reliable black box.
With this approach, the developers were convinced that adding Unit tests to the suggested parts of code would benefit them since it would reduce bugs and complaints they would have to deal with.
Education
Bachelor of Engineering in Artificial Intelligence with Software Engineering
The University of Edinburgh - Edinburgh, UK
Certifications
ISTQB Foundation
BCS, The Chartered Institute for IT
Skills
Libraries/APIs
Selenium WebDriver, REST APIs, React, Selenium Grid, JaCoCo
Tools
Cucumber, Jira, GitHub, TestRail, Git, REST Assured, Visual Studio, JetBrains, Notion, Jenkins, Charles Proxy, Postman, WireMock, SonarQube, Apache JMeter, Apache Tomcat, Bamboo, BrowserStack, Docker Compose, cURL Command Line Tool, Confluence, Xcode, Android Studio, GitLab, GitLab CI/CD
Frameworks
Selenium, Espresso, XCUITest, JUnit, Jest, Angular, Cucumberish, Mockito, Appium, ARKit, TestNG
Paradigms
Behavior-driven Development (BDD), Page Object Model (POM), Automated Testing, Manual Testing, Test Automation, Software Testing, Continuous Integration (CI), Testing, Functional Testing, E2E Testing, Scrum, Test-driven Development (TDD), Continuous Delivery (CD), Agile, Object-oriented Programming (OOP), Automation, Non-functional Testing, Microservices, Agile Project Management, Management, REST, Load Testing, Azure DevOps, DevOps
Storage
JSON, Oracle SQL, MongoDB, PostgreSQL
Languages
Java, Gherkin, SQL, Kotlin, Swift, JavaScript, Python, TypeScript
Platforms
Android, iOS, Mobile, Windows, MacOS, Linux, Android TV, Docker, Azure
Other
Quality Assurance (QA), Selenium Page Object, QA Automation, Manual QA, Website QA, QA Testing, Team Mentoring, API Testing, Automated UI Testing, Mobile App Testing, Manual Software Testing, Exploratory Testing, Regression Testing, Website Testing, Test Automation Frameworks, Software QA, UI Testing, SDET, Software Development, Agile Software Testing, QA Test Plan Management, Test Management, Test Documentation, Automation Tools, Software Testing Lifecycle (STLC), Web App Testing, Testing Strategy, UX Testing, Test Reporting, Test Data, Technical Hiring, Team Leadership, Remote Team Leadership, Mobile Device QA Automation, Fintech, CI/CD Pipelines, APIs, Mobile Apps, Test Planning, Hardware Testing, eCommerce, Integration Testing, System Requirements, Mobile Applications, Mobile UI, Audits, Android Testing, Advisory, Video Streaming, Team Management, Accessibility, Software Engineering, Machine Learning, Computer Vision, Robotics, Web Applications, Chrome Extensions, Microsoft Azure, AOSP, Account Management, Financial Management, Technical Documentation, Mentorship, Connected Devices, Trading, Stock Trading, Forex Trading, Derivatives, Performance Testing, Build Pipelines, Localization Testing, Release Management, Augmented Reality (AR), Delivery Management, Software Release Management, Leadership, GitHub Actions, Finance, QA Leadership, Internet of Things (IoT), Offshore Team Management, Firmware, Firmware over the Air (FOTA), Cross-functional Team Leadership, Over-the-top Content (OTT), TV, TV Broadcasting, Broadcasting, LangChain, Artificial Intelligence (AI), Artificial Neural Networks (ANN), Neural Networks, Graphs, Large Language Models (LLMs), Genetic Algorithms
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