Senior App Programmer Analyst
The Senior Application Programmer Analyst regularly acts as a lead position on the IT side of projects that define and develop procedures to solve a variety of complex, well defined, or not well defined business problems for segments or the entire system. This position will assume responsibility for the development of automated systems assisting as project manager with a team of other Senior Application Programmer Analysts, Application Programmer Analysts, Business Analysts, and other technical staff members. The Senior Application Programmer Analyst plans the computations or processes necessary to solve business requirements including project definition, project estimation, analysis/design, construction, and implementation. This position will adopt the role of project manager on the IT side of projects when required. They are considered subject matter experts in one or more business applications that support the County business. Independently acts as the primary support on one to many large or complex mission-critical systems and as a project manager on large and complex system development efforts.
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.
- Provide expert technical applications support (programming, patches, upgrade paths, load scripts, complex integration, etc.) and development for existing or new business applications.
- Provide senior technical leadership to IT and the enterprise including being conversant with the future direction of technologies, how that direction will impact the enterprise, and how future and current systems can be exploited for the benefit of the enterprise.
- Participate in most aspects of IT consulting with the customers including systems analysis, detail systems design, and vendor systems integration.
- Work independently on routine or complex assignments using County standard practices for software analysis, development, implementation, and support (design, programming, patches, load scripts, complex integration, etc).
- Define and develop practical information system specifications from business requirements utilizing context diagrams, prototyping, flowcharts, presentations, and layouts for solutions from small to large or complex business problems; guide and/or perform the detailed design and development activities for entire applications regardless of scope.
- Perform some or all of the duties required of an Application Programmer Analyst as necessary to complete assignments.
- Develop complete descriptions of all specifications required.
- Develop software procedures, functions, and other deliverable products that use existing data sources of authority and which can be reused.
- Develop and review documentation and assure its completeness in accordance with departmental standards.
- Assure quality of products by performing development and design reviews with management and team members.
- 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.).
- Independently use IT tools and techniques to solve complex problems.
- Perform difficult tasks with little supervision; work is seldom reviewed by peer team personnel for accuracy of judgment applied, quality of process used, and compliance with instructions.
- Has limited responsibility for the work of others except when acting as project manager.
- Confer with customers and study effectiveness of systems flow, system change impact, data usage, and manual or automated processes to identify ineffective or inefficient systems.
- Prepare and present regular project status reports as required.
- Regularly share/transfer knowledge of new technology (training, seminars, etc.) to team members.
- Maintain awareness of current software development tools, programming techniques, and problem-solving methods.
- Participate on technical committees as required.
Knowledge, Skills, & Abilities:
Support Analyst Function Specialty:
Development Analyst Function Specialty:
- The Support Analyst works closely with the business area Business Analyst and customers to support day-to-day requests for service. Their primary focus is to provide quick response to application support or enhancement requests that are small in scope and resource requirements. Their secondary focus is to work on project teams to implement larger systems.
- Provide operations and maintenance support to County business applications in accordance with IT division standards and internal operating procedures.
- Provide quick response to requests for application enhancements, small business systems, complex reports or data analyses, IT-related systems research, and consultation.
- Work closely with Business Analysts and their customers to properly understand and define their service needs.
Reporting Analyst Function Specialty:
- The Development Analyst works within cross-functional project teams, or independently, to implement complex application systems. Their primary focus is to use established IT methods, tools, and operating procedures within a project framework to implement complex custom or packaged software application systems. Their secondary focus is to provide support to existing applications.
- Provide leadership in the R&D, testing, planning, and implementation of new application development environments or tools as required to support the County's changing needs.
- Work closely with functional members of project teams (Business Analysts and their customers) to complete the project objectives.
- The Development Analyst should have experience working with both Waterfall and Agile development methodologies.
- The Reporting Analyst works closely with the business area Business Analyst and customers to support day-to-day requests for reporting services. Their primary focus is to provide quick response to support and enhancement requests for report development. The analyst may respond to a variety of requests including data interpretation, identifying the proper source-of-record for data, mentoring in reporting tool use, and the development of complex reports that will vary in scope (small to medium) and resource requirements. Their secondary focus is to work on project teams to implement larger systems and provide operations and support to existing applications as subject matter experts.
- The analyst will primarily work closely with Business Analysts to properly understand and define their reporting needs.
- Provide quick response to requests for simple reports and complex reports, data analyses, and consultation in accordance with IT division standards and internal operating procedures.
- Perform other duties as appropriate or necessary for performance of the job.
- Considerable knowledge and experience with a broad range of information technologies including multi-tiered client-server computing environments, business requirements modeling techniques, web technologies, imaging, County server and PC operating systems, application programming interfaces, relational database systems, and software development tools.
- Considerable knowledge using the systems development life cycle to document and implement small or large projects.
- Considerable 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).
- Considerable to thorough knowledge and experience with advanced programming techniques and programming languages used by the County.
- Considerable to thorough knowledge 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 to considerable knowledge and experience with project management methods and techniques including work breakdown structure, estimating, scheduling, resource balancing, and the use of common project management software tools..
- General knowledge of 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.
- Recognize and analyze software problems, determine the accuracy and relevance of information regarding symptoms, and use judgment to recommend alternative solutions to difficult information technology problems.
- Partner with cross-functional and technical team members to successfully implement large, complex information systems and technology projects.
- Plan, organize, manage personal time, schedule, and monitor others tasks in order to accomplish established goals and objectives.
- Perform advanced software programming, system analysis, and debugging.
- Provide advanced 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.
- Practice effective and persuasive communication to elicit information, negotiate problem resolution, and provide advanced technical services on various projects.
- Prepare documentation and complex reports which are clear, concise, and present information in a well-organized and efficient manner in both written communications and verbal presentations.
- General proficiency is required in use of personal computers and all software standards in use by Larimer County as follows: Current Personal Computer Standard, Support Central Work Request Management System, MS Windows 2000 or XP, Flowcharting and process modeling tools (Visio), Current MS Office Suite, Project Management Software - MS-Project, Groupwise E-mail, IT System Development Life Cycle, and Internet Explorer or current standard.
- When developing or supporting large and/or complex application systems, one must be proficient in applying the advanced functions of 3 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), 4GL software development web tools (Java, XML, ASP.NET & C#), Web Application Development Tools (ASP.NET and C#, HTML and current extensions, Macromedia Development Environment (Cold Fusion, Flash, etc.), and Integrated Software Development Platform tools (Oracle internet development application services suite, .Net)
- Establish and maintain effective working relationships with other County employees, representatives of other agencies and organizations, and members of the community.
Data Analyst Speciality:
- Experience developing and maintaining customer databases, reports, and performing complex data analysis.
- Proficient in SQL sufficient to analyzing databases and create data-driven products.
- Strong data analysis and report writing skills.
- Ability to effectively communicate in non-technical terms with business unit management and end users for information and reporting delivery solutions.
- Strong knowledge of departmental business application systems and its impact on data analysis and reports.
- Ability to convert customer high-level business requirements into valid database, analysis, or report product deliverables.
- Perform data analysis, report development and maintenance activities.
- Analyze source system data to understand the data structure and definitions.
- Interact with customers as needed to better define and understand requirements and translate business requirements into technical specifications and solutions.
- Perform report testing and review report deliverables with business users. Make changes as necessary.
Interact with other technical team members to establish requirements.
- Document designs and processes in a clear and concise manner.
- May perform functions such as production deployments of reports and dashboards, user security, report scheduling, and system troubleshooting.
- Develop and maintain a formal description of the data and data structure in warehouse and repositories. This may include data dictionaries, metadata, and data models.
- Creation of databases, refreshing test/dev instances, tuning queries, and maintaining database uptime
- Assist developers, end-users, and report writers in determining tools that best fit the presentation needs of a project.
- Perform query and report writing as requested.
- Over six years of progressive responsibility with information systems and technology expertise.
- Over six years experience in developing large and/or complex information systems using development tools used at Larimer County. Four of those years must be in the role of a Senior Developer (or similar job) with direct experience in developing large and/or complex IT systems.
- Bachelor's degree in Information Systems, Computer Science, or other related field from an accredited college or university or equivalent where two years of experience can substitute for one year of education.