- Architecture and Design - participates in the definition and documentation of requirements and architecture and design of complex systems based on knowledge of relevant software technologies being developed and/or used in commercial and scientific communities.
- Software Development - prototypes, develops, tests, code reviews, documents, deploys and maintains high-quality software, including web applications, REST interfaces, command-line interfaces, and other client applications.
- Support - in collaboration with the Globus front line support, professional services, and other members of the product team, provides technical guidance on resolving customer support issues, as needed. Engages with pilot users and customers to provide technical support for adoption of product and support its use.
- Team Coordination and Professional Development - engages proactively with other team members, both within the functional area and in other areas to design, develop and deliver quality products. Maintains a working knowledge of relevant software technologies. Participates in team coordination and development activities, including project planning, project reporting, and recruitment.
- Troubleshoots problems using existing procedures to find a possible solution.
- Performs routine assignments related to software support and/or development.
- Performs code testing on components and works to ensure that appropriate implementation standards are met. Evaluates design alternatives for development cost and solutions using various methods.
- Supports and maintains existing applications. Works with web developers and responds to requests from users.
- Performs other related work as needed.
- Bachelors degree in computer science, computer engineering or related field.
- At least 3 years of relevant programming experience developing, implementing, debugging, and maintaining applications with Python.
- Background in building web applications and APIs that power them.
Technical Skills or Knowledge:
- Distributed version control system (e.g., Git).
- SQL databases (e.g. PostgreSQL, MySQL, SQLite).
- Background with containers (e.g. Docker, Singularity, Kubernetes).
- HTTP servers (e.g. Apache, NGINX).
- Cloud Computing (e.g. AWS, Azure, Google Cloud).
- Unit and integration testing tools (e.g. pytest, Jenkins).
- Familiarity with web security technologies (e.g. SSL/TLS, OAuth2, OpenID Connect and PKI).
- Experience contributing to an open source project.
- Working knowledge of shell scripting (e.g., Bash).
- Agile (e.g. Scrum) development processes.
- Excellent verbal and written communication skills.
- Problem solving skills.
- Comfortable using standard software development applications and tools.
- Prioritize and manage workload to meet critical project milestones and deadlines.
- Work in a collaborative team environment.
- Attention to detail.
- Confidentiality related to sensitive University matters such as, strategic initiatives, trade secrets, quiet periods, and scientific discoveries yet to be put in the public domain.
- Accomplished with full design life cycle.
- Proficient in creating design documents, development specifications, and other development related documentation.
- Effectively articulate technical concepts, challenges and solutions, and engage proactively with team members.