Are you passionate about building applications that really make a difference? Would you enjoy the challenges of developing complex systems where innovation, elegance, and performance are always relevant? Do you live for discussions about how to improve software and the software development process, instead of always blindly reusing existing methods and frameworks?
First Derivatives Canada builds business and mobile applications for companies seeking innovative solutions to cool problems. Software is our product. We work in lots of different verticals and platforms, so the opportunities for variety and learning are always changing.
As a part of our development team, you will participate in all aspects of system design and implementation, as well as interact with customers to learn requirements and show results first-hand. Creating reliable, scalable systems and engaging user interfaces requires exceptional technical expertise. You should be someone who relishes responsibility, always strives for the best, and gets satisfaction from solving hard problems really well. Dreaming about this at night is a plus.
- Passion for software craftsmanship that yields clean, elegant, readable, and maintainable code
- Bachelors degree in Computer Science or Engineering (or 6+ years of relevant experience)
- Extensive programming experience in Java and one or more of the following: Python, Ruby/Rails, Scala, mobile software development
- Firm grasp of fundamentals of algorithms, OO design, data structures, and relational data modeling
- Excellent teamwork skills, demonstrable personal flexibility, and ability to handle multiple tasks
- Ability to work well with people and be both highly self-motivated as well as motivating to others
- Passion for writing efficient and well-tested software, stepping through code, and benchmarking
- Ability to mentor and communicate tasks to Software Engineers
- Experience with major Databases like SQL Server and Oracle
- Strong and unambiguous verbal and written communication skills
- Experience building complex software systems that have been successfully delivered to customers
- Knowledge of professional software engineering practices for agile development, including coding standards, code reviews, build processes, and testing
- A handful of side projects that you have or haven’t finished but of which you’re extremely proud and can demonstrate
Successful candidates will be required to show proof of a valid Canadian work permit.