Senior Java Developer
Valtech is looking for an experienced Senior Developer who is an active participant involved in the day to day activities of an Agile project delivery team. This role brings extensive and practical experience with the techniques and approaches required in delivering Agile projects using Java. Sr. Developers are expected to be able to rapidly establish delivery of working software and have a solid understanding of the disciplines required to deliver within an Agile environment. Sr. Developers interact with Valtech clients to mentor, consult, and assist them in making appropriate technology and process decisions.
* Design, develop, test, and maintain architecturally sound, modular, component-driven software applications to meet defined acceptance criteria.
* Provide direction to and mentoring for less experienced members of the team.
* Identify risks that might impact the success of the project and mitigate those risks through application of experience and knowledge.
* Maintain system and design documentation and prepare materials for project reviews.
* Support the implementation, UAT (User Acceptance Testing) and production release for the project.
* Act as a role model and advocate for best practices around test-driven development, agile software development, and customer-centric software.
Skills and Experience Requirements
* 10+ years of experience in software development using Java technology.
* Candidates must also have:
* Databases: Oracle (PostgreSQL is nice to have)
* SQL: basic CRUD, joins, groupby, having, where. Referential integrity and database tuning techniques.
* Data Layer - JDBC and/or JPA with Hibernate ORM. HQL or JPQL
* Build Tools - Maven
* Application Servers - Websphere AS 6.1+, Tomcat 5.5+
* IDE - Eclipse
* Unit Testing - Junit, TestNG, or similar. EasyMock, JMock, or Mockito.
* Version Control Systems - subversion
* Knows Scrum and has functioned on a scrum team before. Knows Relative Estimation and Story Based Development. Has participated in Iteration/Sprint Planning Meetings, Tasking Meetings, Scrums, and Retrospectives. CSM is a plus.
* SOAP/RESTful web services
* Services Layer - Spring (DI, ORM, Quartz, TX)
* Web Layer - Spring web-mvc, Struts 1.x
* Jasper Reports (iReport experience is a plus)
* Candidates should have a skill set that includes the following.
* Extensive understanding of database design and SQL is required.
* Strong working knowledge of design patterns, object oriented analysis, design, and programming. N-Tier and/or distributed applications experience. Has SOLID or GRASP on their resume is a big plus here.
* Must have experience with Agile software development best practices, including test-driven development, continuous integration, Agile Design, pair programming, eXtreme Programming (XP).
* Must have excellent oral and written communication skills
* Excellent analytical skills and discernment. High ability to problem-solve.
* Initiative and 'Can Do' Attitude Required. Self-motivated and self-managed.
* Desire to be on a cross functional team filling different roles if required. Able to function in a dynamic environment.
* Candidate must be a proven team player with strong interpersonal skills possessing a demonstrated ability to handle multiple projects with varying priorities
* Able to perform code reviews to ensure high quality and maintainable code.
* Must be able to communicate effectively with the customer to clarify requirements
* Interact with external teams at the client location for coordinating and resolving architectural and infrastructural roadblocks
* Desired Additional Skills
* Has working knowledge of airline domain
* Experience with Rally or similar agile planning tool
* Continuous Integration Servers - Hudson, Jenkins, Team City, CruiseControl, or other similar CI server
* Automated Testing - SoapUI, Jmeter, Grinder, Sahi, Selenium, or other automated and scripted test environments
* OS - Windows and Linux
Valtech is a global digital agency focused on business transformation.