Develop software for cloud middleware and web portals using modern front-end web technologies and frameworks. Collect and report performance and quality metrics to ensure resources are meeting project goals. Create documentation and software packages to make work usable by other institutions. Train collaborators and end users in the cloud and software resources created.
Other significant activities are as a systems programmer and technology implementer for collaborative projects with scientists from application domains. The incumbent will help the team design, implement, and maintain storage, infrastructure, platform, and software clouds including software and hardware selection. Integrate external cloud and distributed data resources with resources developed as part of the projects. Maintain expertise in cloud software and hardware.
Design, implement and support complex ETL mappings to migrate large data volumes from heterogeneous source systems into a central NoSQL data store. Participate in the design of new or changing data mappings and workflows, evolving the iDigBio data model as data standards are updated and data growth need arises. Produce technical specification and documentation to effectively communicate with data providers and consumers. Develop and maintain data visualization workflows and tools to communicate with peers, leadership, and research partners.
Assist in maintaining existing computer, networking, and software infrastructure in ACIS laboratory. Integrate infrastructure developed as part of the project into the overall resource offerings of the ACIS laboratory. Act as liaison between the project's and lab's hardware and software infrastructure and the other computer services or centers at UF and elsewhere. Manage and coordinate work done by undergraduate and graduate students that affects the functioning of the project's and lab's computing infrastructure. Document best practices and develop technical support materials for ACIS hardware and software.
- Knowledge, skill, and proficiency in the theoretical and practical application of a body of highly specialized knowledge in information technology. Ability to apply technology within and outside the body of knowledge and specialty of this position. Ability to understand the needs of the broader community and the state of industry to design significant integrated solutions, which successfully address the depth and scope requirements of all customers. Ability to autonomously analyzes complex problems; identifies critical elements and alternatives, organizes existing resources and new information to implement most appropriate solution. Demonstrated skills and abilities sufficient to perform primary design and interface responsibilities for organization-wide systems.
- Masters or equivalent experience and two years experience
- Software development experience with modern web development frameworks for both front-end and back-end: Angular, React, Microsoft .NET, Ruby on Rails, Django, etc. Familiarity with building front-end code to interact with backend web APIs.
- Experience with relational or alternative database management systems including related query languages: MySQL, PostgreSQL, CouchDB, Microsoft SQL Server, RDFDB, etc.
- Experience developing software in a collaborative and distributed environment including source control and bug tracking
- Ability to author complete documentation
- UNIX, Linux, and Windows system administration
- Firm understanding of virtualization and cloud technologies
- Administration experience with one or more virtualization platforms such as VMware, Xen, Hyper-V, KVM, etc.
- Experience using and developing with a containerization technology such as Kubernetes or Docker
- Experience using and developing with configuration management and IT automation software such as Ansible, Salt, or Puppet
- Experience preparing and presenting training materials