Software Engineer

University of Washington
Washington, DC, United States
28 days ago
Apply on www.dice.com
Prepare application

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Compensation
$108,000.0 - $144,000.0
Working hours
Regular working hours
Job source

Tech stack

Testing (Software) C (Programming Language) Adobe InDesign Automation of Tests Unit Testing Bug Tracking Systems C++ (Programming Language) Software Quality Code Review Computer Programming Computer Engineering Software Debugging
+20 more
Embedded Software Github Revision Control Systems Monitoring of Systems Python (Programming Language) Software Architecture Program Design Languages Systems Development Life Cycle Regression Testing Software Engineering Subversion Systems Architecture Multithreading Real Time Systems Software Application Programming Gitlab Information Technology Codebase Software Version Control Programming Languages

Job description

Reporting to the Ocean Engineering Department Head, the Software Engineer will be an integral member of the Ocean Engineering Department that supports Principal Investigators (PIs) with the design, build, and deployment of embedded software systems supporting oceanographic, acoustic, marine renewable energy, autonomous vehicle, and marine robotics research. The OED is a diverse team of software, electrical, and mechanical engineers that specializes in developing novel systems to meet the rigorous demands of the globe’s harshest environments in which our equipment is deployed.

The incumbent will work on all phases of software application development from requirements gathering through final release and life cycle maintenance for major software components and small projects. The incumbent will simultaneously work on multiple projects with different timelines, often providing novel solutions to complex problems. This position will work closely with the PI, but must also operate independently and with other software, electrical, and mechanical engineers. The person hired must anticipate and identify potential technical issues and produce innovative solutions, and be able to work with the PI to develop requirements, schedule work, and address emergent needs., The incumbent must have experience developing embedded applications using C, C++, Python, or related programming languages. The candidate will be responsible for updating the existing code base as well as designing, coding, testing, and deploying new applications. They will participate in design reviews, code reviews, and testing to ensure the quality of code, and will be responsible for identifying gaps in requirements and clarifying them with the PI. The candidate must anticipate and identify potential technical issues and produce innovative solutions, be able to work both independently and tightly coupled with the team, and must have good problem-solving techniques.

The incumbent must be able to work both independently and tightly coupled with the team and must have good problem-solving techniques and a deep understanding of C, C++, Python, or a related programming language. The candidate should be well-versed in software development and testing tools (e.g., Subversion, Github) for version control, bug tracking tools, performance and system monitoring tools, debugging tools, and strategies. The person hired will be expected to be disciplined in using the project-defined coding conventions and interface documentation techniques.

The incumbent will work closely with the PI to help design, plan, and track the progress of the applications developed to make sure it meets the desired goals. The candidate will be responsible for fully testing their own code and the team’s code before checking it into the repository, as well as coordinating full system regression testing with the test lead to ensure their code is functioning properly. The candidate should be well-versed in software development and testing tools (e.g., Subversion, Gitlab) for version control, bug tracking tools, performance and system monitoring tools, debugging tools, and strategies. The candidate will work with the PI to ensure acceptance of the application.

Software Architecture Design & Development (60% FTE):

-Works as an integral member of the engineering team to design, code, and implement software for new instruments and new functionality within the existing code base for existing instruments.

  • Creates new embedded systems as needed. Serves as a technical expert in the testing and evaluation of the software architecture, capabilities, and requirements of existing and emerging systems.

  • Helps establish technical direction, standards, and maintain appropriate mechanisms to monitor/control all aspects of the software and systems development lifecycle.

  • Provides systems architecture, development, programming, and consultation for embedded systems and real-time systems.

-Collaborates with other department engineers to advance the department’s shared software engineering infrastructure.

Reporting and Documentation (10% FTE):

  • Participates in and presents system design information at program design reviews.

  • Reports development progress to the PI on a weekly basis.

  • Creates formal interface documentation and documents code as needed.

Project Management (15% FTE):

  • Develops project requirements with the PI.

  • Plans the lifecycle of the application development.

  • Coordinates development with other engineers.

  • Ensures timely completion of the project.

  • Proposes new projects, applications, and features by anticipating the PI’s needs.

Testing (10% FTE):

  • Unit tests new or updated code.

  • Tests and documents full system capabilities.

  • Works with system and software test engineers to develop test plans for applications.

Lead Responsibilities (5% FTE):

  • Is recognized as an expert in areas of software development and is a reference for other developers.

  • Leads/mentors team members on how to improve software quality.

  • Instructs on strategies to test the system using various test tools.

  • Provides coaching and professional feedback as necessary.

Requirements

To be considered for this opportunity, your application must demonstrate you meet both the minimum qualifications and additional qualifications listed below. Equivalent education and/or experience may substitute for minimum qualifications except when there are legal requirements, such as a license, certification, and/or registration., Applicants who do not meet these qualifications WILL NOT be forwarded to the Hiring Department.

Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, Ocean Engineering, or a closely related field AND 5-10 years’ work experience.

Experience developing applications using C, C++, Python, or related programming languages.

Experience developing applications requiring multi-threaded, real-time, distributed implementation.

Experience with software revision control systems.

Experience with collaborative bug tracking systems.

ship.

Ability to obtain and maintain a Department of Defense security clearance.

*Incumbent will be required to submit for a Department of Defense Secret-level security clearance within the first 3-6 months of employment, and once granted, must maintain eligibility to hold a Secret-level clearance. *

A federal security clearance is required to hold this position. The process for obtaining a DOD Security Clearance can be viewed using the following links: Processing Applicants (dcsa.mil) or General Investigations and Clearance Processes (dcsa.mil)

Equivalent education/experience will substitute for all minimum qualifications except when there are legal requirements, such as a license/certification/registration.

About the company

The Applied Physics Laboratory is a research unit at the University of Washington. Our research expertise is in ocean physics and engineering, ocean and medical acoustics and imaging, polar science, remote sensing, and signal processing. We conduct research and development that is sponsored by a variety of federal and state agencies and take great pride in our long-standing status as a US Navy-designated University Affiliated Research Center (UARC). Our work takes place not only on the University of Washington campus and medical centers, but in field locations around the world - at sea, in the air, and on polar ice caps. We apply rigorous scientific inquiry and engineering excellence in pursuit of solutions to important problems for the good of our region, nation, and world.

We are focused on building and sustaining a laboratory where all students, staff, and collaborators can realize success. We believe every member of our team enriches our research enterprise by exposing us to a broad range of ways to understand and engage with the world, identify challenges, and discover, design, and deliver solutions. We invite you to explore our laboratory, to find answers to Common Questions about the University’s application process, and to See Yourself at APL., Working at the University of Washington provides a unique opportunity to change lives - on our campuses, in our state and around the world.

UW employees bring their boundless energy, creative problem-solving skills and dedication to building stronger minds and a healthier world. In return, they enjoy outstanding benefits, opportunities for professional growth and the chance to work in an environment known for its diversity, intellectual excitement, artistic pursuits and natural beauty.

Our Commitment

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com
Prepare application

Good distractions

Loading talks and stories from around this role…