Senior Software Engineer
Belgrade Full time
We’re looking for a Senior Software Engineer to join one of our squads as a leading technical contributor. This is an opportunity to be recognized for your high-impact technical contribution on a fast-moving SaaS product.
You will be working on a modern tech stack which is mainly composed of Java 8/11, ES9, AngularJs, React, Spring Framework/Boot, Micro-services, MongoDB, Docker, Kubernetes, AWS ecosystem, Auth0, ActiveMQ, Tomcat8
- Lead and significantly contribute to medium-to-large feature releases; usually multi-person projects.
- Lead the design, implementation and delivery of complex software components for scale, resiliency, maintainability, and compliance
- Drive solutions to meet security/compliance adherence
- Contributing to the definition and execution of the test approach for our product
- Designing, implementing and supporting test harnesses as needed
- The developing unit, functional and integration automated tests
- Conduct insightful, comprehensive code and design reviews
- Contribute to the encompass engineering community – providing technical leadership, coaching and mentoring the team, promoting knowledge sharing and adoption of good practice
- You’ll be involved in identifying appropriate technology and approaches, deciding when software should be written
- Participating in regular kick-off meetings with squad members
- Participating in agile estimation sessions
- Assisting Product Owner, Testers and Engineering Squad Lead with the writing of acceptance criteria
- Report progress and provide any metrics or reports required to support the squad
- Champion quality, continually improves team processes and participate in our philosophy of continuous improvement.
- Keep your saw sharp by staying current with up to date developments and best practices within development, testing and automation.
- A Bachelor’s degree in Computer Science, Engineering or a related field of study
- Extensive experience having successfully delivered multiple projects that span the software development lifecycle.
- Be an accomplished developer with commercial development experience in Java.
- Demonstrable experience in designing, implementing and debugging complex software components.
- Experience with any SPA framework (AngularJs, React, Vue)
- Experience working in an Agile environment
- Have a strong desire for problem solving, ownership and writing good quality code
- Demonstrable expertise in a specific technical area (e.g. system performance, database technology, web applications, distributed systems)
Experience in one or more of the following would be advantageous:
- Working with and developing microservices
- Messaging technologies (ActiveMQ, RabbitMQ, JMS)
- NoSQL databases such as MongoDB
- Spring Framework/Spring Boot
- Writing RESTful/SOAP web services
- Basic Linux proficiency