The Senior Application Developer is involved throughout the entire project lifecycle (design through rollout) and should be well-versed in these processes. Strong communication and documentation skills are also required. This role is specifically focused on the distributed Java/J2EE application suite.
REQUIRED SKILLS
- Minimum of 7+ years experience in application development in the focus area of Java/J2EE development.
- 4+ years in data access technologies including SQL, stored procedures, and associated persistence technologies.
- 3+ years of experience in application security and authentication.
- Experience with complex multi-platform environments and infrastructure.
- Experience with full product lifecycle from scope to customer release.
- Experience with Windows environments including integration with various back-end systems (SQL databases, LDAP, Active Directory).
- Strong experience in Object Oriented Analysis, Design, Programming.
- Experience in complex application migrations from one software platform to another.
- XML, XSLT.
- Web Services - SOAP, UDDI, WSDL.
- Strong familiarity with leading IDE’s.
- Middleware technologies including messaging a plus.
- Experience in Software Design Patterns a plus.
- Familiarity with at least 2 major software development methodologies (Waterfall, RUP, Scrum, XP, etc) with recent experience on an Agile team highly preferred.
RESPONSIBILITES
- Responsible for development of assigned features on one or more projects.
- Assist in definition of schedule, activities and estimates for assigned projects.
- Assist in management of requirements for assigned features and activities.
- Creation and documentation of technical designs for assigned features and activities.
- Responsible for complete and thorough unit and integration testing of deliverables.
- Participate in creation and documentation of performance test cases for deliverables.
- Assist in creation and documentation of QA test plan/cases for deliverables.
- Delivery of high quality applications on time and within budget.
- Support and maintenance of existing applications and others as assigned.
- Contribute to definition of standards, guidelines and processes for software development.
- Mentor project resources where appropriate in project areas.
- Communication with peers and management.
- Positive contributor to team environment.
- Support of production systems.