Looking for a unique opportunity to show off your skills at a cool and exciting company? Digital Turbine is looking for an experienced Senior Java Developer to be part of our team in the Durham office, offering an opportunity to work on scalable distributed applications built using cutting edge technologies and services. This position requires a proven ability to understand and implement business requirements for new systems and enhancements to existing systems in an Agile/Scrum environment. Additionally, the candidate must exhibit the ability to analyze and debug new and existing software systems.
• Collaborate with cross-functional teams to conceptualize, build, test and ship software solutions that meet business and market needs.
• Maintain existing software systems.
• Push mobile technologies to the limits to help better our products and services.
• Work with geographically dispersed team members.
• Implement scalable and cost-effective software systems that meet business requirements.
• Develop high quality software using industry standard best practices including unit testing, code reviews and continuous integration
• Please note, if you are remote you must be able to travel to Durham, NC or Austin, TX once a quarter in addition to any required new hire training
Minimum Job Requirements
• BS or MS in Computer Science or equivalent work experience.
• 7+ years of software development experience preferably with a JVM based language (Java, Scala, Clojure).
• Experience developing commercial, enterprise scale software
• Experience working with Git, Subversion or other SCM tools.
• Experience working with remote data via REST and JSON.
• Experience developing cloud based software (AWS, Azure, GCP)
• Strong understanding of query languages and tradeoffs between relational and non-relational systems.
• Working knowledge of key data structures and algorithms (indexing, hash tables, joins, aggregation).
• Solid understanding of software development best practices and methodologies.
• Experience working in a team-oriented, collaborative environment.
• Excellent communication and collaborative problem-solving skills.
• Can lead by example & motivate fellow developers to meet challenging goals.
• Experience with distributed data handling and storage technologies like Hadoop, Apache Kafka, Confluent, Apache Flume, Amazon S3, Avro.
• Experience with data stream processing frameworks like Apache Storm, Apache Samza or Apache Spark.
• Experience with Kubernetes.
• Exposure to infrastructure management technologies like Puppet or Chef utilized in a cloud-based environment like AWS.
• Previous experience working in the mobile industry.
• Experience with test coverage and testing automation
• Knowledge and applicable experience with agile methodologies such as SCRUM.
• Working knowledge of Scala or Clojure.
• Experience with functional programming
• Experience with container platforms such as Docker
• Experience with behavior or keyword driven automation testing frameworks such as Cucumber or Robot Framework.
• Good time management skills and structured work methodology.
• Experience with NoSQL datastores such as ElasticSearch, Aerospike, Redis, Cassandra.
• Java EE Application Server experience (Tomcat, JBoss, GlassFish).
• Experience with build tools like Maven, SBT or Gradle.
Valid Through: 2019-11-11