AidData’s Programmer will work closely with the Institute IT Manager and other AidData staff to support and develop decision support, data collection, and other web-based software. This position will support AidData’s growing technology demand.
Responsibilities will include:
• Determines operational feasibility of software requirements through evaluation, analysis and development of software designs.
• Identifies database management needs and develops efficient ways to store and retrieve the data.
• Develops software solutions by studying information needs, conferring with end users, understanding work processes, investigating problem areas and following the software development lifecycle.
• Provides documentation for environments and solutions through diagrams, code comments, clear code and readmes.
• Stores software solutions and documentation in a software versioning tool.
• Performs thorough testing of developed software solutions before passing the solution onto stakeholders for testing.
• Prepares and installs solutions on staging and production servers.
• Provides software fixes and improves operations to existing applications by providing system analysis and working with other programmers to come up with solutions.
• Provides information by collecting, analyzing, and summarizing development and service issues.
• Keeps up-to-date on the latest technologies by participating in educational opportunities and studying state-of-the-art development tools, programming techniques, and computing equipment.
This is a restricted position and continued employment is dependent on funding.
• A Bachelor’s degree or equivalent experience in computer science, computer engineering, or other relevant discipline;
• Experience with Object Oriented programming languages.
• Working knowledge of relational databases and SQL.
• Working knowledge in the configuration and administration of Unix operating systems.
• Understanding of the full software development lifecycle including interfacing with non-technical stakeholders to develop requirements.
• Demonstrated willingness to take initiative and develop innovative solutions to complex problems.
• Ability to learn and adopt various technologies.
• Excellent written and verbal communication skills.
• Experience with relational databases like PostgreSQL, MySQL
• Experience with NoSQL databases like MongoDB
• Knowledge of RESTful API/web services, JSON, AJAX
• Experience with Git or other major software versioning tools.
The College of William & Mary values diversity and invites applications from underrepresented groups who will enrich the research, teaching and service missions of the university. The College is an Equal Opportunity/Affirmative Action employer and encourages applications from women, minorities, protected veterans, and individuals with disabilities.