Software Engineer 2
Role details
Job location
Tech stack
Job description
Designs, develops, documents, tests, and debugs new and existing software systems, hardware/software interfaces, and/or applications according to industry established software engineering principals and best practices. Works collaboratively within a team to execute on the full system development lifecycle including analyzing user needs to determine technical requirements; developing technical specifications based on conceptual design and requirements; developing well-crafted and documented source code; integrating hardware using software; automating manual tasks; and consulting with the end user to prototype, configure, refine, test, and debug programs or systems to meet needs. Identifies and evaluates new technologies or methods for implementation and continuous improvement., This Software Engineer 2 role will support the development of the EMSL Science Central technology platform with a focus on backend services, data infrastructure, and platform reliability. The successful candidate will design and develop RESTful APIs using Python and FastAPI, build and maintain PostgreSQL databases, implement role-based access control (RBAC) across platform services, and contribute to the deployment of containerized services in Kubernetes environments. The team follows modern DevOps principles using GitLab CI/CD and actively uses AI-assisted development tools - including GitHub Copilot, OpenCode, and Claude Code - to accelerate development and improve code quality. The candidate will work closely with a multidisciplinary team of scientists and engineers to deliver scalable, maintainable software that supports scientific research workflows at EMSL. Familiarity with frontend technologies is a plus but is not a primary focus of this role.
Requirements
-
PhD -OR-
-
MS/MA -OR-
-
BS/BA and 2 years of relevant experience
Preferred Qualifications:
-
Working knowledge of Linux, Docker, Kubernetes, and other deployment environments
-
API development using Python
-
Experience designing and implementing role-based access control (RBAC) for APIs and platform services
-
Experience with API gateways (e.g., Kong, AWS API Gateway, or similar) for routing, rate limiting, and authentication enforcement
-
Backend languages and tools such as Python and PostgreSQL
-
Experience with CI/CD pipelines and tools like Jenkins, GitLab CI/CD, or Github Actions
-
Experience using AI-assisted development tools (e.g., GitHub Copilot, OpenCode, Claude Code, or similar) in a professional software development workflow
-
Familiarity with RESTful API design patterns and backend service architecture
Hazardous Working Conditions/Environment
Benefits & conditions
PNNL lists the full pay range for the position in the job posting. Starting pay is calculated from the minimum of the pay range and actual placement in the range is determined based on an individual's relevant job-related skills, qualifications, and experience. This approach is applicable to all positions, with the exception of positions governed by collective bargaining agreements and certain limited-term positions which have specific pay rules.
As part of our commitment to fair compensation practices, we do not ask for or consider current or past salaries in making compensation offers at hire. Instead, our compensation offers are determined by the specific requirements of the position, prevailing market trends, applicable collective bargaining agreements, pay equity for the position type, and individual qualifications and skills relevant to the performance of the position.
Minimum Salary
USD $109,000.00/Yr.
Maximum Salary
USD $163,600.00/Yr.