Azavea is looking for a Mid-level Software Engineer (Functional Programming)

Azavea Philadelphia, PA, USA (option for partial remote) Engineering
Full Time

Overview

Azavea is a civic technology firm based in Philadelphia that uses geospatial data to build software and data analytics for the web. As a B Corporation, our mission is to use advanced geospatial technology for positive civic, social, and environmental impact. Most of our work deals with local governments, non-profit organizations, and academic or federal research projects. We build custom web applications, perform geospatial analysis, and contribute to open-source projects. Our engineers work across the technology stack, from modern browser-based front-ends to robust service-based backends residing on scalable infrastructure.

 

Azavea is looking for a Software Engineer with experience in functional programming anywhere between the Engineer II or III levels (mid-level) to join our Geospatial Technology and Research Team (GTR). The GTR team leverages open source tools to to design large scale data processing pipelines in the cloud. We welcome qualified candidates from all walks of life and value diversity in our company. Even if you are not familiar with all of the technologies mentioned here, you will be supported in learning them as your interest and project work directs.

 

We are looking for a Software Engineer at the Engineer III level (mid-level) who is passionate about building applications that will have a positive impact.

  • At the Engineer II level, an individual will take on tasks of increasing complexity without sacrificing efficiency or quality, demonstrate understanding of how their work fits into the bigger picture, exhibit a growth mindset by being responsive to feedback, and will be capable of leading features or projects.
  • At the Engineer III level, an individual will demonstrate expert competency within their primary area of expertise; own large, cross-cutting features or entire projects with minimal oversight; build relationships with and consensus amongst various stakeholders; and clearly communicate complex technical concepts to a wide range of audiences.

 

Ideal candidates will have some familiarity with a number of cloud technologies and service based architectures, proficiency with functional programming, a working understanding of the geospatial domain, and experience working as part of a software engineering team. Although most of the GTR cohort are located near the Philadelphia area and we welcome nearby colleagues, this position can be fully remote and we are open to candidates from all areas. All remote colleagues are expected to be available for collaboration between the hours of 10 a.m. and 2 p.m. EST.

 

Skills & Requirements

Azavea has four software teams, all of which develop web software for processing and visualizing geospatial data. The teams differ in terms of the specific projects they develop and whether they maintain products in addition to professional services contracts. The Geospatial Technology and Research (GTR) team develops open source libraries and frameworks for the geospatial domain and employs them in a variety of client services projects. Many projects center around development and deployment of cloud-based infrastructure for processing and transforming global, geospatial, raster and vector datasets.

 

We develop the GeoTrellis open source software framework that enables low latency, distributed processing of geospatial data. The project is developed in Scala and relies on Apache Spark. It is used in many types of web applications, including processing satellite imagery, climate change, precision agriculture, public transit travel-sheds,and watershed modeling. GeoTrellis is a member of the Eclipse Foundation’s LocationTech working group.

 

Additionally, we lead Azavea and our clients in the application of machine learning on earth observation imagery through the development of the RasterVision open source framework. We routinely guide our clients through their first development and deployment of machine learning models specific to their business needs and data sources.

 

Azavea actively seeks to advance the state of the art in geospatial technology. Much of that effort is supported by Small Business Innovation Research and other federal grants. The GTR team plays a leading role in developing and executing Azavea’s research agenda.

What you’ll do:

  • Build scalable back-end software where performance is critical.
  • Implement new features, algorithms, data processing operations, benchmarks and tests in the context of both client services and research software projects.
  • Engage in multidisciplinary work that applies an agile process (scrum board, daily stand-ups and two-week iterations) to design, architecture, development, testing and deployment.
  • Contribute to both a growing company and to the open source communities that support our work.
  • Contribute to proposal writing processes at Azavea by scoping deliverables, providing accurate task estimation, and execution timeline.
  • Contribute to direction and features of open source projects maintained by Azavea like GeoTrellis, RasterVision, Franklin, etc.
  • Support the development of an open source community around Azavea projects.
  • Collaborate with engineers across teams to advance or refine the use of new technologies beneficial to development work.
  • Provide high quality code reviews that help colleagues learn and improve.
  • Help research new technologies, make thoughtful recommendations, and clearly communicate trade-offs of adoption.
  • Identify and proactively tackle technical debt in appropriate areas of your projects.
  • Proactively look for opportunities to share knowledge across the company and externally.
  • Support Azavea’s diversity, equity, and inclusion objectives through training and learning sessions, team discussions, volunteer opportunities, or other projects.

You should:

  • Have experience with Amazon Web Services, Azure or another cloud-based architecture.
  • Have a firm understanding of services based architecture and distributed systems.
  • Demonstrate the ability to define engineering features and tasks accurately.
  • Have a solid track record of executing high quality code on time into software that works as expected.
  • Desire to continually improve your engineering skills.
  • Demonstrate solid communication skills and the ability to work within a team environment.
  • Be able to adapt and learn in order to keep innovating on a cutting edge open source project.

Additional experience we find valuable (but not required):

  • Understanding of the geospatial domain.
  • Demonstrate proficiency with functional programming.
  • Experience with Spark or other Scala-based distributed processing frameworks.
  • Prior work with distributed data processing frameworks, like Hadoop, Storm, Flink, etc.
  • Demonstration of open source or other community service contributions.
  • Strong background in algorithm development where performance is critical.

 

A note on hiring during the COVID-19 pandemic

The majority of our colleagues have historically worked out of our Philadelphia office, but during the pandemic we transitioned the entire company to remote work. While many of our colleagues are continuing to work remotely for the time being, the office is now open and we can accommodate either in-person or remote interviews depending on the health and safety concerns of you and our team. We have made arrangements for remote onboarding, including shipping relevant materials and a laptop to your home. We are fortunate to have invested in meaningful work-from-home tools and processes over the years and have been able to continue providing a secure, flexible, and safe work environment for all of our colleagues. We ask for your patience as we adapt our hiring process as well, and are happy to answer any questions or concerns about the process.

 

Office and Benefits

Our Philadelphia headquarters is located in a brightly lit office on the 5th floor of a converted factory building in the Callowhill neighborhood, a short walk from Center City, the Reading Terminal Market, and SEPTA subway and regional rail stations. For bicyclists, we have in-house bike parking, showers, and lockers. The office itself is arranged as an open office plan with many smaller rooms for team meetings and concentration time. You get your own desk with a high-end Linux workstation or Apple laptop and extra monitors. We have flex-time to deal with personal stuff, and most people work a 40 – 45 hour week on a regular schedule. After the first six months, our staff can also spend up to 10% of their time on an open source, professional development, or R&D project. Recent 10% time projects include experiments with machine learning, React Native, and various forms of serverless processing with Amazon Lambda.

 

We offer a salary commensurate with skills and experience. Azavea’s salary for Software Engineers II ranges from $84,000 -$104,400 and for Software Engineer III ranges from $104,400-$124,800. Our benefits package includes:

 

• Fully subsidized health care, dental, prescription plan, including for spouse/partner and children

• Fully subsidized life and long term disability insurance, plus voluntary short term disability insurance

• Medical reimbursement plan to cover what the health insurance does not

• Retirement plan with matching percentage

• Almost 4 weeks paid vacation plus sick/personal time off

• Family and medical leave

• Flexible work schedule

• Paid maternity and paternity leave

• Child care subsidy

• Paid time off for voting and volunteering

• Education assistance plan

• Student loan assistance

• Public transit and biking reimbursement plans

• Monthly lunches on the house

• 10% time for Research or Training Projects

• Profit-sharing bonus plan

• Financial transparency through an open book policy

• Kind, capable, and thoughtful colleagues

 

We welcome qualified candidates from all walks of life and value diversity in our company. We prohibit discrimination based on race, color, religion, ancestry, national origin, sex, sexual orientation, gender identity or expression, age, veteran status, military service, disability unrelated to job requirements, marital status, or domestic partner status.