Software Engineer

Austin, TX | Full-time | Computer/Software

Job Description

TACC designs and deploys the world's most powerful advanced computing technologies and innovative software solutions to enable researchers to answer complex questions like these and many more. Every day, researchers rely on our computing experts and resources to help them gain insights and make discoveries that change the world.

TACC's environment includes a comprehensive cyberinfrastructure ecosystem of leading-edge resources in high performance computing (HPC), visualization, data analysis, storage, archive, cloud, data-driven computing, connectivity, tools, APIs, algorithms, consulting, and software. In addition, our skilled experts work with thousands of researchers on more than 3,000 projects each year.

The software engineer position will be responsible for development of web application projects in the Advanced Computing Interfaces area of the Texas Advanced Computing Center (TACC).

Essential Functions
Gain familiarity with TACC, assigned projects, project leadership and the development team. Develop familiarity with the code base and attend development and planning meetings. Take development tasks and commit code, with test coverage. Contribute new features/fixes to the project(s). Split time developing and contributing to 2-3 projects. Propose, plan, schedule, coordinate and complete detailed phases of development projects. Research technologies and ideas for their applicability to projects. Assume responsibility for acceptance or rejection of results achieved. Engage as part of a team involved in the design, development, and deployment of highly available web portal, science gateways, and software as a service capabilities. Contribute to funded research projects enabling access to world class computing, visualization and data resources at TACC. Support the TACC mission of engaging the advancement of science and research with advanced computing interfaces.

Required Education/Experience
Master's degree in computer science, information science, mathematics, or a computational science or engineering discipline & two years of related experience or bachelor's degree & four years of experience in software development.

Required qualifications

  • Demonstrated success working with a small team of developers (3-5 persons) to develop, test, deploy, and maintain a large-scale web application

  • Demonstrated understand of web application architectures

  • Familiarity with one or more programming languages and web application frameworks

  • Knowledge of development best practices such as version control, testing, prototyping

  • Ability and willingness to learn new skills

  • Excellent communication and interpersonal skills

Preferred Qualifications

  • Experience programming in Python and JavaScript

  • Experience with Python web frameworks such as Django, Flask

  • Experience using JavaScript frameworks such as Angular.js or Backbone.js

  • Experience using REST APIs

  • Experience with MySQL databases.