Primary Job Duties and Responsibilities (Essential Job Function)
This is a multi-level posting. This position participates in the design, programming, testing, documentation and implementation of complex computer applications and systems. Evaluates software packages, provides recommendations to management and business clients, and identifies best technology solutions. Identifies future needs for key technologies and techniques and develops plans for adoption.
Architects, designs, codes, tests, documents, implements and maintains more complex application programs and interfaces. May act as senior contributor or technical lead on small to mid-sized projects. (30%)
Provides some leadership for highly complex projects related to the development of new systems, architecture, applications or technology capabilities in support of business goals. (10%)
Performs project planning, system analysis, software design and coding, testing, documentation, implementation and research activities as necessary for software engineering projects. (0-10%)
Provides technical support; problem determination and investigation; implementation of upgrades for developed applications. (20%)
Enhances existing systems; participates in client walkthroughs and technical design reviews. Aids in systems development planning and monitoring. Participates in design reviews and peer code walkthroughs. Provides client and application support. (10%)
Performs software development and ensures conformance to performance optimization and interoperability standards and requirements. Works in adherence to secure development lifecycle practices and policies. (10%)
Performs or assists in the research and fact-finding to develop or modify application programs. Includes working with vendors to review quality, adaptability and compatibility of their products. (5-10%)
Acts as the subject matter expert, and consults with clients on company's IT strategy and business requirements. (0-5%)
Collaborates with IT teams from applications and infrastructure to identify technology deficiencies and improvement opportunities in practices and procedures. (0-5%)
Stays current with industry standards techniques for software development, and apply them to development, testing, integration and reporting processes where appropriate. (0-5%)
Consults with application users in developing functional/technical specifications. (0-5%)
Consults with application users, evaluates user requests for new or modified computer applications and associated interfaces to determine feasibility, cost and time required, compatibility with current systems and computer capabilities. (0-5%)
May guide software engineers in the completion of assigned projects. (0-5%)
Provides technical input to assist in development of project planning. (0-5%)
Performs any additional responsibilities as requested or assigned. (0-5%)
Bachelor's degree in management information systems (MIS), computer science or related technical field or equivalent work experience. (Typically six years of related, progressive work experience would be needed for candidates applying for this position who do not possess a bachelor's degree.)
The software engineer I position requires eighteen months of work and/or intern experience in business software application development.
The software engineer II position requires a minimum of four years of experience in business software application design, development, integration and/or installation.
The software engineer III position requires a minimum of six years of experience in business software application design, development, integration and/or installation.
Knowledge of programming in client/server or web development environment.
Experience in the industry, or in an environment whose scope, size and complexity are comparable.
Knowledge of open systems object design methodologies, architecture methodologies, security practices and integration techniques. Knowledge of relational database technology, structured analysis concepts, and software design patterns.
Effective project management skills and ability to prioritize and handle multiple tasks and projects concurrently.
Business analysis aptitude including communications and interpersonal skills enabling an understanding of client's needs.
Knowledge of information technology terms, equipment, systems, functions and major vendors.
Experience integrating large disconnected enterprise-class systems in a robust, fault-tolerant manner consistent with industry standards.
Able to work in a zero-code-ownership environment where the team members can modify any source file at any time.
An understanding of deployment topologies (i.e. ensuring secure, highly available systems).
Effective oral and written communication skills.
Effective analytical and problem-solving skills.
Ability to prioritize and handle multiple tasks and projects concurrently.
Availability for periodic on-call responsibilities.
Experience integrating Commercial off the Shelf (COTS) solutions within an environment with strong change and release management processes and procedures.
Technical knowledge with hands-on experience in Oracle and Microsoft SQL database development.
Technical knowledge with hands-on experience in .NET and other current computing programming languages.
Technical knowledge with hands-on experience in Microsoft BizTalk Server, Microsoft SharePoint, Microsoft SQL Reporting Services and Oracle business intelligence / reporting.
Understanding of company's existing IT environment and of applicable company policies, practices, and procedures.
Employees must be able to perform the essential functions of the position, with or without an accommodation.
All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or veteran status.