· Strong customer orientation with ability to work directly with customer/product owner to define requirements and the associated acceptance criteria for user stories.
· Excellent software development skills, preferably in Python or Perl with Java, C/C++, Ruby acceptable as a substitute.
· Experience working in an Agile/Scrum development team with solid understand of the principles of continuous integration (CI), continuous deployment and test driven development (TDD).
· Excellent problem solving and troubleshooting skills with the ability to apply design patterns to common software problems and define dimensions of a solution including robustness, scale and maintainability.
· Strong communications skills both written and verbal are required for this role. The ability to present complex ideas in a convincing and understandable manner are a key requirement.
· Demonstrated ability to work in a team environment and as part of a cross-functional team with the ability to influence others as a senior technical contributor.
· Ability to mentor more junior software developers in best practice with demonstrated capability to maintain architectural vision and software quality during the implementation cycle.
· Knowledge of and previous development experience in a Linux or UNIX environment with a good understanding of networking concepts.
· 5+ years of industry experience in core product development, building production quality software.
· A solid grounding in Computer Science fundamentals, data structures, algorithms and deftness at object-oriented design and systems architecture: a bachelor's degree or higher in Computer Science (or equivalent) is required.