Software Engineer - Raster Foundry Team

  • Azavea
  • Remote (Philadelphia, PA, USA)
  • Aug 30, 2021
Full-time AWS Azure CSS HTML Javascript MySQL Programming React Scala

Job Description

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. Find out more about careers at careers.azavea.com.

We are looking for a Software Engineer anywhere between the Engineer II or III levels (mid-level) or Senior Software Engineer (high-level), who is passionate about building and leading teams and developing applications that will have a positive impact and has experience leveraging open-source tools to design large scale data processing pipelines in the cloud.

  • 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.
  • At the Senior Software Engineer level, an individual will demonstrate the ability to consistently assemble solutions to ambiguous problems and debug the most complex issues, lead a team and operate at a level that maximizes the effectiveness of others around them, and actively provide support to a variety of different initiatives such as recruiting at hiring events, presenting in sales meetings, and navigating client complexities.

Ideal candidates have experience or interest in leading an engineering team, a strong familiarity with a number of big data technologies and service-based architectures, a working understanding of the geospatial domain, and an interest in working on complex engineering projects. 

We are interested in hiring someone either located in the Philadelphia metro region to work from our office or located remotely with the ability to work during East Coast business hours. Compensation aligns with the Philadelphia metro region. We’re excited about what we do, we’re growing, and we hope you will join us.

Skills & Requirements

As a Software Engineer on the Raster Foundry team, you’ll be working alongside other engineers, project managers, and user experience designers to develop custom web software for our clients as well as development on our geospatial annotation tool, Groundwork (groundwork.azavea.com), which is powered by Raster Foundry (github.com/raster-foundry/raster-foundry). 

Our applications are mostly written in TypeScript and Scala, but we use many other technologies from time to time. Almost all of our work revolves around maps and geospatial data. 

What you will do:

  • Build scalable APIs and web applications based on visual designs.
  • Model relational data and develop data processing pipelines.
  • Implement new features and functionality for GroundWork.
  • 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 proposal writing processes at Azavea by scoping deliverables, providing accurate task estimation, and execution timeline.
  • Contribute to both a growing company and to the open-source communities that support our work.
  • Collaborate with engineers across teams to advance or refine the use of new technologies beneficial to development work.
  • Support Azavea’s diversity, equity, and inclusion objectives through training and learning sessions, team discussions, volunteer opportunities, or other projects.
  • At the Senior Software Engineer level, manage a team of developers, provide constructive feedback and career development support.
  • At the Senior Software Engineer level, lead technical decisions and execution in software services projects.
  • At the Senior Software Engineer level, lead technical requirements discovery during business development conversations with potential clients.

You should:

  • Demonstrate fluency with at least one programming language.
  • Demonstrate proficiency with core web technologies (HTML/CSS/JS) and a modern web frontend framework like React, Vue, or Angular.
  • Have experience with Amazon Web Services, Azure, or another cloud-based architecture.
  • Firm understanding of service-based architecture and distributed systems.
  • Be familiar with using and querying relational databases like PostgreSQL or MySQL.
  • Have a growth mindset and be excited to learn new technologies and skills.
  • Have excellent communication skills, both verbal and written.
  • Be interested in working with or leading small teams on meaningful projects.

Additional experience we find valuable (but not required):

  • Demonstrate fluency with at least one functional programming language such as Scala, Clojure, or Haskell.
  • Familiarity with open source or commercial GIS software like Leaflet, Mapbox GL JS, PostGIS, or ArcGIS Server.
  • Experience with a GitHub-based workflow that includes pull requests and code reviews.
  • Delivering and operating applications using cloud platforms like AWS, GCP or Heroku.
  • Working with virtualization technology or containers.
  • Making technical decisions and owning outcomes.

You’ll notice that we don’t cite N years of experience or a Computer Science degree as requirements. Formal credentials like these are valuable, but we are primarily looking for people who have gained experience successfully building web applications that have seen real-world use. If you think this description fits you, even if your experience doesn't match up perfectly with the technologies we've listed, we encourage you to apply. We do not use automated resume screening technology, and our employees review all applications that we receive.

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 starting salaries for Software Engineer II and III range from $80,000-$108,000. If hired as a Senior Software Engineer, we anticipate a salary in the $108,000-$120,000 range. Our benefits package includes:

  • Fully subsidized health care, dental care, 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 additional paid 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 guest lectures with lunches on the company
  • 10% time for research or learning 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.