Individuals within the Application Development role work closely with clients, business analysts and team members to understand the business requirements that drive the analysis and design of quality technical solutions. These solutions must be aligned with business and IT strategies and are in compliance with the organization's architectural standards. Application Developers are involved in the full systems life cycle and therefore are responsible for designing, coding, testing, implementing and supporting application software that is delivered on time and within budget. Responsibilities beyond development of software may include participation in component and data architecture design, technology planning, product evaluation, advanced testing processes and buy vs. build recommendations. Individuals also provide input to project plans related to the application development initiative.
Application Developers have a strong knowledge of programming languages used by the organization. They have experience in systems design and have a solid understanding of development, database development, testing, and integration methodologies. Knowledge of current and emerging IT products, services and processes is required.
Individuals must be able to adjust to constant business change. Common types of changes include introduction of new organizations through mergers and acquisitions, evolving goals and strategies and emerging technologies. These changes require integration of solutions that can impact the overall system development activity. Application Developers also provide client support, consultation and subject matter expertise for system development, maintenance and support. This associate works on moderately to complex tasks in support of one or more project as a project team member, or independently on small projects. They may support multiple applications and have increased skill in multiple technical environments and possesses knowledge of a specific business area. PRIMARY DUTIES AND RESPONSIBILITIES:
Qualifications: EXPERIENCE AND EDUCATIONAL REQUIREMENTS:
- May participate in project planning processes.
- May identify technical requirements.
- May create technical design specifications and assists in sizing technical requirements.
- Codes applications using a disciplined development process.
- Integrates solutions with other applications and platforms outside the framework.
- Develops, executes, and documents unit test plans.
- Supports and/or executes testing efforts across the life cycle.
- Adheres to standards and procedures.
- Reviews modules for quality assurance.
- Checks for compliance with all standards, policies and procedures.
- Supports and participates in the software deployment process for new modules, upgrades and fixes to the production environment.
- Makes modules production-ready by moving them to libraries, completing forms, following procedures, completing version control documents, etc.
- Creates release notes, deployment plans, etc)
- Executes branching and merging strategies.
- Validates deployments.
- Provides ongoing maintenance of applications.
- May assist in production support.
- May troubleshoot existing information systems to identify errors or deficiencies and develops solutions
- May evaluate existing applications and platform and provides recommendations for improving application performance by conducting gap analysis, identifying feasible alternative solutions, and assisting in the scope of modifications.
- May perform automated/load tests and address any issues.
- Documents functions and changes to new or modified modules and test activities/results.
- Assists in the development of user guides and training documentation for systems.
- May participate in the evaluation of new application packages and tools and perform research on best practices.
- May provide recommendations for the solutions.
- Provides technical coaching and mentoring to less-experienced team members.
Bachelor's degree in Programming/Systems or Computer Science or other related field. Or equivalent work experience. Typically requires 3-8 years of programming experience. Requires programming experience with mid to advanced level application development.
MINIMUM SKILLS, KNOWLEDGE AND ABILITY REQUIREMENTS:
- Intermediate-level programming skills in at least one modern language
- Understanding of relational database design and theory
- Understanding of typical use cases and benefits for typical design approaches such as client/server, SOA, etc.
- Familiarity with Object Oriented Design concepts