Understanding the code base for your components in depth.
Producing technical designs and documentation at varying levels of granularity
Collaborating with our quality assurance and technical operations teams to provide outstanding customer service
Participating in code reviews and helping the team to be effective and agile
BS in Computer Science, Computer Engineering or related technical field.
4+ years of relevant work experience, including extensive programming experience and strong object-oriented skills including Java server-side development.
Experience as part of a team doing state-of-the art, object-oriented software development including continuous integration, test-driven-development, automated unit and integration testing
Experience with versioning tools. GIT a plus.
Must demonstrate an understanding of software design patterns and the practical application of those patterns.
Experience with MySQL and Cassandra a plus.
Knowledge of major open source frameworks including Tomcat, Spring, and Zookeeper.
Experience with Agile development methodologies and practices.
UNIX/Linux background: facility with command-line utilities; familiarity with system administration tools and concepts.
Familiarity with distributed systems a plus.
Experience with various data interchange and representation formats such as JSON, XML, and Protobuf
Strong initiative: must be able to take high-level requirements, ask questions and get clarifications, decompose into deliverable software components, design and implement solution to meet functional, performance, and quality acceptance criteria.
Excellent communication: must be a good listener, willing to ask questions, and able to clearly communicate ideas with team members and external groups.