Applies specialized knowledge to conceptualize, design, develop, unit-test, configure, and implement portions of new or enhanced (upgrades or conversions) business and technical software solutions through application of appropriate standard software development life cycle methodologies and processes. Interacts with the Client and project roles (e.g., Project Manager, Business Analyst, Data Engineer) as required, to gain an understanding of the business environment, technical context, and organizational strategic direction. Defines scope, plans, and deliverables for assigned components. Understands and uses appropriate tools to analyze, identify, and resolve business and or technical problems. Applies metrics to monitor performance and measure key project parameters. Prepares system documentation. Conforms to security and quality standards. Stays current on emerging tools, techniques, and technologies.
- Participates as a member of and leads development teams.
- Designs units for others.
- Completes development to implement complex components.
- Designs solutions for others to develop.
- Participates in cross-functional teams.
- Leads design activities May provide mentoring and guidance to developers.
- Designs, prepares and executes unit tests.
- Represents team to clients.
- Demonstrates technical leadership, and exerts influence outside of immediate team.
- Develops innovative team solutions to complex problems.
- Contributes to strategic direction for teams.
- Applies in-depth or broad technical knowledge to provide maintenance solutions across one or more technology areas (e.g. Web-site Development).
- Applies company and 3rd party technologies to complex software solutions of moderate complexity. Independently implements end- user or enterprise solutions of significant complexity.
- Integrates technical expertise and business understanding to create superior solutions for clients.
- Consults with team members and other organizations, clients and vendors on complex issues.
Education and Experience Required:
- Typically a technical Bachelor's degree or equivalent experience and a minimum of 8 years of related experience or a Master's degree and a minimum of 8 years of experience.
Knowledge and Skills:
- 8 or more years experience writing code using languages such as (and not limited to) COBOL, PL/1, Java, C, C++, C#, VB.Net.
- Advanced ability to work with Web-development tools for new applications.
- Advanced understanding of RDBMS databases such SQL Server and Oracle.
- Advanced understanding of modern software design and development methodologies.
- Experience on multiple full release project life cycles.
- Advanced understanding of modern SCM (software configuration management).
- Advanced understanding of testing tools and unit test and integration test scripting, and testing methodologies
- Advanced experience using an Integrated Development Environment (e.g., Eclipse, Visual Studio) and development of tool add-ins.
- Strong understanding of basic Database Administration. Able to define quality and security standards.
- Good verbal and written communication and negotiation skills.
- General project management/team leader skills.
- Ability to work effectively in a globally dispersed team and with clients and vendors.
- Demonstrated technical leadership skills.