This is an application developer position and will be working on a standing team in an agile environment. Responsibilities include delivering quality solutions through coding, testing and analyzing. Required skills include understanding requirements, programming, and refactoring code.
The initial assignment for this position will be on the Mantis team working with on DCdirect - a record keeping system for our public sector retirement plans business.
Required Technical Skills:
Ability to work in an agile, open teamspace environment
Toplink (or another similar Object Relational Mapping tool for database interaction)
Experience with ATDD, pairing
Experience with batch processes
Experience with complex business logic and financial transactions
Experience on enterprise sized applications
An Application Developer focuses primarily on providing high quality, cost-effective IT solutions to business partners by creating new software applications or modifying and/or supporting existing packaged or custom-built applications. In this capacity, Application Developers analyze, design, code, configure, test, debug, document and maintain applications, programs and interfaces.
An Application Developer:
1. Configures systems and/or develops and maintains high quality code
2. Tests individual programs and configurations (i.e., unit-level testing)
3. Debugs systems and resolves technical issues
4. Documents technical solutions within the systems and externally
5. Identifies problems and recommends corresponding solutions
6. Determines programming effects on existing systems
7. Modifies detailed applications with minimal to moderate guidance
8. Programs applications at the highest level of technical expertise
9. Maintains solid knowledge of all application programming areas and is a top-level expert in one or more highly specialized areas
10. Acts independently under general direction
11. Provides technical consulting on complex projects
12. Creates or modifies procedures to solve complex problems, taking equipment, operating time and desired results into account
13. Contributes strategic vision to the business solution area (BSA) and integrates a broad range of IT application development ideas throughout the organization
14. Is sought as a resource for resolution of unique or complex IT application development problems, involving multiple disciplines and possibly even multiple BSAs
The ideal Application Developer possesses the following:
Undergraduate studies in computer science, management information systems or a related degree
Computer programming language knowledge
An understanding of systems and data processing policies, practices and procedures
General knowledge of the systems development life cycle
Six years of experience in programming and systems analysis
Project management experience preferred
Proven computer programming language knowledge
Thorough understanding of systems and data processing policies, practices and procedures
Thorough understanding in systems analysis and design techniques
Extensive knowledge of the systems development life cycle
Understanding of project management concepts and techniques required
Demonstrated ability to analyze and program complex applications and systems
JOB SUMMARY: With full competency, devises or modifies procedures to solve complex problems considering computer equipment capacity and limitations, operating time, and form of desired results. Designs, codes, tests, debugs, and documents those programs. Competent to work at the highest technical level of all phases of applications programming activities.
1. Develops cost-effective information technology solutions by creating new and modifying existing software applications that are more complex with full competency.
2. Analyzes and validates complex system requirements and existing business processes and information systems. Designs, develops and implements new programs and/or modifications of existing applications. Responsible for the more complex designs, prototypes and other methodologies for new and/or existing systems including the development and implementation of test plans and program specifications with various interfaces.
3. Designs, codes, tests, debugs, and documents and implements complex software applications according to standards.
4. Defines and develops specifications and programs complex technical modules, applications, prototypes and computer programs.
5. Assists in leading all aspects of applications programming and development including file design, update, storage and retrieval.
6. Evaluates and provides technical solutions to complex application development problems.
7. May coordinate activities of a project team and assist in monitoring project schedules and costs.
8. May act as a technical programming consultant for small-scale projects that include multiple product lines and various interfaces.
9. Performs other duties as assigned.
Education: Undergraduate studies in computer science, management information systems, mathematics or related field is preferred.
Experience: Six years of experience in programming and systems analysis. Project management experience is preferred.
Knowledge: Must have proven knowledge in computer programming language. Must have a thorough understanding in systems and data processing policies, practices and procedures. Must have a thorough understanding in systems analysis and design techniques. Must have extensive knowledge of the systems development life cycle. Understanding of project management concepts and techniques required.
Skills/Competencies: Must have the ability to analyze complex applications and systems. Must be able to program complex systems requiring minimal interfaces. Must possess problem-solving skills to determine the programming effects on existing systems. Must have strong decision-making skills for problem identification and solution recommendation. Must have written and oral communication skills to prepare and communicate programming plans and procedures as well as to interact with all levels within the company.