Description:
The FME Flow Development team consists of both front-end and back-end developers, a UI/UX designer, a product owner, quality analysts and co-op student interns that collaborate on a wide variety of exciting and innovative projects. The team works in an Agile environment and works closely together to find the best possible solutions to challenging problems.
What You’ll Be Doing
As a Back End Software Developer I, you will:
- Participate in the development of new functionalities by designing and developing reliable, performant and scalable back-end services and APIs.
- Participate in every aspect of the development cycle, including refining specifications with the Product Manager, developing clean and maintainable code, writing unit tests, doing code reviews, and maintaining and improving existing code.
- Collaborate, support and share expertise with other team members.
- Investigate, evaluate the impact and resolve anomalies and bugs in live applications.
- Maintain and continuously improve the applications architecture and infrastructure to achieve high availability and low latency.
Qualifications, Skills, and Competencies
Safers come from a variety of backgrounds with a diversity in skills and knowledge. That said, we find that those who are most successful in this role have experience with the following areas.
Required skills:
- Technical skills:
- Bachelor's degree in Computer Science, or related field.
- 1+ years of experience in a related role.
- Strong understanding and proficiency in using Java.
- Knowledge of Spring Framework or equivalent.
- Strong understanding of data structures, object-oriented programming concepts, design patterns and distributed systems.
- Understanding of engineering for the web: client/server architecture, REST, and modern best practices.
- Experience with SQL and relational databases
- Understanding of high-availability, monitoring, and reporting.
- Experience in writing automated tests (unit, integration) with Junit and Mockito, and strive to always do so.
- Self-motivated and able to work independently.
- Strong willingness to learn and the ability to adapt well to change.
- Strong communication and teamwork skills.
- Ability to collaborate with others, share ideas, and exchange meaningful feedback with colleagues.
Desired skills / Bonus points:
- Experience with microservices, containerized applications, Docker/Kubernetes, cloud technologies is an asset
- Experience using Tomcat Java application server is an asset.