We're sorry, but this job has been closed. See other open jobs at Urban Airship

Platform Engineer

San Francisco, CA | Engineering

Job Description

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.

Job Responsibilities

  • 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
Position Filled
Not the right job?
Describe your perfect job
Join our Talent Network »