Software Developer - Full Stack - Intermediate
Reports to: Director - Software Development
Works with: Development, QA, Services, Sales, Product Management, UX
Location: Ottawa, ON or Rest of Canada (remote work)
Our full stack software developers play a key role in all aspects of our software stack including the creation of front-end experiences and back-end services. You will be responsible for features starting from design through to production and every step along the way. You will also be collaborating with various teams including product management, UX Design, SRE, success, and marketing, to drive product innovation and deliver business value to our customers.
- Work with a fast-paced and highly motivated engineering team to develop new innovative technology and deliver business outcomes.
- Collaborate closely with the entire Product Team, including Product Management and UX Design, to implement new features from back-end to front-end, as well as tracking and monitoring your work in production.
- Build scalable and performant REST APIs using Java / SpringBoot, Node.js.
- Design and create intuitive UIs using React and our design system.
- Innovate throughout your day-to-day work, propose new ideas, and participate in regular hack days and “scratch your itch” days.
- Ensure the quality of your work, and that of your colleagues, by writing high quality automated tests, sharing knowledge and experience through code reviews, and testing code changes before they are released to production.
- Communicate closely with the Customer Success and QA teams to resolve customer issues and bugs.
- Collaborate with the UX team to build easy to use, delightful, and intuitive user experiences.
- Embrace our agile development culture and the Klipfolio development manifesto
- Excellent knowledge of Java and OOP. Experience with Spring Boot is preferred.
- Proficient at designing and building scalable and performant REST APIs in either Java / Spring Boot or Node.js / Express.
- Experience working with SQL or NoSQL databases technologies such as MySQL and MongoDB. Capable of designing and maintaining a domain model using various database technologies.
- Familiar with good design patterns and principles such as SOLID and able to apply these principles to your day-to-day work.
- Computer Science degree or a related post-secondary STEM program.
- 3+ years of hands-on development experience
Nice to have skills:
- Comfortable working with Git or similar SCM tools.
- Hands-on experience with AWS and Docker.
- Hands-on experience with CI / CD tools such as Jenkins and Flux.
- Solid understanding of the scalability and reliability of a distributed system.
- Advanced working knowledge of React and Redux.
- Exposure to Groovy and Grails.
- Experience with native mobile app development for iOS and Android.
Send your resume to email@example.com. Ensure the subject line of your email contains "Intermediate Software Developer - Full Stack".
If you are selected for an interview, you will be contacted within a week or two to confirm a date and time.