Backend Software Engineer
No Visa Sponsorship is available for this position.
About the Cornell Lab of Ornithology
The Cornell Lab of Ornithology is a globally recognized leader in technology, data management, and large-scale citizen science supporting birds and biodiversity conservation. We curate more than a petabyte of digital assets, one billion bird sightings, and leverage innovative big data analysis tools and machine learning to produce web applications and services to empower a global community of bird and nature enthusiasts, researchers, conservationists, and educators. We rely on a team of high-performance engineers to help navigate intriguing technical challenges to provide data-driven services, learning platforms, and science communications supporting biodiversity and conservation communities in all corners of the globe. This role will develop technical infrastructure and services that support numerous user-facing applications, including eBird, Merlin, Macaulay Library, and Birds of the World.
Responsibilities
While position responsibilities vary, every member of our community is expected to foster a culture of belonging and a psychologically healthy work environment by communicating across differences; being cooperative, collaborative, open, and welcoming; showing respect, compassion, and empathy; engaging and supporting others regardless of background or perspective; speaking up when others are being excluded or treated inappropriately; and supporting work/life integration of oneself and others.
- Design, develop, and maintain complex web-based applications and related services for the Merlin team based in the Macaulay Library at the Cornell Lab of Ornithology (CLO), external customers, and funding agencies.
- Participate actively in the design and evolution of CLO technical infrastructure and hosting platforms, including the transition to more scalable, agile, cloud-based systems.
- Serve as a technical liaison supporting coordination and integration of application infrastructure to meet CLO strategic objectives.
- Develop web-based systems, APIs, and database applications utilizing Java, Spring, JavaScript, enterprise GIS systems, and SQL with a Postgres backend.
- Stay current on software development and web application best practices and processes.
Requirements
- Bachelor’s degree in computer science or related field or equivalent combination of education and experience.
- Three (3)+ years of relevant experience working on substantial computer software projects and collaborating with a team of engineers.
- Three (3)+ years of object-oriented programming and modern web application development techniques building and integrating APIs, web services, and frontend user interfaces.
- Three (3)+ years of experience with Java, Spring, and SQL.
- Experience with web frameworks such as React, Vue.js, Angular, Next.js, or Nuxt.
- Experience with relational database table design and with writing and optimizing complex queries.
- Experience with containerization using Kubernetes or Docker.
- Experience with cloud infrastructure platforms and services from major vendors such as AWS (preferred) or Azure.
- Experience with continuous integration, deployment, and automation technology such as Jenkins.
- Experience running services on Linux.
- Experience with version control systems (e.g. Git) and modern development workflows (e.g. Agile, Scrum).
- Experience with project management tools such as Jira.
- Proven experience documenting and testing code.
- Strong problem-solving and critical thinking skills, and excellent written and oral communication skills.
- Ability to establish realistic goals and deliver work on schedule, handle multiple concurrent tasks and priorities, and adapt to changing priorities, situations, and demands.
- High level of integrity and dependability with a strong sense of urgency and results-orientation, and an ability to exercise sound judgment in decision making and in accomplishing tasks that are urgent or of a sensitive or confidential nature.
- Ability to work both independently and collaboratively, and to build working relationships to solve problems and achieve common goals in a multidisciplinary environment.
- Experience in and/or demonstrated commitment to supporting diversity, equity, access, inclusion, and wellbeing.
Preferred Qualifications
- Advanced degree in computer science or related field.
- Familiarity with the Linux command-line and experience with shell scripting.
- Experience with highly available, high volume transactional web applications.
- Experience managing large volumes of data for replication, warehousing, and archival storage.
- Prior use and understanding of eBird, Merlin, Macaulay Library or other Cornell Lab tools and resources.
- Interest in birds, nature, conservation, and/or natural science.
- Experience with GIS data and server software such as GeoServer.