Katarina Milic, Developer in Belgrade, Serbia
Katarina is available for hire
Hire Katarina

Katarina Milic

Verified Expert  in Engineering

QA Automation Developer

Location
Belgrade, Serbia
Toptal Member Since
August 16, 2019

Katarina has several years of experience working as both an automation QA and developer—mainly creating automation test infrastructures and continuous integration processes. While working for the MathWorks, she developed test tools in Java, improved build infrastructure, and ran automation, performance, and manual tests. She's also worked as a technical team lead, supervised internship projects, and interviewed candidates for the QA position.

Portfolio

MathWorks
Linux, IntelliJ IDEA, Jira, Subversion (SVN), Git, Simulink, Hamcrest, JUnit...
PSTech
Scrum, Visual Studio, Jenkins, Rally, WinDbg, Google Mock (GMock), Google Test...
PSTech
Scrum, C#, Rally, Jenkins

Experience

Availability

Part-time

Preferred Environment

MacOS, Linux, IntelliJ IDEA, Git, Selenium, JUnit, Java

The most amazing...

...thing I’ve built was a test utility in Java that creates simulink projects on disk from their in-memory dependency graphs.

Work Experience

Quality Automation Engineer

2016 - 2018
MathWorks
  • Developed Java and MATLAB test tools used for automation testing.
  • Designed and implemented makefiles for automating and improving product build infrastructure; also worked with other teams in the adoption of the new infrastructure.
  • Composed Python and Bash scripts to automate manual steps in test tasks creation.
  • Monitored and contributed daily to automate the UI, performance, and unit test suites.
  • Analyzed automation test failures, determined the root cause, and implemented effective countermeasures.
  • Collaborated with product developers and fixed bugs in the production code that were discovered with automated tests.
  • Created bug reports—taking part in test and bug-fix code reviews and verified that the bugs were fixed.
  • Worked as a technical project lead for QA interns.
  • Organized and actively participated in team and company-wide testing events.
  • Interviewed candidates for the QA position.
Technologies: Linux, IntelliJ IDEA, Jira, Subversion (SVN), Git, Simulink, Hamcrest, JUnit, Bash, Python, Make, MATLAB, Java

Software Developer

2014 - 2015
PSTech
  • Developed new features for a collaboration application (Cisco Jabber) following product owner requirements, making sure code is testable and implements best practices.
  • Wrote unit tests to cover new features and maintain the highest level of code quality.
  • Triaged and fixed bugs found and reported by QA.
  • Presented new features to the product owner on the meetings.
  • Applied Scrum methodology in the team.
Technologies: Scrum, Visual Studio, Jenkins, Rally, WinDbg, Google Mock (GMock), Google Test, C++

Technical Team Lead

2014 - 2015
PSTech
  • Attended and represented the team in meetings.
  • Made sure all technical questions are answered and forwarded to the right people.
  • Helped team with task assignments.
  • Ensure that the work was tracked properly with the Rally management tool.
Technologies: Scrum, C#, Rally, Jenkins

Quality Assurance Engineer

2011 - 2014
PSTech
  • Designed and implemented an automation test and report mechanism in Jenkins used by the team and product managers as an insight into the product quality status.
  • Developed and maintained C# code (White automation framework) used in FitNesse automation test scripts.
  • Ran and maintained manual test procedure; wrote and executed test cases and documented and managed bugs in Rally.
  • Used various Cisco tools (CUCM, CUP, CDETS) for testbed configuration and issue management.
  • Automated manual test suites for desktop collaboration application (Cisco Jabber) which reduced test case execution significantly.
  • Applied Scrum in the day-to-day work while collaborating with a team located in Ireland.
Technologies: Scrum, Rally, TortoiseSVN, Jenkins, FitNesse, C#

PSTech | Cisco Jabber Test Automation

I set up automation infrastructure from the ground up using Jenkins. For this project, I've automated all the tests in multiple teams, that were run manually before. This required setting up test environments using Cisco unified collaboration servers, designing and developing test methods in C# and using FitNesse to write test scripts.

I also created a mechanism for automated result publishing used by the teams and product managers to gain insight into the current product quality.

PSTech | Cisco Jabber Development

I designed and developed new features for collaboration application in C++ using Visual Studio environment. This included writing unit tests using GTest and the GMock framework.

MathWorks | Simulink Project Builder Form In-memory Graph

I designed and developed a test tool in Java for creating Simulink projects from their in-memory graph representation. I also wrote unit tests for the tool. I made the code extensible and applying design patterns to fulfill high coding standards.

The tool was used by team members and automation tests to create Simulink projects with desired dependencies between files easily.

MathWorks | Improved Component Build Infrastructure

I designed improved build infrastructure by automating all the steps that required manual intervention. This included introducing myself to GNU Make to write new and improve existing makefiles.

I also wrote unit tests in MATLAB to cover the project. This project required working with other teams and giving technical support while they switch to new build infrastructure.

MathWorks | Improving Automation Tests

I worked as a technical lead for this project; the goal of the project was to have testing done along with documentation like readability.

This required designing and writing Hamcrest matchers that could be reused across the project with custom failure message that is easy to understand. The results were easily readable and understandable tests, with test conditions that read like natural language sentence. This also reduced time when investigating test failures as the failure message was clean and specific

Frameworks

Selenium, JUnit, Google Test, Google Mock (GMock)

Libraries/APIs

Selenium WebDriver, WebDriver

Paradigms

Agile, Scrum, Test Automation, Continuous Integration (CI)

Other

QA Automation, QA Testing, Hamcrest, Manual QA, Code Coverage, Test Cases, UI Testing, API Testing, Team Leadership, Performance Testing, LDAP

Languages

Java, Java 8, Bash, C++, C#, Simulink, Python, HTML, Bash Script

Tools

MATLAB, Jenkins, GNU Make, FitNesse, IntelliJ IDEA, Jira, Rally, Git, Subversion (SVN), CUCM, Cisco Jabber, Apache Maven, Apache JMeter, GitHub, Makefile, TortoiseSVN, Make, Visual Studio, WinDbg, VMware

Platforms

Linux, Windows, MacOS

2007 - 2012

Master of Science (MSc) Degree in Electrical Engineering and Computer Engineering

University of Belgrade School of Electrical Engineering - Belgrade, Serbia

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