- Demonstrated hands-on experience in architecture, design and development of scalable, highly available, distributed applications using J2EE
- Good hands-on experience in installing, configuring projects on Spring, Hibernate, and integrating the same with UI frameworks like GWT, Vadin, etc.
- Good hands-on experience in installing, configuration of servers (JBoss, MySQL, Oracle)
- Advanced java skills (multi-threading, efficient usage of memory(garbage collection, lazy loading patterns))
- Experience in developing webservices (REST, SOAP) and working with XML and JSON formats
- Expert experience in database design, data modeling, DDL and DML for backend development on MySQL and Oracle databases.
- Unit Testing frameworks (JUnit), code quality plug-ins (Findbugs, Checkstyle) and build and deployment tools (Ant/Maven)
- Experience in design tools like UML.
- Demonstrated experience with application performance optimization and driving performance efficiencies.
- Extensive experience in Code version control systems and continuous integration systems.
- Knowledge of NoSQL databases and mobile development will be an advantage
- Experience in retail domain would be an added advantage.
- Java certification would be an added advantage.
- Soft skills: Good communication, analytical and presentation skills, problem solving and learning attitude
Desired Profile Mandatory Skills:- Java, JSP, GWT, Spring, Hibernate, Oracle, MySQL, UML
Roles and Responsibilities:
6-8 years of solid software development experience including leading development teams of 10-15 members is essential.
Serves as technical expert for the team providing technical guidance and mentoring to junior members of the team.
Ability to challenge and review complex technical designs and recommend improvements
Guardian for the components owned. Design components to meet the customer requirements: functional and non-functional.
Write code for complex requirements. Writes re-usable quality code and be responsible for the quality of the solution. Strives for deep understanding of the technologies being used.
Translates the impact of design on non-functional requirements like scalability, performance, availability and security into the product. Manages dependencies across other products/modules.
Troubleshoot technical issues on product.
Identifies problem areas within component/product and actively works to fix them.
Must have a go getter attitude and result oriented approach.
Creating high level and low level design documents including DFD, flowcharts, ER diagrams and various technical specifications.
Conducting code reviews and debugging of complex programs.
Optimizing solutions for performance and accuracy.