Bachelors degree in Computer Science or Information Systems or equivalent practical experience. Masters or PhD a plus.
5 years of system development experience using a variety of the following technologies:
Web Development: HTML5, CSS3, JavaScript, JSON, XML
J2EE Technologies: JSP / Servlets, EJB3, JMS, JDBC, JMX, JMS
Web Services: SOA, XML, XSL, SOAP, REST, Spring MVC, Spring Boot
Application Development: Ruby or Python
Application Design: Model-View-Controller (MVC), Object Oriented, RESTful services / APIs
Data-Layer Development: MySQL, NoSQL (Redis, Elasticache), ORM
Expertise in at least one of the following languages: Java, Ruby, Python, and/or any functional language
Solid understanding of the full web technology stack (e.g. HTTP, cookies, headers, caching, asset pipelines)
Solid understanding of Application Program Interfaces (APIs), Messaging Software and Interoperability Techniques and Standards
Proven track record in developing high quality, performant, and maintainable applications
Experience with gathering and documenting technical requirements and specifications
Experience using different development methodologies including Scrum, and/or Agile, and test-driven development
Disciplined approach to software engineering best practices (e.g. unit testing, code reviews, design documentation, quality assurance)
Preferred Qualifications
4 years of experience designing and implementing software systems in Java, C, C++, Python, and/or Ruby, including experience designing security solutions for web applications and services.
Masters or PhD is a plus
Significant experience in web applications
A history of open-source contribution
Frameworks: Spring, Struts, Wicket, Ruby on Rails, Django, AngularJS
Key Skills: