Development of new and existing Java based applications from conceptualization to launch, using cutting-edge techniques, tools, and utilities;
Partner with cross-functional teams to define new product requirements, features, and functionality
Conceive, review and contribute to technical solutions and architectural decisions and feature specifications, both from a functional and technical standpoint
Provide post-development maintenance for applications: defects and incidents solving.
4+ years hands-on Java development experience.
Use of frameworks and knowledge of MVC design patterns highly desirable.
Expert database knowledge and experience of working with stored procedures and products including
MySQL and Oracle.
Experience of working with NoSQL solutions such as MongoDB and Cassandra.
Solid understanding of data models and data access architecture and optimization.
Strong understanding of multi-tier web architectures, and OO design patterns and concepts.
Strong understanding of server side software, scalability, performance, and reliability.
A sound understanding of HTTP and REST-style web services is required.
Must demonstrate solid organization/communication skills.
Experience with code management systems such as Git, SVN or CVS.
Experience with configuration and build management and deployment using tools such as Puppet/ Heroku/Docker, Ant/Maven/STB, Hudson/Jenkins
Solid knowledge in continuous integration and deployment.
Basic knowledge of Linux and Windows systems administration.
Basic knowledge of networking
Experience with agile software development tools