SOftware Engineer - Scala/Spark
Location: Remote
Overview
Our Philadelphia-based client, Azavea uses geo-data to build civic software for the web and is growing. They are growing their GeoTrellis team, which develops an open source software framework, GeoTrellis, a low latency geospatial data processing framework based on Scala and Spark. This company is open to a remote hire for this position.
Azavea is a B Corporation committed to working on projects that have social and civic impact and advancing the state-of-the-art through research. Customers are local governments, non-profit organizations and academic or federal research projects. They build custom apps; perform geospatial analysis; manage several open source civic software projects (DistrictBuilder, OpenTreeMap, and others); and develop an open source, high performance computing framework, GeoTrellis, that enables them to build fast analytical applications by distributing the geospatial data processing. Developers work across the technology stack from database and application servers to modern, browser-based front-ends.
The GeoTrellis team develops an open source software development framework that supports low latency, distributed processing of raster geospatial data. The software is based on Scala, Spark, HDFS and Accumulo, and it is used in many types of web applications, including public transit travel-sheds, watershed modeling, processing satellite imagery and digital humanities research. They are about to release version 0.10, recently submitted to the Eclipse Foundation’s LocationTech working group, have completed the integration of Spark, and have many more plans for extending the framework over the next few years.
You are …
… a software engineer who enjoys being constantly challenged to solve tough problems using the best tools available. You want to write open source software in an open source environment. You challenge the status quo of software development by keeping up to speed with cutting edge techniques and technologies. You understand or are eager to learn how functional programming is a great way to write beautiful code.
What You’ll Do
- Implement new features, algorithms, data processing operations, benchmarks and tests for a large Scala-based software framework.
- Build scalable back-end software where performance is critical.
- 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.
- Support the development of an open source community around the GeoTrellis project.
- Contribute to both a growing company and to the open source communities that support our work.
You should
- Be excited about code, be interested in reading about code, and go to conferences about code.
- Want to constantly learn in order to help a bleeding edge open source project stay on that edge.
- Demonstrate fluency with at least one functional programming language such as Scala, Clojure or Haskell.
- Interested in working with a small, collaborative team on meaningful projects.
- Get excited about contributing to a large, complex open source project.
You get extra points for
- Experience with Spark, Akka, or other Scala-based distributed processing frameworks.
- Having worked with distributed data processing frameworks, like Hadoop, Amazon MR, etc.
- Demonstrating your open source or other community service contributions.
- Strong background in algorithm development where performance is critical.
They are primarily looking for people with a strong interest in algorithms, functional programming and distributed computing. You might have had these kinds of experiences without a college degree, or just out of school but worked your way through school and had some great co-op experiences.
Office and Benefits
The Philadelphia office is located in a brightly lit office on the 4th 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, they have in-house bike parking, a shower and lockers. It’s an open office plan with several smaller rooms for team meetings, private space and concentration time. You get a top-end Linux workstation, Mac or Windows laptop with a pile of memory for VMs and extra monitors. They have flex-time to deal with personal stuff, and most employees work a 40 – 45 hour week on a regular schedule. After the first six months, developers can also spend up to 10% of their time on a geospatial open source, professional development, or R&D project.
They offer a salary commensurate with skills and experience and a benefits package that includes:
- Fully subsidized health care, dental, prescription plan, including for spouse/partner and children
- 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
- 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
Azavea welcomes qualified candidates from all walks of life and value diversity in our company, and prohibit discrimination based on race, color, religion, ancestry, national origin, sex, sexual orientation, gender identity, age, veteran status, military service, disability unrelated to job requirements, marital status, or domestic partner status.