This job is no longer taking applications and is displayed only for reference.
To view current postings please conduct a new search.
Thank you.
Responsibilities
- Actively develop standard aspects supporting data acquisition: frontend, device coordination, data pipelines, service communication, API development
- Possess knowledge of connections and dependencies for deployed systems, including databases, scheduled tasks, logging, caches, etc.
- Understanding of system architecture and knowledge of dependencies between interconnected systems.
- Architects, designs, implements, and maintains data acquisition software.
- Undertakes software development projects in a team environment working closely with other developers, clients, other community members, and end-users when applicable.
- Troubleshoots and resolves complex problems and incidents for applicable systems while working with other staff and end users to determine the root causes of failure.
- Gathers functional requirements in collaboration with external stakeholders. Assists in identifying impacted processes and stakeholders considering existing eco-systems and their strategic roadmap. Refines functional requirements into technical requirements considering the needs for performance, scalability, and usability.
Required Qualifications:
- A relevant undergraduate degree/certificate and a minimum of two years of related experience are required.
- Proven ability to work independently and manage multiple tasks with changing priorities.
Listed below are skills and experiences that would be considered an asset,
- Strong Python skills
- Experience with databases (relational and/or document based)
- Interfacing with SCADA systems (particularly EPICS)
- Communication paradigms for service ecosystems (e.g.: REST, gRPC, webhooks, etc.)
- Experience in code management including tools, tracking, and customization (e.g.: git, GitHub, Gitlab, etc.)
- Approaches in agile systems and project forecasting (e.g.: Scrum, Kanban, etc.)