You are viewing a preview of this job. Log in or register to view more details about this job.

Senior Software Scientist

THE VALUE YOU DELIVER:

Design, develop, and implement innovative software systems with an emphasis on algorithm development and reusable architectures. Interact with Oceanit’s scientists and engineers as well as external customers to define requirements and present results. We are looking for someone who will thrive in Oceanit’s transdisciplinary, fast-paced, creative environment. We currently have software work in complex instrument systems, sensors and devices, natural language processing, image processing, cyber security, scientific data analysis, machine vision and machine learning. The ideal candidate will be able to learn quickly and move into new areas.
 
Duties include but are not limited to the following:
 
  • Collaboration
  • Work within a horizontal management structure and an agile team environment
  • Develop software architectures for complex hardware and software projects
  • Lead small project-based software teams
  • Take responsibility for assigned technical software deliverables
  • Promote advancement and mentorship to fellow team members’ career paths and skill sets
  • Generate innovative ideas and solutions for Oceanit projects and strategies for business growth.
  • Technical
  • Lead regular technical status meetings (e.g. Daily Standup Meetings)

  • Develop and Refine Software Functional Requirements and Derived Requirements; work with System Engineering to ensure system-level specifications are met
  • Provide input to Program Management regarding: technical inputs on priorities and risks
  • Coordinate regularly with Program Manager to define/update the milestone schedule and align it with development tasks
  • Regularly review/update the task backlog
  • Ensure ongoing and appropriate review processes (design reviews, code reviews) are in place and adhered to
  • Develop/manage the Software Architecture, update as appropriate and ensure implementation conforms to that architecture
  • Create system test plan; Review quality metrics generated by Testing and proactively address quality issues
  • Define procedures for source control and defect tracking
  • Management
  • Lead regular technical status meetings (e.g. Daily Standup Meetings)
  • Develop and Refine Software Functional Requirements and Derived Requirements; work with System Engineering to ensure system-level specifications are met.
  • Provide input to Program Management regarding: technical inputs on priorities and risks
  • Coordinate regularly with Program Manager to define/update the milestone schedule and align it with development tasks
  • Regularly review/update the task backlog
  •  Ensure ongoing and appropriate review processes (design reviews, code reviews) are in place and adhered to
  • Develop/manage the Software Architecture, update as appropriate and ensure implementation conforms to that architecture
  • Create system test plan; Review quality metrics generated by Testing and proactively address quality issues
  • Define procedures for source control and defect tracking