Senior Software Developer
AirSage Inc., has been in the business of processing Big Data since before the term was widely understood. We’ve always had to contend with billions of daily records and we have evolved from custom filesystem based queuing systems and manually partitioned compute clusters to using the current state of the art Big Data workhorses. Our latest systems have been built on Kafka, Cassandra, Accumulo and Spark on Yarn. We are moving to a hybrid infrastructure model with web APIs and customer portals on the cloud while keeping the core of our compute capacity on premises. We are seeking a Senior Software Developer to help expand and enhance the company's unique product offering using up to date Big Data technologies.
The Senior Software Developer is expected to have an active role in all stages of our application life cycle; from initial discussions regarding matching of capabilities and new business cases, through initial implementation, testing and validation to deployment and maintenance. The role requires working collaboratively across other functional areas outside of Software Development: IT, Data Services, and Operations. This position reports to the Director of Research and Development.
Essential duties and responsibilities:
- Responsible for participating and/or taking the lead in the timely estimation, planning, development, implementation, testing, documentation, deployment and maintenance of all software systems in use within AirSage.
- Responsible for participating and/or taking the lead in the selection of new technologies, frameworks and software infrastructure.
- Responsible for collaboratively setting up and structuring new repositories as well as restructuring and maintaining existing ones.
- Responsible for maintaining and extending existing autobuild servers.
- Responsible for communicating and collaborating with members of the IT, Ops and Data Services teams in order to achieve the proper design and deployment of new software systems within AirSage.
- Responsible for helping in the setup of development servers as well and troubleshooting issues on production servers.
- At least 8 years of experience developing applications deployed to production.
- At least two years of experience developing Spark on Yarn applications using Scala for production. Candidates with equivalent experience using Java will be considered.
- General understanding of the Hadoop ecosystem is required. This includes at least Zookeeper, HDFS, Yarn, Oozie and Hue.
- At least two years of experience using distributed key/value stores; specifically Accumulo and Cassandra but experience with others, like HBase, will be considered
- At least three years of experience developing in Python: Web services, command line utilities and database applications.
- At least one year experience working with geospatial data and familiarity with geo-hashing and standard open source geospatial libraries; specifically JTS, Proj4J, gdal but experience with others will be considered.
- Experience setting up autobuilds using Jenkins
- Experience with git and understanding of multiple branching models (git flow in particular)
- Very comfortable with the Linux command line and utilities; the ability to create launcher scripts will be highly valued; candidates who are very familiar with RedHat based Linux distributions and who are able to set up development servers and troubleshoot deployment issues will be preferred.
- Exposed to deployment tools like Puppet, Chef or Ansible in production. Puppet is preferred but not required.
Other highly valued skills:
- Experience with PostgreSQL and PostGIS
- Experience setting up nginx as a web service/app proxy balancer and the use of uwsgi to deploy apps to it.
- Exposure to supervisord in production.
- Experience with serialization technologies, specifically ProtoBuffers.
- Exposure to AWS services in production; specifically ApiGateway, Dynamo, SNS, SQS, Lambda.
- Exposure to Terraform in production.
- Experience developing application for deployment in an environment using Kerberos.
- Master’s Degree in Computer Science or related field or equivalent (Bachelors + 5 years of experience).
Qualified candidates should respond to this Job Posting by submitting their resume, including their salary history and references. Please do not apply if you are not comfortable working in a fast-paced, entrepreneurial environment. Please, No head-hunters or agencies.
Our Company is an equal opportunity organization. We recruit, employ, train, compensate, and promote without regard to race, religion, creed, color, national origin, age, gender, sexual orientation, marital status, disability, veteran status, or any other basis protected by applicable federal, state or local law.