Software Engineer I/II - Remote Work Options Available
UNAVCO, Inc. is accepting applications for a Software Engineer I/II
Application Process: Applications will only be accepted via UNAVCO's career website (https://www.unavco.org/careers/). Application review begins Monday, April 25, 2022 and will continue until filled.
Location: UNAVCO is based in Boulder, Colorado but supports remote and hybrid work arrangements.
Salary is based on the candidate’s qualifications within the established UNAVCO salary ranges:
- Software Engineer I $58,000 - $87,000
- Software Engineer II $72,200 - $108,300
Benefits: UNAVCO offers very competitive benefits including Medical, Dental, Vision, Life, Disability, Supplemental Benefits, 4 weeks Paid Time off (PTO), and a retirement plan with a 10% employer contribution.
Where You Will Work
UNAVCO maintains and operates the Geodetic Facility for the Advancement of Geoscience (GAGE) which provides support to the National Science Foundation (NSF) investigator community for geodesy, Earth Sciences research, education and workforce development with broad societal benefits. As part of GAGE, UNAVCO operates a large network of geodetic instruments (primarily GNSS) and a world class data facility and archive. This facility supports a broad range of applications from the study of plate tectonics and earthquakes to real-time precise vehicle navigation and fiducial networks.
For over three decades, UNAVCO has spearheaded the utilization of cutting-edge technologies in geodesy while providing robust operational support for researchers exploring the solid Earth (earthquakes, volcanoes, plate tectonics), the hydrosphere (deformation of ice, the Earth's response to groundwater, sea level change), and the atmosphere. Our instrumentation toolbox includes high-precision GPS/GNSS, lidar and optical imagery, synthetic aperture radar (SAR), borehole geophysics, and more.
What You Will Do
The Software Engineer I/II is responsible for assisting in the development, implementation, testing and documentation for components of software systems as well as unit and integration testing. They also participate in defining internal best practices, standards, and timelines and participate in identifying technologies that should be used. The incumbent will operate with moderate supervision to apply well-proven techniques with some technical risk that could impact the outcome of the software engineering project.
We are currently in the process of moving our complete data center operations into the cloud and looking for software engineers to help in this endeavor. We are upgrading our entire platform to run efficiently in the cloud. As part of this effort we need software engineers to help with taking legacy code written in earlier versions of Java and bringing it forward to newer versions with better interfaces or alternative implementations that provide functionality used by the our field engineers that maintain and install the equipment. We invite you to apply if you are looking for an opportunity to learn more about the cloud and do actual development on critical applications with user collaboration.
We welcome applications from software engineers who would like to pursue a career in the fields of cloud computing and big data analysis.
- Design, develop, implement and support software systems.
- Obtain and analyze software systems requirements.
- Test and document software components.
- Debug and maintain legacy code.
- Investigates and fix issues within Java application used by field engineers to maintain field equipment.
- Gathers requirements and works on enhancements to Java applications to support new equipment or procedures.
- Makes sure all software developed has been checked into a source code repository.
- Performs code reading with other developers to assure clarity, correctness and UNAVCO’s security procedures.
- Fixes issues found during integration of in the continuous test environment maintained at UNAVCO.
- Follow internal software development, testing and documentation methodologies, policies and best practices.
- Participate in joint analysis and design activities with other staff in defining directions, standards, and timelines and identifying key technologies for evolving moderately complex software systems.
- May work directly with Engineers in the Geodetic Infrastructure Directorate to debug programs and resolve issues with software programs.
- May contribute to authoring technical reports and publications and may present at conferences.
- Must be willing to work with other groups on corporate projects.
- Other duties may be assigned as necessary for the successful operation of the business.
Leadership & Supervision
- Has frequent communication with, and direct supervision by, Engineering Manager (GDS) for guidance.
- Work is reviewed for accuracy and overall quality.
- Work with and support other UNAVCO staff while working on projects.
- This position does not have supervisory responsibility.
UNAVCO is unable to provide sponsorship for work authorization within the United States.
UNAVCO is an equal opportunity/equal access/affirmative action employer. Our long-term success depends on the development of a forward-looking, diversified workforce. UNAVCO values diverse perspectives and backgrounds in all positions within the organization and is fully committed to achieving a diverse workforce and complies with all Federal and State laws, and regulations regarding nondiscrimination and affirmative action. UNAVCO encourages applications from candidates who are members of historically underrepresented groups. This includes candidates from different socioeconomic backgrounds, candidates with disabilities, candidates with unique life experiences, etc. Women, Veterans, Individuals with Disabilities and members of the BIPOC and LGBTQIA+ communities are encouraged to apply. All qualified and complete applications will be considered. Individuals with a disability needing an accommodation as part of the employment selection process should contact HR@unavco.org or 303-381-7515.
UNAVCO supports a safe work environment for all staff. As part of our commitment, UNAVCO conducts background checks. Background checks will vary and are based on position requirements. Background checks may include but are not limited to, criminal history, sex offender registry, motor vehicle history, financial history and/or education verification. Background checks may also be conducted when required by law or when in the discretion of UNAVCO is reasonable and prudent to do so. UNAVCO complies with the Fair Credit Reporting Act (FCRA).
Vaccination Requirements: All employees are required to be fully vaccinated against COVID-19 regardless of the employee’s duty location or work arrangement (e.g., telework, remote work, etc.), subject to such exceptions as required by law. If offered employment, you will be required to be vaccinated against COVID-19 and submit documentation of proof of vaccination before your appointment or on-boarding with UNAVCO. Information about requesting a medical or religious accommodation/exemption should be directed to Human Resources at email@example.com.
Applicable Skills / Core Competencies
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability for the position:
- Ability to build data models to solve new data requirement needs.
- Experience with developing in Java.
- Ability to understand legacy Java code developed using Java Server Faces (1.X).
- Ability to understand code using Hibernate and Spring Web Flow.
- Ability to write SQL queries in Postgres or another relational database to support development of web services and general purposes utilities as well as answer questions of UNAVCO engineers and community.
- Ability to develop data models on existing database to support new features.
- Working knowledge of software development tools such as wikis, trouble ticketing systems, continuous testing/integration, and Git.
- Ability to apply the software lifecycle to projects.
- Ability to take initiative to learn new skills, current best practices, technologies and trends affecting software systems.
- Ability to write organized and comprehensive documentation on projects.
- Understanding of Object Oriented Programming.
- Ability to foster a professional culture through the use of strong interpersonal skills, verbal and written communications.
Required Education and Experience
- Software Engineer I - Bachelor’s degree or equivalent in Computer Science, Information Systems or related STEM field at time of hire.
- Software Engineer II - Bachelor’s degree or equivalent in Computer Science, Information Systems or related STEM field and three (3) years of experience in software development. OR a Master’s degree in Computer Science, Information Systems or related STEM field and one (1) year of experience in software development.
- Development experience with Java.
- Knowledge of relational database and ability to write queries.
- Experience doing Python development.
- Experience with Java and the use of Postgres or other relational databases.
- Ability to write complex queries.
Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Ability to sit and/or stand to work at a computer for extended periods of time.
- Ability to move about a typical office environment on a daily basis.
- Ability to lift and move up to 10 pounds occasionally.
- Infrequent travel by conventional means including aircraft, motor vehicle, etc.
- Ability to understand complex problems and to collaborate and explore alternative solutions.
- Ability to organize and prioritize work schedules for self and others.
- Ability to compute, analyze and interpret data.
- Ability to make decisions which have moderate impact on the function and UNAVCO.