Software Engineer (Associate Technology Specialist/Technology Specialist) - EI
Richmond, CA, United States
Position Description
Software Engineering at SFEI is looking for an accomplished developer with strong skills and even stronger curiosity to join our team. An ideal candidate will have experience with both front and
back-end development and a general interest in technical innovation and the natural environment. Many of our projects are web-based applications and most include interactive web maps, so GIS knowledge or experience is a plus. We primarily use Postgres (with postGIS) as our relational database, particularly for our geospatial applications. Comfort with relational databases, knowledge of best practices, and the advanced use of views, stored procedures, and functions to streamline coding is highly desirable. SFEI is unique in that we create many applications (some long term) to support science-based decisionmaking. Projects may range from custom CMS templates to complex geospatial analysis. Therefore, an ideal candidate will be flexible and prepared to work on a variety of projects, some with very different technical requirements or needs.
The candidate should also have a proven track record of delivering complex projects on time and on budget, good documentation and communication skills, and the ability to collaborate with a team. Permanent remote status will be considered for the right candidate.
Primary position responsibilities will include:
Code complex (primarily web-based) applications using JavaScript and Python
Database development (views, functions, etc) including some database design decision making
Collaborate with other Software Engineers regarding coding standards, innovative approaches, code documentation, and key coding decisions
Work closely with our scientific and management staff and stakeholders to design tools that support a broad range of data and decision making needs
If you are excited about this role, but your past experience doesn’t align perfectly with every qualification in the job description, we encourage you to apply anyway. You may be just the right candidate for this or one of our other roles.
Qualifications
Required Experience
Total of 6 years progressively responsible technology experience and/or Bachelor’s Degree plus 6 additional technology courses or Master's Degree or equivalent
Required Skills
Professional experience developing complex applications and user interfaces for multi-browser environments
Comfort working in Windows and Linux environments, including command-line
Fluency with relational databases and SQL programming; in particular PostgreSQL & SQL server
Familiarity with RDBMS features: database views, materialized views, functions, indices, and use of foreign tables
Fluency in API development
Strong scripting skills and familiarity with extract, transform, load (ETL) practices
Fluency in JavaScript, HTML, CSS, Python
Experience with a frontend JavaScript library such as React or Vue.js
Experience with software development testing and debugging tools and processes
Experience with git for source control
Experience with bug tracking and issue management tools (e.g., JIRA, Mantis, Trac)
Enjoys working in a collaborative team setting
Ability to work independently and follow through with tasks under general guidance from supervising staff
Exceptional attention to detail and problem-solving skills
Ability to work within time and budget constraints on multiple projects
Ability to write clean, maintainable code
Effective written and verbal communication skills — ability to communicate technical information to non-technical clients
Preferred Skills
Experience with PostGIS
Experience with web mapping libraries (e.g., Openlayers, Leaflet) and services (e.g., Mapserver, Geoserver)
Experience with R, Java, or C++ Experience with GIS tool development (ArcGIS, ArcPy, GDAL)
Experience with custom CMS development (e.g., Drupal, Django, Wordpress)
Familiarity with object-oriented programming concepts and design patterns
Experience with spatial statistics or geostatistical analysis
Knowledge of subjects relating to environmental science (e.g., biology, geology, and aquatic ecology)
Project management experience such as budget, workflow, or deliverable tracking