Software Engineer 3
Role details
Job location
Tech stack
Job description
Support geospatial data processing, storage and distribution for USGS Science projects. Ensure all software activities are conducted in accordance with the Software Development Life Cycle. Lead, communicate, and coordinate activities and technical status with the Enterprise Architects, Software Engineers, and other project team members in the design, development and deployment of large-scale applications and infrastructure. Analyze system and user requirements to define and develop software requirements. Identify software design and development tasks and provide an estimate for the work. Perform and document preliminary and detailed design of components that comprise a software product. Ensure proper processes are followed and documentation is properly maintained. Manage and participate in peer review processes. Create, administer, and troubleshoot databases capable of processing large amounts of information while maintaining security. Analyze and maintain existing databases, as well as research new database features. Optimize database systems for performance including helping users with query optimization. Prepare design specifications and functional documentation for assigned software, database and user interface tasks. Integrate Apache Airflow into current data processing systems to improve Python data processing workflows. Design geospatial processing systems and databases utilizing best practices for on-premises and potential future cloud architectures. Research USGS-approved AI technologies to utilize them for cost saving usages. Work with Enterprise Architects and System Administrators to plan future system migrations to using Kubernetes containers.
Telecommuting permitted up to 3 days per week.
Full time employment, Monday - Friday, 40 hours per week.
Requirements
Bachelor's degree in Computer Science, Computer Information Systems or a related field and 5 years of progressive, post-baccalaureate related work experience.
Must have 4 years of experience in each of the following:
- Designing, developing, and deploying large-scale applications to process, store and distribute geospatial datasets with a focus on scalability, performance, and security;
- Building geospatial processing systems and incorporating image analysis capabilities through Geographic Information System and Image Processing tools;
- Developing and optimizing data processing workflows using Python; and
- Creating interactive user interfaces and backend services for enterprise applications using JavaScript, including Node.js and React.
Must have 3 years of experience in each of the following:
- Designing schemas, writing optimized queries, and supporting large-scale transactional and analytical workloads using Relational Databases (MySQL, PostgreSQL, and SQL);
- Managing deployments, automation scripting, and troubleshooting in Unix and Linux environments; and
- Integrating software components and enabling secure communication between systems through Web Services and APIs (Application Programming Interfaces) as part of enterprise solutions.
Must have 2 years of experience performing tuning, query optimization, backup/recovery, and ensuring secure handling of large datasets in Database Administration, including Postgres and MySQL.
Must have 1 years of experience in each of the following:
- Deploying and managing containerized applications using containerization; and
- Working with on-premise systems and contributing to planning for future cloud-computing architectures.