Software Engineer (Big Data)

Are you passionate about building software that really makes a difference? Would you enjoy the challenges of developing complex systems where innovation, elegance, and performance are always relevant? Do you want to be on a team where big data really means BIG? …Like ingesting millions of data points a second, supporting hundreds of billions of records, and responding to queries with millisecond latency.

First Derivatives Canada builds business 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 part of a 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, and high-performance systems 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.

Required Skills

  • Passion for software craftsmanship that yields clean, elegant, readable, and maintainable code
  • Bachelors degree in Computer Science, Mathematics, Engineering, or Actuarial Science (or 2+ years of relevant experience)
  • Aptitude for, or programming experience in, an array-based language such as Q, J, K or APL
  • An aptitude for problem solving
  • Firm grasp of fundamentals of algorithms, OO design, data structures, and 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
  • Strong and unambiguous verbal and written communication skills

Nice to Have

  • Extensive programming experience in Java and one or more of the following: C#, Python, Ruby/Rails, Scala
  • Experience developing rich applications with HTML5/CSS3/JavaScript and Angular JS
  • Firm grasp of fundamentals of algorithms, OO design, data structures, and relational data modeling
  • Experience building complex software systems that have been successfully delivered to customers
  • Experience building systems with billions of records
  • 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
  • Lots of great ideas you can share with others

Successful candidates will be required to show proof of a valid Canadian work permit.

How To Apply

If you would like to apply to this job, you may do so by sending your resume and an accompanying cover letter to and tell us why you are the perfect candidate for this position.