General DescriptionA Software Engineer is an expert in building products and systems that has the ability to influence developers and team members, providing leadership and demonstrating technology domain expertise to achieve business impact.
Is capable of identifying and executing on significant engineering/company-wide opportunities by understanding how technical capabilities meet customer needs. Proactive work with customers to help them understand these new capabilities and work with them to build the right roadmap for the business.
Roles and responsibilitiesParticipate as senior engineering representative in product development teams for development strategies of new products and services.Implement best practices and coding standards on the project.Working on identifying the project risk and planning mitigation action with the PM at project level.Participate in the full life cycle of development, from specification and design through implementation, testing, and support.Must be proactive to propose effective solutions to unexpected events and must have an explanation for them.Must collaborate to set priorities and evaluate the options accurately.Research technical issues and propose technical solutions. Must work on constantly increasing the productivity of the team and reducing the waste on the other end.Positively influence team members, a Leader who is considered by all members.Share the success and failures with the team.Designing, coding, testing, and debugging Scala-based applications.Collaborating with cross-functional teams to gather requirements and develop software solutions.Implementing secure and efficient RESTful APIs using Scala frameworks and Keycloak integration.Writing unit tests and applying Test-Driven Development (TDD) practices to ensure code quality and maintainability.Troubleshooting and resolving technical issues in Scala applications.Participating in code reviews to ensure adherence to coding standards, best practices, and security guidelines.Collaborating with QA engineers to perform system and integration testing, ensuring the reliability and scalability of the applications.Keeping up-to-date with emerging technologies and industry trends related to Scala development, Scala frameworks, and TDD.
EducationBachelor's degree in computer science, software engineering, or a related field.3+ years of solid programming experience as a Senior Scala Developer. 2+ years of solid development solutions experience using GCP/AWS/Azure.B2+ Level of written and spoken English
SkillsSoft Skills
Ability to explain complex ideasDeep analytical skillsWork collaborativelyComprehensive ListeningProblem Solving
Technical Skills
Strong problem-solving skills and the ability to analyze and debug complex Scala applications.Knowledge of software development best practices, including version control (e.g., Git), continuous integration (CI/CD), and Agile methodologies.Solid understanding and practical application of Test-Driven Development (TDD) principles and related frameworks (e.g., JUnit, Mockito).Proficiency in Scala frameworks and libraries (e.g., Play, Akka) for building robust and scalable applications.Familiarity with RESTful API design and development using Scala frameworks.Experience with database systems (e.g., MySQL, PostgreSQL), ORM and SQL queries.Excellent communication and collaboration skills to work effectively within a team environment.
DesirableExperience with JUnit for writing and executing unit tests to ensure code quality and reliability.Experience with other identity and access management (IAM) solutions and single sign-on (SSO) protocols.Familiarity with front-end technologies (e.g., HTML, CSS, JavaScript) and frameworks (e.g., Angular, React).Knowledge of containerization technologies (e.g., Docker, Kubernetes) and cloud platforms (e.g., AWS, Azure, GCP).Cloud CertificationSoftware Development Certification Agile CertificationLow Code certificationKnowledge about microservices and/or Serverless is a plus