
Tech Skills
Software Developer roles
Web Development
Front end developer
Frontend developer candidates focus on the latest Javascript front end framework technologies such as ReactJS and VueJs. We also focus on other front end Javascript frameworks such as Angular 2x+.
Responsibilities:
- Build web applications with web development best practices
- Transform app designs into front-end code with HTML, CSS, and JavaScriptWork with back-end developers to integrate UI components with APIs and databases
- Gather and refine specifications and requirements based on technical requirements or UX design
- Debug errors, troubleshoot issues, and perform routine performance optimizations
- On-site search engine optimization (SEO)
- Write high-quality, scalable, and reusable code
- Stay plugged into emerging technologies and industry trends
Skills:
- Knowledge of JavaScript frameworks such as React, Angular, and Vue
- Experience with JavaScript libraries such as jQuery and Bootstrap
- Experience with Typescript
- Proficiency with HTML5, including semantic HTML5 elements, microformats, and WAI-ARIA
- Familiarity with CSS preprocessors such as Sass, Less, or StylusWorking knowledge of SEO principles
- Experience with build tools such as Grunt, Gulp, or WebpackBasic proficiency with Photoshop and web design
- Experience with cross-browser compatibility testing
Backend Development
Backend developer candidates focus on Javascript and Python technologies. Our candidates are proficient in Javascript backend frameworks such as Nodejs and ExpressJS. Additionally other candidates focus on Python and frameworks such as Flask and Django.
Responsibilities:
- Be proficient in server-side development and optimization of data, including database creation and management and debugging
- Integrate data from various back-end services and databases
- Create and maintain software documentation
- Create user-friendly and intuitive interfaces
- Create and analyze reliable and secure back-end functionality
- Maintain, expand, and scale our website
- Remain knowledgeable of emerging technologies/industry trends and apply them into operations and activities
- Collaborate with front-end developers and web designers to match visual design intent
Skills:
- Experience with javascript backend frameworks such as NodeJS, ExpressJS
- Experience with python backend frameworks Flask or Django
- Proficiency with languages such as Javascript, Typescript, Python, Java, MySQL, SQL
- Proficiency in at least one of the following: JavaScript, Ajax, jQuery, HTML, CSS, Bootstrap
- Understanding of object-oriented programming
- Experience with the design and implementation of APIs
- Understanding of code versioning tools such as SVN, Git, and Mercurial
- Understanding of code management tools such as Subversion, Git, and Helix Core
- Understanding of code deployment tools such as Jenkins, Capistrano, and ElectricFlowTrack record of successfully managing multiple company or customer websites
- Excellent time-management and communication skills
Mobile Development
React Native Developer
Building dynamic, high performing, and responsive UI for our web applications on both the iOS and Android platforms.
Responsibilities:
- Collaborate with a team of developers and designers to create a web application run on multiple platforms such as android or iOS.
- Architect, build and maintain excellent React Native applications with clean code, while creating reusable, effective, and scalable JavaScript code.
- Test and update web applications so that it can be used on all web browsers.
- Design the data and presentation layer of the web application’s front-end.
- Translate the client’s technical requirements into code.
- Diagnose and fix bugs and performance bottlenecks for performance that feels native.
Skills:
- Use additional JavaScript libraries such as Redux to manage the web application’s state, derive computed data from the state of the system, and make asynchronous API calls.
- Leverage native APIs for deep integrations with both platforms.
Front end developer
Frontend developer candidates focus on the latest Javascript front end framework technologies such as ReactJS and VueJs. We also focus on other front end Javascript frameworks such as Angular 2x+.
Responsibilities:
- Build web applications with web development best practices
- Transform app designs into front-end code with HTML, CSS, and JavaScriptWork with back-end developers to integrate UI components with APIs and databases
- Gather and refine specifications and requirements based on technical requirements or UX design
- Debug errors, troubleshoot issues, and perform routine performance optimizations
- On-site search engine optimization (SEO)
- Write high-quality, scalable, and reusable code
- Stay plugged into emerging technologies and industry trends
Skills:
- Knowledge of JavaScript frameworks such as React, Angular, and Vue
- Experience with JavaScript libraries such as jQuery and Bootstrap
- Experience with Typescript
- Proficiency with HTML5, including semantic HTML5 elements, microformats, and WAI-ARIA
- Familiarity with CSS preprocessors such as Sass, Less, or StylusWorking knowledge of SEO principles
- Experience with build tools such as Grunt, Gulp, or WebpackBasic proficiency with Photoshop and web design
- Experience with cross-browser compatibility testing
Backend Development
Backend developer candidates focus on Javascript and Python technologies. Our candidates are proficient in Javascript backend frameworks such as Nodejs and ExpressJS. Additionally other candidates focus on Python and frameworks such as Flask and Django.
Responsibilities:
- Be proficient in server-side development and optimization of data, including database creation and management and debugging
- Integrate data from various back-end services and databases
- Create and maintain software documentation
- Create user-friendly and intuitive interfaces
- Create and analyze reliable and secure back-end functionality
- Maintain, expand, and scale our website
- Remain knowledgeable of emerging technologies/industry trends and apply them into operations and activities
- Collaborate with front-end developers and web designers to match visual design intent
Skills:
- Experience with javascript backend frameworks such as NodeJS, ExpressJS
- Experience with python backend frameworks Flask or Django
- Proficiency with languages such as Javascript, Typescript, Python, Java, MySQL, SQL
- Proficiency in at least one of the following: JavaScript, Ajax, jQuery, HTML, CSS, Bootstrap
- Understanding of object-oriented programming
- Experience with the design and implementation of APIs
- Understanding of code versioning tools such as SVN, Git, and Mercurial
- Understanding of code management tools such as Subversion, Git, and Helix Core
- Understanding of code deployment tools such as Jenkins, Capistrano, and ElectricFlowTrack record of successfully managing multiple company or customer websites
- Excellent time-management and communication skills
Mobile Development
React Native Developer
Building dynamic, high performing, and responsive UI for our web applications on both the iOS and Android platforms.
Responsibilities:
- Collaborate with a team of developers and designers to create a web application run on multiple platforms such as android or iOS.
- Architect, build and maintain excellent React Native applications with clean code, while creating reusable, effective, and scalable JavaScript code.
- Test and update web applications so that it can be used on all web browsers.
- Design the data and presentation layer of the web application’s front-end.
- Translate the client’s technical requirements into code.
- Diagnose and fix bugs and performance bottlenecks for performance that feels native.
Skills:
- Use additional JavaScript libraries such as Redux to manage the web application’s state, derive computed data from the state of the system, and make asynchronous API calls.
- Leverage native APIs for deep integrations with both platforms.
QA roles
The role of a software tester may vary depending on team size, structure, and organization’s specific needs. In the IT industry we have mainly identified 2 roles that most fully define what the quality assurance role is. They are:
- Software Test Engineer
- Test Automation Engineer
The following are descriptions of each of these roles and the skills and responsibilities they require. Also mentioned are the tools each of these roles mostly use.
Software Test Engineer
Test Engineers find bugs in a system and work to ascertain that test requirements match test objectives. They create and follow a test plan with a detailed understanding of the testing workflow (including test strategy, environment requirements, test schedule, functions to be tested, resources and responsibilities, deliverables, exit criteria, tools, etc.). As testers they are involved in writing test cases which are scripts describing an input action and an expected response.
While running tests, Software Tester Engineers compare the actual result with the ones outlined in the test case, highlighting if they don’t match. The found bugs are communicated to other team members through test reports via any bug tracking and management tool.
Responsibilities:
- Analyze requirements and if these are incomplete, ask meaningful questions that will yield more information and help perform testing effectively.
- Write and execute test cases to find system bugs like UI and usability issues.
- Conduct exploratory testing.
- Check consistency across devices, browsers, and operating systems.
- Provide inputs on high-level test scenarios, challenges, risks, resources, test estimates, etc., during test planning meetings.
- In some cases, Software Test Engineers can also perform test automation tasks.
Skills:
- Deep understanding of software testing, its main concepts, and processes: the whole bug life cycle; different testing levels, methods, and types; test estimation techniques.
- Critical thinking and analytical skills to examine bug reports and prioritize necessary tests.
- Good communication and teamwork skills to interact with project team members, clients, and stakeholders as well as work closely with the dev team – from reproducing the reported issue and emphasizing the fix for critical bugs to understanding how the bug has been fixed.
- Programming skills are a plus, basic SQL knowledge to extract data for tests, XML. Automation script coding.
Software Test Engineer tools:
- In addition to using different desktop and mobile operating systems, browsers and web proxies for cross-browser testing, simulators and emulators, testers use the following tools:Quality management tools (Micro Focus Quality Center, TestDirector, Test Manager, TestLink, SpiraTest, TestRail) to organize and manage all phases of the software testing process including planning, running tests, and tracking bugs, generating and storing test reports, and interlinking them with the release requirements.
- Bug tracking tools (BugZilla, Mantis, IBM Rational ClearQuest) to track the bugs found in the application and generate reports to communicate them to the development team.
- Project management software (Jira, Redmine, YouTrack).
- API testing tools (Postman, SoapUI) for automated checks. They offer predefined snippets to automate API testing without the need to write code to test the API. IDEs for writing code (VSCode, Visual Studio).
Test Automation Engineer
Automated testing is used to run repetitive and regression tests that require constant iterations due to implementing frequent code changes. Automation testing is also preferred for load tests, helping to verify a system’s performance under load conditions. Initially, automated tests take considerable investments, but it pays off when their fast execution speeds up the testing process. Besides, they are reusable and easy to run on different machines. Test Automation Engineers write scripts and create automation environments for repeated tests. Making use of different automation tools, they design, test, and deploy effective test automation solutions. Their goal is to automate as much of the testing effort as possible with a minimum set of code. This way testing is optimized in a way that otherwise would consume a large percentage of test resources.
Test Automation Engineers make use of testing frameworks to create and design test cases more efficiently. An organized framework reduces maintenance costs and testing efforts while making test automation code reusable, maintainable, and stable.
Besides writing automated tests, Test Automation Engineers can still do exploratory testing when they need to understand how functionality manifests itself to the customer.
Test Automation Engineer responsibilities:
- Write, design, and execute automated tests by creating scripts that run testing functions automatically.
- Maximize test coverage for the most critical features of the system; determine the priority for test scenarios and create execution plans to implement these scenarios.
- Write documentation for automated processes including test plans, test procedures, and test cases.
- Build test automation frameworks.
- Documentation of bugs.
Test Automation Engineer skills:
A Test Automation Engineer has Software Test Engineer skills but they are automation-oriented. In addition, to that:
- Knowledge of common computer languages required for different automation testing technologies: Python, Java, Ruby, С++, Perl, PHP, C#.
- Understanding of platform specifics (a web application or mobile app).
Test Automation Engineer tools:
Adding to the tools of a Test Engineer, an automation tester uses the following:
- Automation testing tools: Selenium, TestComplete, Katalon Studio, and Ranorex.
- Ready-made automation frameworks instead of building elaborate automation frameworks from scratch: Serenity BDD, a Java-based framework, or developer-centric Cypress, etc.
- Mobile automation testing tools for Android, iOS, and cross-platform ones.
- API testing tools that require strong coding skills to create tests: REST Assured, RestSharp, jMeter, etc.
- Continuous Integration Tools (Jenkins, TeamCity, Bamboo, etc.)
- Software Test Engineer
- Test Automation Engineer
The following are descriptions of each of these roles and the skills and responsibilities they require. Also mentioned are the tools each of these roles mostly use.
Software Test Engineer
Test Engineers find bugs in a system and work to ascertain that test requirements match test objectives. They create and follow a test plan with a detailed understanding of the testing workflow (including test strategy, environment requirements, test schedule, functions to be tested, resources and responsibilities, deliverables, exit criteria, tools, etc.). As testers they are involved in writing test cases which are scripts describing an input action and an expected response.
While running tests, Software Tester Engineers compare the actual result with the ones outlined in the test case, highlighting if they don’t match. The found bugs are communicated to other team members through test reports via any bug tracking and management tool.
Responsibilities:
- Analyze requirements and if these are incomplete, ask meaningful questions that will yield more information and help perform testing effectively.
- Write and execute test cases to find system bugs like UI and usability issues.
- Conduct exploratory testing.
- Check consistency across devices, browsers, and operating systems.
- Provide inputs on high-level test scenarios, challenges, risks, resources, test estimates, etc., during test planning meetings.
- In some cases, Software Test Engineers can also perform test automation tasks.
Skills:
- Deep understanding of software testing, its main concepts, and processes: the whole bug life cycle; different testing levels, methods, and types; test estimation techniques.
- Critical thinking and analytical skills to examine bug reports and prioritize necessary tests.
- Good communication and teamwork skills to interact with project team members, clients, and stakeholders as well as work closely with the dev team – from reproducing the reported issue and emphasizing the fix for critical bugs to understanding how the bug has been fixed.
- Programming skills are a plus, basic SQL knowledge to extract data for tests, XML. Automation script coding.
Software Test Engineer tools:
- In addition to using different desktop and mobile operating systems, browsers and web proxies for cross-browser testing, simulators and emulators, testers use the following tools:Quality management tools (Micro Focus Quality Center, TestDirector, Test Manager, TestLink, SpiraTest, TestRail) to organize and manage all phases of the software testing process including planning, running tests, and tracking bugs, generating and storing test reports, and interlinking them with the release requirements.
- Bug tracking tools (BugZilla, Mantis, IBM Rational ClearQuest) to track the bugs found in the application and generate reports to communicate them to the development team.
- Project management software (Jira, Redmine, YouTrack).
- API testing tools (Postman, SoapUI) for automated checks. They offer predefined snippets to automate API testing without the need to write code to test the API. IDEs for writing code (VSCode, Visual Studio).
Test Automation Engineer
Automated testing is used to run repetitive and regression tests that require constant iterations due to implementing frequent code changes. Automation testing is also preferred for load tests, helping to verify a system’s performance under load conditions. Initially, automated tests take considerable investments, but it pays off when their fast execution speeds up the testing process. Besides, they are reusable and easy to run on different machines. Test Automation Engineers write scripts and create automation environments for repeated tests. Making use of different automation tools, they design, test, and deploy effective test automation solutions. Their goal is to automate as much of the testing effort as possible with a minimum set of code. This way testing is optimized in a way that otherwise would consume a large percentage of test resources.
Test Automation Engineers make use of testing frameworks to create and design test cases more efficiently. An organized framework reduces maintenance costs and testing efforts while making test automation code reusable, maintainable, and stable.
Besides writing automated tests, Test Automation Engineers can still do exploratory testing when they need to understand how functionality manifests itself to the customer.
Test Automation Engineer responsibilities:
- Write, design, and execute automated tests by creating scripts that run testing functions automatically.
- Maximize test coverage for the most critical features of the system; determine the priority for test scenarios and create execution plans to implement these scenarios.
- Write documentation for automated processes including test plans, test procedures, and test cases.
- Build test automation frameworks.
- Documentation of bugs.
Test Automation Engineer skills:
A Test Automation Engineer has Software Test Engineer skills but they are automation-oriented. In addition, to that:
- Knowledge of common computer languages required for different automation testing technologies: Python, Java, Ruby, С++, Perl, PHP, C#.
- Understanding of platform specifics (a web application or mobile app).
Test Automation Engineer tools:
Adding to the tools of a Test Engineer, an automation tester uses the following:
- Automation testing tools: Selenium, TestComplete, Katalon Studio, and Ranorex.
- Ready-made automation frameworks instead of building elaborate automation frameworks from scratch: Serenity BDD, a Java-based framework, or developer-centric Cypress, etc.
- Mobile automation testing tools for Android, iOS, and cross-platform ones.
- API testing tools that require strong coding skills to create tests: REST Assured, RestSharp, jMeter, etc.
- Continuous Integration Tools (Jenkins, TeamCity, Bamboo, etc.)