BS/MS degree in Computer Science, Engineering or a related subject
At least 5 years of professional experience in Java based application development
Skills and Knowledge:
Must have passion for development and latest technologies
Leadership and ability to guide design and technical meetings
Excellent understanding of object-oriented design concepts and software development processes and methods.
Expertise in application, data and infrastructure architecture disciplines
Advanced knowledge of architecture, design and business processes
Superior organization skills, skilled at recognizing priorities and keeping a team focused on most important features
Demonstrated ability to work independently with minimal supervision.
Ability to troubleshoot and maintain mid-level to complex applications.
Technical Experience:
Mandatory skills – the person must be STRONG in each discipline and will have to explain in detail
Java, J2EE Framework, RESTful web services pattern, Spring Framework, JavaScript frameworks (JQuery, AngularJS, and EmberJS), SQL and NoSQL databases (preferably MongoDB, MSSQL and/or Postgres), RabbitMQ/SQS, Solr/Lucene/Elastic Search, Tomcat, SVN, GIT, Test-Driven Development
Experience in cloud and serverless technology (preferably AWS) would be a major plus point
Proficient experience working with Maven, Jenkins, Chef, CodeDeploy, Bamboo, Octopus or any CI/CD tools and deep understand of continuous integration/continuous delivery. Willing and able to work with DevOps team and contribute to CI/CD
Experience working in an Agile development process
Job Description:
Lead new and existing applications along with enhancements, services, and infrastructure
Perform hands-on coding while designing and architecting web application/content/search solutions
Serve as a liaison between the local and onsite team
Provides technical guidance to junior programmers and other software engineers