Conduct research in the design, development, testing, and utilization of electronic data processing software.
Design, develop, and debug applications software and systems that incorporate sophisticated logical and mathematical solutions.
Collaborate with multidisciplinary teams, including equipment designers and hardware engineers, to plan and utilize data processing systems for product and commercial software.
Determine computer user needs and analyze system capabilities to resolve complex problems regarding program intent and output requirements.
Design and develop low-level system software, including compilers, assemblers, utility programs, and operating systems.
Analyze user needs and software requirements to determine design feasibility within established time and cost constraints.
Confer with systems analysts, engineers, and programmers to identify project limitations, performance requirements, and critical interfaces.
Design and modify software systems using scientific analysis and mathematical models to predict and measure design outcomes and consequences.
Coordinate software system installations and monitor equipment functioning to ensure all specifications are met.
Ensure all software standards are consistently met across the development lifecycle.
Exercise independent judgment in determining technical objectives and approaches to assignments.
Requirements
Proficiency with GitLab for version control and Jira for project management.
Experience with high-performance computing or data-intensive technologies such as Spark or DataBricks.
Knowledge of low-level systems programming and operating system architecture.
Background in applying mathematical models to real-world software engineering challenges.
Experience leading technical components of a project or mentoring junior engineering staff.
Ready to Apply?
Join Redhorse and make an impact in renewable energy