Software Engineer, Windows Big Data Distribution (Consultant based in Montreal, QC, Canada)

We are looking for a talented Software Engineer to work on all aspects of the big data distribution of the agylstor systems. You will be writing distributed software that can transfer data at 256 GB/s.  This challenging position requires strong knowledge of Windows Operating System, its programming interfaces, network protocols and storage technologies.  You will be working remotely from Montreal as a consultant for six months which could lead to a fulltime position in Montreal with periodic visits to Agylstor HQ in Silicon Valley, California.


  • Develop Windows smart clients to transfer data in parallel to Agylstor multiple Linux targets at wire speed (100 Gb/s)
  • Work in collaboration with our solutions architects to develop the best possible solutions for our customers to transfer their big data efficiently
  • Work collaboratively with the software and hardware engineers to troubleshoot complex problems

Job Requirements:

  • BS in Computer Science/Engineering or equivalent
  • Five years in a similar position
  • Prior experience optimizing parallel data transfer across network to storage media (NAND flash)
  • Excellent knowledge of C++
  • Expert knowledge of Visual Studio
  • Experience with Windows and Linux interoperability
  • Good knowledge of boost and STL libraries
  • Expert in multi-threading
  • Solid experience in Windows system programming (WinAPI)
  • Network (Windows Sockets) programming knowledge: TCP/IP
  • Willingness to learn new technologies and be passionate about it
  • Excellent knowledge of software engineering best practices: Agile software development, design patterns, test-driven development, unit testing, code reviews, design documentation etc.
  • Well-organized, self-starter with a great team spirit
  • Ability to think analytically and to overview complex systems
  • Great sense of responsibility
  • Good interpersonal and communication skills

Nice to have:

  • Python
  • PowerShell
  • Knowledge of NFS 3, 4.1 and 4.2, CIFS, Samba
  • Knowledge of NTFS
  • Knowledge of RDMA, NVMe, NVMeOF, RoCE
  • Window kernel internals, specifically Object Manager, Virtual Memory Manager and NTFS
Close Menu