Job Description :
Senior Software Engineer
Cary NC

Position Summary:
A Senior Software Engineer will develop, maintain and support new or existing software products while evangelizing and applying the best practices of software development. Responsibilities include the ability to work independently and as part of the leadership group of a larger team to deliver quality solutions across all phases and layers of the software lifecycle
Meet or exceed test coverage goals set for the project through creation of unit and functional tests
Minimize the number of production escapes
Support user acceptance testing
Support or conduct system testing, performance, volume, and stress testing
Usability/User Experience:
Collaborate with business and UX team to create appropriate application User interfaces
Assist with mock-up''s, user interface design
Incorporate UX components into application
Provide feedback to UX team
Product Reliability & Response:
Ensure system can meet or exceed defined SLA''s
When primary on-call respond to pages within 15min, and resolve or escalate issue as necessary
Resolve production issues and communicate resolution to appropriate stakeholders
Complete stories within estimates and with quality to ensure release dates are met
Conduct necessary analysis, design and prepare technical documentation
Estimate story sizes and task out development for a given story
Follow the client development process and suggest improvements
Work with infrastructure services to make configuration changes and deploy applications
Leadership (Technical):
Evangelize client common practices and development procedures
Exhibit technical leadership in given technical subject domain
Identify new technologies and approaches that may improve our quality, productivity, and capabilities
Mentor peers and junior developers
Delegate, and coordinate functional development tasks as needed
Drive innovation in the development, release and operations processes

Minimum Requirements:
Works under deadlines and subject to heavy project load
Ability to provide technical expertise to others and explain concepts with technical staff
Ability to operate independent of supervision with extreme accuracy and attention to detail.
Experience in defining requirements, designing and illustrating process flows, and training users.
Ability to communicate and follow up professionally (written and oral) both internally and externally within the organization – including documentation of application requirements
Demonstrated ability to identify and resolve issues effectively
Ability to mentor others
7 years of Java/J2EE Web Development Experience.
Comfortable with front-end, middle tier and backend technologies.
Expertise in front-end technologies like Struts, Spring MVC or equivalent, hands on experience in these technologies a must in last 2 years.
Expertise in Spring and hibernate or equivalent ORM, hands on experience in these technologies a must in last 2 years.
Web Service SOAP/REST expertise, especially as a service provider.
MDB/MDP/Broker/Service Bus MQ technologies development experience in last 2-3 years is a plus. If the candidate is just familiar with MQ or has minimal experience, needs to be really strong in specific front-end, backend technologies of Struts/Spring/hibernate.
Expertise using Tomcat/Web Sphere servers
Experience with Agile software development methodology
Strong understanding of deployment processes, deployment environments, production application trouble shooting techniques etc. too.