The Database Programmer Analyst strategically designs and implements databases across the organization, while ensuring high levels of data availability. This position is also responsible for defining standards and models for database architectures. In addition, the Database Programmer Analyst will evaluate and select technology components, such as software, hardware, and networking capabilities, for database management systems and applications. This position will design, execute, assess, and troubleshoot software programs and applications, which includes configuring, coding, developing, and documenting software specifications throughout the project life cycle. The Database Programmer Analyst will develop leading edge technologies to help DCL better understand the treasure trove of data we collect, by turning this data into actionable insight as we deliver solutions, platforms and services that will change and improve the experience of every patron. Work is performed with considerable independent judgment and initiative.
EXAMPLES OF DUTIES:
- Assess and develop long-term strategic goals for database development in conjunction with end users, managers, clients, and other stakeholders.
- Analyze user requirements and, based on findings, design functional specifications for client/server databases and database applications.
- Plan and implement capacity and resource expansion to ensure scalability of company databases.
- Conduct research and make recommendations on database and application products, services, protocols, and standards in support of procurement and development efforts..
- Run and monitor performance tests on new and existing software for the purposes of correcting mistakes, isolating areas for improvement, and general debugging.
- Assist with the design of redundant systems, policies, and procedures for disaster recovery to ensure effective availability, protection, and integrity of data assets.
- Collaborate with analysts, developers and designers in the development and initiation of new software programs and applications.
- Direct research on emerging application development software products, languages, and standards in support of procurement and development efforts.
- Coordinate and work with other technical staff to develop relational databases and secondary databases.
- Develop automated database applications, where necessary, using the applicable database packages.
- Identify data entry, retrieval, change, and delete issues, and work to ensure a high level of data availability.
- Identify inefficiencies in current databases and applications architecture and.
- Install and configure relevant components to ensure database access.
- Diagnose and resolve database access and performance issues.
- Perform cost estimates for data migration to new databases during upgrades, and plan and coordinate these migrations.
- Evaluate and select database components, including hardware, relational database management systems, metadata management tools, and database design solutions.
- Research, document, and implement program requirements and specifications.
- Consistently write, translate, and code software programs and applications according to specifications.
- Administer diagnostic analysis of test results and deliver solutions to critical areas.
- Disseminate knowledge of application development best practices.
- Gather statistics and prepare and write reports on the status of the programming process for discussion with management and/or team members.
- Determine, develop, and maintain user manuals and guidelines.
- Liaise with company’s software and hardware suppliers for prompt rectification of any problems or emergencies.
- Liaise with network administrators, systems analysts, programmers, and other software engineers to resolve any defects in products or company systems.
- Recommend, schedule, and perform software improvements and upgrades for optimal performance of company workstations.
- Creates positive experiences for library patrons by effectively and efficiently performing job tasks; presents a positive image of the library in attitude, communications and appearance while performing duties in and for the District.
- Working technical experience with developing, installing, configuring and supporting multi-terabyte database environments is required.
- Must have experience with database platforms, including MySQL, MSSQL, Sybase, MS Access, and with database design applications and database versioning.
- Strong understanding of relational database structures, theories, principles, and practices is required.
- Must have hands-on experience with business requirements gathering/analysis.
- Familiarity with in-house data-intensive applications is required.
- In-depth technical knowledge of network, PC, and platform operating systems, including Windows 7, Linux, MAC OS X, and Windows Server 2008 is required.
- Working technical knowledge of current database software, protocols, and standards is required.
- Knowledge and experience with data processing flowcharting techniques is required.
- Proven project management experience. Ability to effectively prioritize and execute tasks in a high-pressure environment is required.
- Must have proven analytical, conceptual and creative problem-solving abilities.
- Technically proficient in programming languages, including PHP, JAVA, .NET.
- Solid working knowledge of current Internet technologies, including TCP/IP, SSH, Telnet, FTP/SFTP, HHTP/HTTPS, SMTP, HTML/HTML5, SSL, POP.
- Must have the ability to conduct research into software-related issues, standards and products, and data-based issues.
- Must have hands-on software troubleshooting experience.
- Experience with Agile Development (SCRUM) is required.
- Experience with databases and querying required.
- Experience with pattern design is required.
- Strong presentation and interpersonal skills required.
- Experience with statistical modeling and data mining algorithms preferred.
- Knowledge of continuous integration software tools and techniques preferred.
- Customer service skills are preferred.
- Must be self-motivated, self-directed and detail-oriented, with strong presentation and interpersonal skills.
- Must have the ability to communicate ideas in both technical and user-friendly language.
- Must have the ability to learn and become proficient in skills, functions and technology required to perform job duties, working effectively independently or in a team-oriented, collaborative environment to complete tasks.
- Must communicate effectively using English. Must read, write and understand English at a level appropriate to the position.
- Education: Bachelor’s degree in the field of computer science, information systems, or computer engineering.
- Experience: Five (5) years’ work experience.
An equivalent combination of education and experience may be considered.