Programmer/software Developer

Victoria, BC, CA, Canada

Job Description

Green PI Inc is presently looking to provide a

Programmer/Software Developer

for our client. The Programmer/Software Developer will perform work relating to the optical and infra-red instrumentation projects. The work includes analysis, design, development, implementation and testing of software for precision opto-mechanical components and systems for astronomical instrumentation. Novel and unique software and integrated hardware/software systems will be developed for complex, state-of-the-art astronomical instrumentation (e.g., adaptive optic systems, spectrographs, cameras, measuring equipment).

This is a contract opportunity from April 2025 - March 31, 2026.

Responsibilities



The work will include the design and implementation of software for complex opto-mechanical instrumentation systems. This work will include designing and writing highly optimized/efficient code, often for adaptive optics real-time systems where many mathematical operations are completed within deterministic timings and extremely low latency and in some cases across multiple CPUs and servers. This will also involve creating a software interface with hardware that can be common off-the-shelf or custom mechanisms that will have software-development kits that are operating system dependent but need to be ported to alternate systems which will involve a certain level of knowledge and debugging. This also requires significant experience with debugging of large, multi-threaded and multi-process software systems (e.g., 40k lines of code). Software standards will need to be followed and specific programming languages and operating systems will need to be used. Documentation embedded in the software also needs to follow standards, as well as for any additional documentation required (for example design or interface documentation). Operating system experience is preferred but not necessary, for example building kernels, installing low-level device drivers, allocation of processes to cores, debugging network interfaces, etc.

There is also the design, build, and test of software components that control and monitor mechanisms on an astronomical instrument. The components can have multiple types of physical interfaces such as serial or Ethernet and software interfaces, e.g., micro controller specific, binary, ascii. This will also include dealing with different types of files. The work could also include programming different types of control systems and control different types of motors and components.

The potential candidate must possess the following:



Bachelor's Degree or higher in Software/Computer/Electrical Engineering, Computer Science, or Physics. Proof of education must be provided; Can work in person in Victoria, BC for a few days to a few weeks at a time, when required, including meeting security requirements. Must have Federal Government

Enhanced Reliability

status. Ability to fluently communicate in English, and to participate effectively in technical meetings, provide written documentation of designs and analysis, and to verbally present status and results at meetings; Has had involvement in multiple projects where they implemented software written in C; C++ Java or equivalent; python or equivalent; shell scripting; and documentation of software. The candidate must demonstrate via project descriptions and must provide the following for each project:
o Organization for which the work was performed;

o Name of the Project(s) and/or Reference number;

o Duration of work (start and end dates in MM/YY format);

o Roles and responsibilities;

o Tasks performed demonstrating the relevant experience;

o References(Name, title, phone number and email address).

In addition to the mandatory requirements, the potential candidate should possess the following:



Within the last 5 years, the candidate should have professional experience in the design, development, integration and testing of software for scientific instruments, including or closely related to adaptive optics systems, optomechanical hardware control and real-time control systems. Experience should be documented through a submitted resume and a narrative of the roles and responsibilities in all major projects of relevance, including the timeframe for the work. Within the last 5 years, the candidate should have professional experience with developing software for a real-time system relevant to instrument design. Experience involving linear algebra computations (e.g., experience using vectors and matrices) is also preferred. Within the last 5 years, the candidate should have professional experience with software controlling motors and detectors in a deterministic manner. This must include at least one description of software to control sever/stepper motors in a deterministic manner or software to control detectors. Within the last 5 years, the candidate should have developed applications in the FPGA Verilog language.
For the above experience, please provide the following information regarding past projects you have worked on:

Name of client Project description Start and end date of project Detailed description of the work performed including tasks, roles and responsibilities. List 3-5 key tasks that you performed. Client Contact information (phone and email)
The following is an example of how the information should be provided:

"Project A
Title: Technical Specialist
January 2014 - June 2014
The objective of this project was to migrate 300 servers from Windows 7 to Windows 10. The servers were located on the client's sites in Ottawa, Montreal, Winnipeg, and Edmonton.
Tasks: remotely scan the servers for list of applications, contact the Regional Network Administrators in Montreal, Winnipeg and Edmonton to schedule test dates, (...).
Reference: Mrs. Abc. Manager of Server Support. mrsabc@corp.com. 111-111-1112."

About our Company:



Green PI Inc is a growing company with a strong vision and firm financial backing. Registered in Ontario Canada in 2007, believes in ever-improving quality in engineering consulting and software systems development. We have recently been awarded the Innovation Award by "Innovation, Science and Economic Development Canada". Based in Mississauga, Ontario, we have helped many organizations with their design engineering and software consulting needs.

Job Location: Victoria, BC

Work Remotely: Hybrid

Contract length: April 2025 - March 31, 2026

Working Schedule: Monday to Friday

Please provide salary expectations or an hourly rate along with an updated resume and three references.

Job Type: Fixed term contract
Contract length: 12 months

Pay: $41,922.50-$152,099.89 per year

Ability to commute/relocate:

Victoria, BC: reliably commute or plan to relocate before starting work (required)
Application question(s):

Within the last 5 years, have you had any experience with the design, development, integration and testing of software for scientific instruments, including or closely related to adaptive optics systems, optomechanical hardware control and real-time control systems? As per the job posting description, please put this information in your resume with a narrative of the roles and responsibilities in all major projects of relevance, including the timeframe for the work.
Please fill in an answer to this question; a blank answer will be interpreted as not having the noted experience.

Within the last 5 years, have you had any experience with developing software for a real-time system relevant to instrument design? Please fill in an answer to this question; a blank answer will be interpreted as not having the noted experience. Within the last 5 years, have you had any experience with software controlling motors and detectors in a deterministic manner? Please fill in an answer to this question; a blank answer will be interpreted as not having the noted experience. Within the last 5 years, have you had any experience with developing applications in the FPGA Verilog language? Please fill in an answer to this question; a blank answer will be interpreted as not having the noted experience. Do you have Federal Government Enhanced Reliability status?
Education:

Bachelor's Degree (required)
Experience:

Software development: 5 years (required) Software testing: 5 years (required) Application development: 5 years (required) C: 5 years (required) C++: 5 years (required) Java: 5 years (required) Python: 5 years (required)
Work Location: Hybrid remote in Victoria, BC

Application deadline: 2025-03-17
Expected start date: 2025-04-01

Beware of fraud agents! do not pay money to get a job

MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD2391963
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Contract
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Victoria, BC, CA, Canada
  • Education
    Not mentioned