Senior Software Developer - Full Stack
Reports to: VP, Software Development
Works with: Development, QA, Services, Sales, Product Management, UX
Location: Ottawa, ON or Rest of Canada (work from home)
Our senior 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 the design and implementation of large features starting from gathering requirements all the way to the delivery of high quality features in production. To achieve your goals, you will collaborate with other teams including Product Management, UX Design, SRE, Success, and Marketing, to drive product innovation.
- Work in a fast-paced development environment
- Work with a highly motivated engineering team to develop innovative technology
- Collaborate closely with the entire Product Team, including Product Management and UX Design, to implement new features from back-end to front-end
- Build scalable and performant REST APIs using Java / SpringBoot, Node.js
- Design and build intuitive UIs using React and our design system
- Innovate: propose new ideas, and participate in regular hack days and “scratch your itch” days
- Coach less experienced team members
- Ensure the quality of your work, and that of your colleagues meets expectations - write high quality automated tests, share your knowledge and experience through code reviews, and testing code changes before they are released to production.
- Collaborate 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 and/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.
- Develop software 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.
- 6+ years of hands-on development experience in a saas production environment is preferred
Nice to have skills:
- Excited about learning new skills and solving new challenges
- Coaching other team members
- Enjoy researching unsolved technical challenges and develop realistic solutions
- Capable of turning a complex problem into simple and elegant solutions
- 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 firstname.lastname@example.org. Ensure the subject line of your email contains "Senior 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.