Urban Airship is the leading provider of messaging technology and usage data for smartphones, tablets, PCs and other connected devices. Our solutions simplify all aspects of notification/alert delivery and mobile campaign management across multiple platforms in a scalable and reliable way. Urban Airship's data solutions provide a unique perspective on user reaction, both direct and indirect, campaign-level and long-term, to our customers' messaging strategies. In addition to our core messaging and data services, we provide location targeting and digital wallet solutions as well as strategic and integration services.
Are you a network programmer in Java or C++ or other language? You could be working on scaling our distributed messaging system where high throughput and low latency are critical. The Platform Team is a dynamic and fast-growing team responsible for our API and distributed systems. You should be a highly motivated engineer who is looking for an opportunity to contribute and maintain Urban Airship's massively scalable services. Ideally, the software business is much more than a job for you, it’s your hobby and passion.
- Work to solve challenging problems around distributed systems in order to support 100s of millions of devices
- Design and improve RESTful APIs that will be used by thousands of developers to serve over a billion requests a day
- Maintain and evolve a point of view and a collaborative approach in order to facilitate constant/ongoing improvements
- Utilize expertise in troubleshooting to fine tune Java performance
- Write comprehensive test cases and automation scripts
- Express ease working in a fast-paced environment to ensure continuous delivery
- Partner with teammates to build and maintain fault tolerant, scalable distributed software systems in order to help grow UA in its next phase of success
Experience and Skills
- BS in Computer Science or equivalent experience
- 1+ year of software development of large distributed production systems
- Good understanding of low-level network programming in Java or C++
- Experience with software engineering best practices: unit testing, code reviews, documentation, etc.
- Solid fundamentals with Linux
- Experience with Git workflows
- Willingness to work as part of a team and achieving shared commitments
- Ability to articulate ideas to non-technical audience
- Experience with Netty, Cassandra, HBase is a plus