Dimitris Karavias, Developer in London, United Kingdom
Dimitris is available for hire
Hire Dimitris

Dimitris Karavias

Verified Expert  in Engineering

Quality Assurance Developer

Location
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

Restep (Self-funded Project)
Angular, Chrome Extensions, Java, SQL, Microsoft Azure, Notion, Postman, Docker...
Berry Appleman & Leiden
QA Automation, Quality Assurance (QA), Test Automation...
Animo Services LLC
Quality Assurance (QA), Mobile App Testing, Python, Manual Testing, Azure...

Experience

Availability

Full-time

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

2020 - PRESENT
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.
Technologies: Angular, Chrome Extensions, Java, SQL, Microsoft Azure, Notion, Postman, Docker, Technical Hiring, Agile Project Management, Management, Financial Management, Mentorship, Team Mentoring, Team Leadership, Remote Team Leadership, API Testing, REST APIs, REST, Manual QA, Manual Testing, Manual Software Testing, Exploratory Testing, JavaScript, Selenium, Website QA, QA Testing, Software QA, Software Testing, Performance Testing, Apache JMeter, Continuous Delivery (CD), Continuous Integration (CI), CI/CD Pipelines, Build Pipelines, Docker Compose, APIs, Testing, UI Testing, Quality Assurance (QA), SDET, Software Development, Release Management, Test Planning, Load Testing, Functional Testing, Agile Software Testing, GitHub, E2E Testing, Delivery Management, Azure, QA Test Plan Management, Test Management, Agile, Git, Test Documentation, eCommerce, Azure DevOps, Software Release Management, Leadership, GitHub Actions, System Requirements, QA Leadership, Automation Tools, Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), Automation, REST Assured, TypeScript, Testing Strategy, Team Management, UX Testing

QA Automation Architect

2023 - 2023
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.
Technologies: QA Automation, Quality Assurance (QA), Test Automation, Behavior-driven Development (BDD), Java, Azure, Azure DevOps, Team Leadership, Remote Team Leadership, Cross-functional Team Leadership, Web App Testing, Automation, Advisory, REST Assured, Non-functional Testing, Microservices, Testing Strategy, Team Management

QA Lead

2022 - 2022
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.
Technologies: Quality Assurance (QA), Mobile App Testing, Python, Manual Testing, Azure, Manual QA, Manual Software Testing, Website Testing, Test Management, QA Test Plan Management, TestRail, QA Testing, Offshore Team Management, Automation Tools, Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), Audits, Web App Testing, Automation, Advisory, Non-functional Testing, Microservices, Testing Strategy, Team Management

Freelance QA Automation Engineer

2020 - 2020
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%.
Technologies: Android, Espresso, Kotlin, Automated Testing, Automated UI Testing, QA Automation, Mobile Device QA Automation, APIs, Testing, Quality Assurance (QA), Manual QA, Manual Testing, Postman, Python, SDET, Mobile Apps, Software Development, QA Testing, Functional Testing, GitHub, E2E Testing, Test Automation Frameworks, CI/CD Pipelines, Mobile App Testing, QA Test Plan Management, Test Management, Android Studio, Git, Test Documentation, Mobile Applications, Mobile, Mobile UI, Automation Tools, Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), Automation, Android Testing, Microservices, Testing Strategy, UX Testing

Freelance QA Automation Engineer

2019 - 2020
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.
Technologies: Android, iOS, Kotlin, Swift, Java, Android TV, Internet of Things (IoT), AOSP, Espresso, XCUITest, Connected Devices, Automated Testing, Automated UI Testing, Mobile Device QA Automation, QA Testing, Manual QA, Test Automation, Test Automation Frameworks, cURL Command Line Tool, APIs, Testing, Quality Assurance (QA), Manual Testing, SDET, Mobile Apps, Software Development, Jira, Test Planning, Hardware Testing, Functional Testing, Agile Software Testing, Jenkins, Confluence, GitHub, E2E Testing, CI/CD Pipelines, Mobile App Testing, Manual Software Testing, QA Test Plan Management, Test Management, Xcode, Android Studio, Agile, Git, Test Documentation, Mobile Applications, Mobile, Mobile UI, QA Leadership, GitLab, Automation Tools, Firmware, Firmware over the Air (FOTA), Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), Audits, Over-the-top Content (OTT), Automation, Android Testing, Advisory, REST Assured, TestNG, Video Streaming, TV, TV Broadcasting, Broadcasting, Testing Strategy, UX Testing

Client Services Technical Manager

2019 - 2019
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.
Technologies: Android, iOS, Account Management, Mobile Apps, Software Development, Jira, Agile, Leadership, System Requirements, Mobile Applications, Mobile, Mobile UI, QA Leadership, Software Testing Lifecycle (STLC), Audits, Advisory, Video Streaming, Testing Strategy, Team Management

QA Engineer

2017 - 2019
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.
Technologies: Android, iOS, Espresso, Swift, Behavior-driven Development (BDD), Cucumber, Cucumberish, Jenkins, XCUITest, Page Object Model (POM), Mockito, Gherkin, Kotlin, Java, Charles Proxy, Postman, Docker, Technical Hiring, Technical Documentation, API Testing, Automated Testing, Automated UI Testing, Mobile App Testing, Manual QA, Manual Testing, Manual Software Testing, Selenium, QA Testing, QA Automation, Quality Assurance (QA), Continuous Delivery (CD), Continuous Integration (CI), CI/CD Pipelines, Docker Compose, cURL Command Line Tool, APIs, Testing, SQL, SDET, Software Development, Jira, Test Planning, Augmented Reality (AR), Hardware Testing, Functional Testing, ARKit, Agile Software Testing, Confluence, GitHub, E2E Testing, Test Automation Frameworks, Delivery Management, QA Test Plan Management, Test Management, Xcode, Android Studio, Agile, TestRail, Git, Test Documentation, Integration Testing, Leadership, System Requirements, QA Leadership, GitLab, Automation Tools, Firmware, Firmware over the Air (FOTA), Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), GitLab CI/CD, Over-the-top Content (OTT), Automation, Android Testing, Advisory, Video Streaming, Testing Strategy, UX Testing

Test Developer

2014 - 2017
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.
Technologies: Selenium WebDriver, Java, REST APIs, Mockito, WireMock, SonarQube, JUnit, Cucumber, Behavior-driven Development (BDD), Linux, Appium, Docker, Oracle SQL, MongoDB, Page Object Model (POM), Apache JMeter, Apache Tomcat, Technical Hiring, Mentorship, API Testing, Automated Testing, Automated UI Testing, BrowserStack, Manual QA, Manual Testing, Manual Software Testing, Regression Testing, JavaScript, Selenium, QA Automation, Website Testing, Test Automation, QA Testing, Website QA, Test Automation Frameworks, Continuous Delivery (CD), Continuous Integration (CI), CI/CD Pipelines, Build Pipelines, cURL Command Line Tool, APIs, Testing, Quality Assurance (QA), SQL, Postman, Fintech, SDET, Software Development, Release Management, Jira, Test Planning, Functional Testing, Agile Software Testing, Confluence, GitHub, E2E Testing, Mobile App Testing, QA Test Plan Management, Test Management, Agile, Git, Integration Testing, Software Release Management, System Requirements, Finance, QA Leadership, Automation Tools, Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), Web App Testing, Automation, REST Assured, TypeScript, Non-functional Testing, Microservices, Testing Strategy, UX Testing

Junior QA Tester

2012 - 2013
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.
Technologies: Selenium, Selenium Grid, Cucumber, Behavior-driven Development (BDD), Java, Bamboo, Automated Testing, Automated UI Testing, Trading, Stock Trading, Forex Trading, Derivatives, Manual QA, Manual Testing, Manual Software Testing, Fintech, Regression Testing, JavaScript, Website Testing, Website QA, QA Testing, Test Automation, Test Automation Frameworks, Quality Assurance (QA), Continuous Integration (CI), CI/CD Pipelines, APIs, REST APIs, Testing, SDET, Software Development, Localization Testing, Test Planning, Functional Testing, Agile Software Testing, Confluence, GitHub, E2E Testing, QA Test Plan Management, Test Management, Agile, TestRail, Git, Test Documentation, System Requirements, Finance, Automation Tools, Software Testing Lifecycle (STLC), Object-oriented Programming (OOP), Web App Testing, UX Testing

Automated Testing with BDD for Mobile Apps

A mobile app for MyDrive that analyzes and scores users' driving.

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.com
IG.com is localized across 15+ locales. Each locale had to be manually regression tested before our monthly releases. In total, we had 80 QAs spending three days per month testing the same sites and trading platforms in every supported browser. They also checked the necessary copy in every language.

Once 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.com
While working at Capita, I was given a side-mission by my manager—I used SonarQube and investigated which parts of the legacy codebase needed more Unit tests.

Senior 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.
2008 - 2012

Bachelor of Engineering in Artificial Intelligence with Software Engineering

The University of Edinburgh - Edinburgh, UK

OCTOBER 2014 - PRESENT

ISTQB Foundation

BCS, The Chartered Institute for IT

Frameworks

Selenium, Espresso, XCUITest, JUnit, Angular, Cucumberish, Mockito, Appium, ARKit, TestNG

Libraries/APIs

Selenium WebDriver, REST APIs, Selenium Grid, JaCoCo

Tools

Cucumber, Jira, GitHub, TestRail, Git, REST Assured, 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

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, Continuous Delivery (CD), Agile, Object-oriented Programming (OOP), Automation, Non-functional Testing, Microservices, Agile Project Management, Management, REST, Load Testing, Azure DevOps

Other

Quality Assurance (QA), Selenium Page Object, QA Automation, Manual QA, Website QA, QA Testing, Team Mentoring, Automated UI Testing, Mobile App Testing, Manual Software Testing, Exploratory 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, Technical Hiring, Team Leadership, Remote Team Leadership, API Testing, 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, 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, Regression Testing, 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

Languages

Java, Gherkin, SQL, Kotlin, Swift, JavaScript, Python, TypeScript

Platforms

Android, iOS, Mobile, Windows, MacOS, Linux, Android TV, Docker, Azure

Storage

Oracle SQL, MongoDB

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring