As a Technical Lead Java, you will work closely with Technical Leads, Architects, other Software Engineers, Business Analysts, and Quality Engineers amongst others in a highly collaborative environment. You ll be expected to write high quality, reusable and maintainable code, and write the test cases to validate its quality and performance. The ideal candidate must be able to thrive in an environment where change is constant. Our Lean development approach will necessitate close communication with others, requiring solid communication and interpersonal skills.
Technical Lead responsibilities include system analysis, design, testing, and coding; provide software solutions and designs, make development decisions, implement products, coordinate post-implementation events such as testing; provide software support including debugging and modifying software; be responsible for impact analysis and effort estimation for resolution of production issues; document the Requirement specification for the changes requested by the customer; support the implementation of changes, software release related activities, and post-release issues; provide guidance to junior developers and help them in developing modules and solutions; analyze user needs and software requirements to determine feasibility of design within time and cost constraints; store, retrieve, and manipulate data for analysis of system capabilities and requirements. Perform other duties as assigned.
Clear understanding of multi-tier (2-3) Web application architecture.
Design, implement, and unit test JEE/Java web application code.
Participate in the full SDLC (Agile), including iterative development, estimations and design sessions.
Deliver project assignments on time and with high quality.
Collaborate with Architects and other Software Engineering resources in designing and implementing integrated, enterprise solutions.
Perform software (and occasionally hardware) root cause analysis.
Provide expertise in the development and calibration of software.
Work with distributed teams across various time zones.
Work with other senior engineers, software architects and quality assurance engineers to resolve development roadblocks.
Work with the Technical Lead to create and own system design documentation following standard templates; take initiatives to periodically review and recommend improvements to the templates as needs arise and to keep all documentation up-to-date.
Act as subject matter expert (SME) in assigned business and technical domains with an excellent understanding of business and system processes, inter relationship/dependencies/interactions among system components and how things work end to end. Act as the go-to person on integration related questions.
Regular, dependable attendance & punctuality.
Bachelor s Degree in Computer Science/Engineering and 6 years experience or Master s Degree in Computer Science/Engineering and 3 years experience.
6+ years total experience as an engineer in a web environment doing development with Java/JEE.
5+ years of Java 5 or later knowledge.
5+ years Spring Dependency Injection and other core Spring features.
5+ years experience with Hibernate and ORM familiarity.
3+ years of performance testing, tuning and analysis experience, in the web development industry ideally in the retail space.
2+ Years of hands on experience using APM tools like (Wily, DynaTrace, Splunk).
An Object Oriented philosopher with experience understanding and applying OO design pattern.
Strong experience with Load Runner/JMeter/any other load generation tools.
Hand on experience with debugging, configuration and tuning of Application server, JVM, OS and databases.
Experience with UML modeling and effective communication for design reviews.
JBoss, JDG or Tomcat experience preferred.
Experience with highly scalable, high performance, 100% stable Java web applications.
Web experience in Retail or other high volume customer facing web applications a strong plus.
Excellent written and verbal communication skills.
Strong in estimating and planning skills and the ability to clearly write technical specifications.
Must be able to work independently with minimal supervision.
Passionate advocate of TDD practices a strong plus.
Ability and desire to thrive in a proactive, fast paced environment.
Ability to work a flexible schedule based on department and company needs.