The role is of a hands-on UI developer (individual contributor) who is motivated to combine the art of design with the art of programming thereby actively contribute to the development of new features. The role is expected to make a difference to the product in terms of the design and and contribute towards identifying technical risks and alternate solutions to various problems.
Responsible for ownership of multiple significant software modules.
Responsible for leading the integrity of technical work on significant concurrent projects.
Plans, participates and performs the technical work of an assignment.
Provides guidance regarding design activity to other programmers on technical aspects relating to the project.
Leads the implementation, automated unit and integration testing, debugging and integration of code of extreme complexity across multiple concurrent projects.
Proactively looks for ways and patterns to continuously automate feature testing with measurable and tangible goals
Actively participate in various scrum ceremonies such as Story grooming, sprint planning sessions etc.
Establishes and maintains thorough and accurate documentation of all work.
BE/BTech or equivalent in computer science, electrical/electronics engineering, or related field is required, with a minimum of 4+ years of directly related work experience.
Skills, Knowledge and Experience
Extensive expertise in Java. Expertise in OOAD principles and methodologies (e.g. UML).
Web Service design experience: SOAP Request/Response handling, authentication, REST APIs
Experience with databases, persistence frameworks, and SQL
Extensive knowledge and discipline in software engineering process and data structures.
Expertise in Configuration Management tools and concepts required
Experience with Agile development methodologies (Scrum/XP)
Having a wide range of experience and understanding of trends and technologies uses technical knowledge to resolve complex issues in creative and effective ways.
Proficiency with Internet technologies (e.g. HTML, XML, TCP/IP) a plus.
Proven expertise in Networking technologies and multi-threaded programming.
Designing large-scale, highly available distributed software
Experience with development on one or more mobile platforms a plus.
Expertise in Windows/Linux programming.
Exposure to design, development and automated testing of SaaS products.