Requirements:
- Strong understanding of software development principles, design patterns, and engineering best practices.
- Advanced knowledge of relevant programming languages and paradigms.
- Ability to solve problems of medium complexity using appropriate methods, algorithms, and tools.
- Experience working in agile environments and applying agile values and principles effectively.
- Ability to write clean, modular, and well‑structured code.
- Familiarity with automated testing practices and tools.
- Strong communication skills and the ability to collaborate within cross‑functional teams.
- A mindset focused on continuous improvement and knowledge sharing.
Responsibilities:
- Contribute to the design and implementation of various software components, from end‑user applications to system‑level middleware and utility software.
- Apply agile values and principles to software development and help foster them within the team.
- Demonstrate advanced knowledge of relevant programming languages and paradigms to solve problems of medium complexity.
- Act as a subject‑matter contact point within the team and support the adoption of best practices.
- Use solid knowledge of methods, algorithms, and tools to address technical challenges.
- Write clean, modular, and well‑structured code, collaborating closely with the team to ensure consistency and quality.
- Identify code style issues in peers’ work and contribute constructively to solutions.
- Develop automated tests of medium complexity and derive quality assurance insights to improve team‑level practices.