Application Programmer Analyst
The Application Programmer Analyst develops procedures to solve a variety of well-defined business problems for segments of a system and sometimes the entire system. Develops new and undefined automated systems or system modules. Plans and implements the computations or processes necessary for computer solutions. Considered a subject matter expert in one or more business applications that support the County business. Provides maintenance and support to a variety of existing custom and packaged systems.
The following statements are illustrative of the duties and responsibilities of the job. The organization retains the right to modify or change the duties and responsibilities of the job at any time.
- Receives general supervision from appropriate Software Development or Software Support Group Manager as assigned.
- Exercises no supervision.The following statements are illustrative of the duties and responsibilities of the job. The organization retains the right to modify or change the duties and responsibilities of the job at any time.
- Participate as a team member for coordinating, developing, and designing computerized information systems solutions for business problems to meet expanding or changing business requirements.
- Define and develop practical information system specifications utilizing context diagrams, prototyping, flowcharts, presentations, and layouts for solutions to business problems.
- Confer with end users and study effectiveness of systems flow, data usage, and manual or automated processes to identify ineffective or inefficient systems.
- Work on routine, well defined, analysis-type problems related to a single activity or procedure and having some variety and or moderate difficulty (programming, patches, scripts, simple integration, etc.).
- Receive regular instructions or guidance when working on more complex assignments.
- Program and solve segments of complex problems.
- Analyze source and content of data.
- Develop complete descriptions of all specifications required.
- Develop and review documentation and assure its completeness in accordance with departmental standards.
- Learn user functions, organization, and role in the enterprise to the extent required.
- Required to respect the Business Analyst role in the Divisions as their liaison to IT and primary representative of the functional aspects of their applications, business process re-engineering, project management, and all non-technical IT documentation, i.e. requirements, project plan, functional diagrams, application use documentation, training documentation, etc.
- Participate in most aspects of user consulting, systems analysis, general systems design, and vendor contracts and detail systems design.
- Maintain and modify existing applications programs.
- Write new programs of low to moderate complexity and scope, working with basic applications system designs and specifications and utilizing standard procedures and techniques.
- Work with other Senior Application Programmer Analysts, Application Programmer Analysts, and technical staff members in the development of highly complex programs or large systems.
- Perform development and design walk-throughs with management and team members.
- Maintain awareness of state-of-the-art development tools, information technologies, programming techniques, software development methods and processes, and problem solving techniques.
- Prepare and present regular project status reports on project or task status.
- Participate on technical committees as required to conceive, create, develop, establish, and publish new programming techniques, methods, procedures, approaches, and standards working with basic and advanced applications system design techniques and methodologies to improve departmental and team practices.
- Perform other duties as appropriate or necessary for performance of the job.
Knowledge, Skills, & Abilities:
- A broad range of information technologies including client/server computing environments, web technologies, imaging, operating systems (Microsoft Operating Systems, Unix), database systems (Oracle, MS SQL Server, Access), development tools (Visual Basic, Oracle Forms and Developer, CASE, Active X, Java, and HTML), local and wide area networks, and geographic information systems.
- Intermediate to advanced analytical and problem solving skills.
- General knowledge and experience with systems development life cycle to document and assist in the implementation of small or large projects.
- Intermediate to advanced knowledge and experience with the principles and technologies of requirements gathering techniques, systems analysis and design, and design tools (use case, flow charts, and business process flow diagrams).
- Intermediate to advanced knowledge and experience with advanced programming techniques, programming languages used by the County.
- Intermediate to advanced and experience with current information systems and software development models including Structured Analysis, Prototyping and Rapid Application Development, and Object Oriented Analysis and Design.
- General knowledge and experience with project management methods and techniques including work breakdown structure, estimating, scheduling, and the use of common project management software tools.
- Federal, state, or local government business.
- Communicate clearly and concisely, both verbally and in writing.
- Read and comprehend department and County rules, regulations, policies, and standard operating procedures.
- Partner with cross-functional and technical team members to successfully implement software application systems.
- Plan, organize, schedule, and monitor their tasks to accomplish established goals and objectives.
- Communicate effectively, both verbally and in writing, with technical and non-technical staff.
- Perform basic software program debugging, data analysis and system analysis.
- Provide technical support to assigned County information systems where subject matter expertise is essential to support and improve systems.
- Provide backup technical support to different County information systems when the primary subject matter expert resource is unavailable.
- Report accurate project status and project time expenditures to management as required.
- Prepare documentation and reports which are clear, concise and present information in a well-organized and efficient manner in both written communications and oral presentations.
- Partner with team members to successfully implement small to medium information systems or technologies.
- General proficiency is required in use of personal computers and all software standards in use by Larimer County as follows: Current Personal Computer Standard, MS Windows 2000 or XP, Current MS Office Suite, Support Central work request management system, flowcharting and process modeling tools (Visio), Groupwise email, Internet Explorer or current standard, Project Management software - MS Project, and IT System Development Life Cycle.
- When developing or supporting applications, one must be proficient in applying the common functions of four of the following current technologies: Advanced Structured Query Language (SQL) and current extensions, Data reporting and extract tools (ex. Crystal Reports), Oracle and MS-SQL Server Database and varied data access methods (ODBC, Oracle, APIs), 4GL Software development and maintenance tools (ex. Visual Basic, PL-SQL, MS-Access, TOAD), 3GL software development web tools (Java, XML), Unix command line functions, commands, batch environment (ex. Solaris Unix), Integrated Software Development Platform tools (Oracle internet development application services suite, .Net), Web Application Development Tools (HTML and current extensions, Macromedia Development Environment (Cold Fusion, Flash, etc.).
- Perform assigned duties independently without close supervision.
- Establish and maintain effective working relationships with other County employees, representatives of other agencies and organizations, and members of the community.
- One year of experience in programming a language utilized by Larimer County, a directly related field, or in the performance of similar duties and responsibilities.
- Two years of systems analysis and design experience.
- Bachelor's degree from an accredited college or university with major coursework in Computer Science, Information Systems, or a related field.