Under general direction from the Globus management team, responsibilities include:
- Architecture and Design- Lead and/or participate in the definition and documentation of requirements, 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- Develop, test, document, deploy and maintain high-quality software. Maintain and develop Globus web application (Current application is ember.js application)
- Support- Work in close collaboration with the Globus front line support and professional services teams, and directly with end users, to provide technical support services.
- Research- Participate in and contribute to research efforts related to the software, including collecting and analyzing data, and writing research papers for journals or conferences.
- Team Coordination and Professional Development- Maintain a working knowledge of relevant software technologies being developed and/or used in scientific and commercial communities. Participate in team coordination and development activities, including project planning, project reporting, technical presentations, recruitment, training new staff, and mentoring junior software developers and students.
- 5+ years of professional experience in software engineering and delivering large scale systems
- Experience with Node.js-based build, development, and packaging tools (e.g. Bower, Broccoli, Express, Grunt, npm)
- Experience with unit and integration testing tools (e.g. PhantomJS, QUnit, Test’em)
- Experience with a distributed version control system (e.g. Git, Mercurial)
Education, Experience and Certifications:
- Bachelor's degree in computer science or another relevant computer related field, or at least six years of professional programming experience required
- Advanced degree in computer science or another relevant computer related field preferred
- Experience with Web security technologies (e.g. SSL/TLS, OAuth2, OpenID Connect and PKI)
- Experience with HTTP servers (e.g., Apache, NGINX)
- Experience with REST services
- Experience with Linux
- Experience contributing to an open source project
- Experience with shell scripting (e.g., Bash)
- Experience with Agile (e.g. Scrum) development processes
- Experience in Cloud Computing (e.g. AWS, Azure, Google Cloud)
- Experience as a team/techincal lead, or project owner preferred
Technical Knowledge or Skills
- Exposure to fundamental concepts, practices, and procedures of software development
- Excellent verbal and written communication skills
- Problem solving skills
- Ability to use standard software development applications and tools
- Ability to prioritize and manage workload to meet critical project milestones and deadlines
- Ability to 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
- Ability to work on a flexible schedule, which will include occasional late night and/or weekend hours