Software Engineer

Current Employment Opportunity

Software Engineer

Full Time

CyVerse is the National Science Foundation’s premier data management platform, working to design, deploy, and expand a national cyberinfrastructure for life sciences research and train scientists in its use. This initiative brings together biologists, computer and information scientists and engineers, as well as experts from other disciplines, all working on integrated teams.

CyVerse staff tackle prevailing computational and data-centric problems associated with providing large-scale research infrastructure for life science research.

We are seeking a talented software engineer to join our Core Software team who will work with other software engineers, computer scientists, and project managers to develop appropriate software solutions for our user communities focused on solving Grand Challenges problems. This position will collaborate with team members from participating institutions, developing innovative, open source applications for the science research communities. We seek a highly motivated person with an appetite to learn, ability to perform in team environments, flexible attitude, attention to detail, and excellent communication skills.

Outstanding UA benefits include health, dental, and vision insurance plans; life insurance and disability programs; paid vacation, sick leave, and holidays; UA/ASU/NAU tuition reduction for the employee and qualified family members; state and optional retirement plans; access to UA recreation and cultural activities; and more!

Duties & Responsibilities

  • Contribute to developing and maintaining an infrastructure for the science communities to help address scientific Grand Challenges.
  • Implement software according to the project requirements, specifications, and timelines.
  • Benchmark and analyze the performance of the web applications
  • Contribute to the development of professional processes, procedures, and standards for delivering quality products in a timely fashion.
  • Work within established development standards and methodologies, including agile development, and test- and behavior-driven development.
  • Work with other software engineers to document and promote best practices and patterns.
  • Work with a team of developers or alone to evaluate/research current and new software development technologies, such as programming languages, application platforms, libraries, and data storage systems.
  • Contribute to DevOps needs.

Minimum Qualifications

  • A combined six years of related education or experience.
  • Experience with relational databases (PostgreSQL).
  • Experience with Object-oriented programming in languages such as Java, C++ or functional programming in languages such as Clojure.
  • Experience with Object-oriented analysis and design.
  • Experience working in a team environment on successful software projects.
  • Exposure to many phases of the software development/implementation life cycle.
  • Experience using and/or contributing to open source software.
  • Experience with a version control system, such as Subversion, CVS, or Git.
  • Excellent interpersonal and communication skills.

Preferred Qualifications

  • Bachelor’s degree in Computer Science or related field AND two year of Software Engineering experience; OR,
  • Associate’s degree in Computer Science or related field AND four years of Software Engineering experience
  • Experience with and understanding of agile development methodologies.
  • Experience with HTML, CSS, and JavaScript.
  • Experience with data and metadata management.
  • Familiarity with Unix/Linux and shell scripting.
  • Familiarity with HTTP servers such as nginx or Apache.
  • Understanding of common enterprise application architectural patterns, such as MVP.
  • Demonstrated ability to produce robust software, preferably in the scientific computing domain.
  • Basic knowledge of Web application development frameworks such as Spring.
  • Experience developing using modern web application framework like React, Angular, etc.
  • Background in programming using languages such as Go, Python, Groovy or Perl.
  • Knowledge of the computational and data storage needs of the scientific communities.
  • Development experience using Web 2.0 technologies.

Click here to apply