Overview

Material Exchange AM is looking for a Senior Backend Developer to manage the software development life cycle, from planning and prioritizing to testing and release. The Senior Backend Developer responsibilities include gathering system and user requirements, building modules and testing features before release. The ideal candidate has hands-on experience developing software with agile methodologies and is ready to lead the Company’s junior developers. Ultimately, he/ she will deploy and maintain functional, secure and high-quality applications.

Responsibilities:

- Perform coding, code commenting, debugging, bug fixing, testing, code reviewing and other related activities in accordance with company coding conventions, approved designs and project standards;
- Follow the existing company, team and project processes and procedures and suggest how to improve them;
- Work with project manager and quality assurance representative to estimate issue resolution or package implementation efforts;
- Write technical design specifications, participate in design reviews and provide input to the design recommendations;
- Perform unit and integration testing of an application and identify, troubleshoot and solve application code related issues;

Required Qualifications:

- Higher degree in Computer Science, Engineering or other related fields;
- At least 4 years of work experience;
- Excellent knowledge of Java programming language;
- Experience using RDBS: MySQL, Oracle, Postgres;
- Experience with testing using JUnit and Mockito or similar tools;
- Experience working with RESTful services;
- Knowledge of Maven;
- Effective use of the Git source control system including branching, merging and pull requests;
- Experience with microservice architecture;
- Deep usage of Container Concepts (e.g. Docker tool);
- Experience with Continuous Integration tools (e.g. Jenkins) will be considered as a plus;
- Experience with Cloud environments will be considered as a plus;
- Experience with Scrum methodology;
- Experience and interest in leading the team will be considered as a big advantage;
- Readiness to share own knowledge with less experienced colleagues, but also to learn new concepts and software technologies as needs arise;
- Enthusiasm about clean code, pair-programming, TD and code reviews;
- Strong problem-solving and analytical skills;
- Ability to communicate effectively, both verbally and in written;
- Good knowledge of English language, both written and spoken;
- Skills in review and estimation of user stories in an agile process.