The Big Data Application Developer will focus onsoftware development and programming and user support for the ACCRE researchcommunity, in particular the CMS Tier 2 project. This position does not havesupervisory responsibility; the position reports functionally andadministratively to the associate director.
The Advanced Computing Center for Research andEducation (ACCRE) is built and operated by Vanderbilt faculty. Its mission isto allow Vanderbilt researchers to define, benefit from, and explore the"New World" described above. Towards this aim, the center hasestablished the following goals:
Low Barriers: provide computational services with low barriers to participation, working with researchers to develop and adapt HPC tools to their avenues of inquiry,
Expand the Paradigm: work with members of the Vanderbilt community to find new and innovative ways to use computing in the humanities, arts, and education,
Promote Community: foster an interacting community of researchers and develop a campus culture that promotes and supports the use of HPC tools.
The center runs a >9,000 processor core Linuxcluster comprised of multiple architectures and manages over 6 petabytes ofparallel access, fault tolerant, distributed disk storage.
Duties and Responsibilities:
Serves as a lead developer andmaintainer of CMS Tier 2 project:
Manages grid infrastructure in support of large DOE CMS Tier 2 project.
Updates and monitors various data storage, transfer, and processing pipelines in use by the CMS project.
Works with other local admins to ensure high site reliability and availability.
Participates in weekly meetings with Vanderbilt researchers active in the CMS project.
Serves as a lead developer/maintainer for ACCRE's Jupyter environment:
Develops and maintains JupyterHub environment for Vanderbilt and CMS researchers
Explores using, configuring, and optimizing tools from the Hadoop Ecosystem, including HDFS, MapReduce and Spark
Plans and executes the deployment of a cluster environment optimized for Big Data analysis and provide ease of access and use for Vanderbilt researchers.
Assists researchers in porting existing software tools to the Big Data environment.
Meets with researchers to explain benefits of new environment.
Develops documentation for using tools on Jupyter cluster.
Develops training course(s).
Trains ACCRE staff in using tools from Jupyter ecosystem.
Provides research support toVanderbilt researchers:
Assists researchers with developing research software tools that can leverage the parallel architecture available on the ACCRE cluster.
Encourages knowledge sharing between users, such as the sharing of scripts used on the cluster.
Encourages Vanderbilt researchers to include support for the center in their research proposals and provide them with the necessary text and information.
Contributes to and develops research proposals in conjunction with Vanderbilt Principal Investigators which could include researching and applying for grants with co-investigators, core facility grants or developing partnerships with other local universities.
Teaches some of the ACCRE training workshops (series currently held twice per month) and develops new training workshops if needed.
Teaches modules in Vanderbilt courses on supercomputing for undergraduate and graduate students when needed.
Provides expert technical support for users, including problem determination and resolution:
Provides guidance to existing and potential users on how to use ACCRE for their research projects through both one-on-one and small group training sessions including assistance with code compiling.
Responds to help desk tickets to solve user problems and to educate users on ACCRE services.
Communicates effectively with other workers and customers.
Maintains familiarity with emerging techniques and technologies in research computing.
Develops software for existing and new cluster infrastructure related development projects and provides advanced support for the cluster and other implemented projects:
Researches, develops, implements, maintains, documents, and supports infrastructure technology and services that facilitate the management and usage of the cluster, which includes elevated end-user cluster support.
Develops scripts to facilitate cluster and user management and assist computer system analysts in the creation of cluster related software applications.
Assists researchers with software issues to improve their productivity on ACCRE cluster.
Serves as backup on software projects managed by any other cluster staff including scheduling software and form submission software.
Provides on-call support by serving as the on-call person for night and weekend hours on a rotating schedule with other staff; works occasional night and/or weekend hours when necessitated for both scheduled and unscheduled downtimes.
Supports users by assisting cluster systems analysts on projects.
Helps ensure that the cluster operates on a 24/7 basis.
Identifies and participates in training, education, and development activities to improve knowledge and performance and enhance professional development:
Keeps up-to-date on software systems, operation procedures, and technological developments.
Researches and evaluates new technologies/concepts for ACCRE's capabilities and/or services.
Attends meetings, conferences, and seminars as needed.
Profile of an IdealCandidate:
A Bachelor's degree in an appropriate area of specialization from an accredited institution of higher education is necessary.
A MS or PhD in a research field that heavily uses high-performance and/or scientific computing is preferred.
At least two years of experience with one or more UNIX scripting languages such as Bash, Csh, or Tcsh is preferred.
At least two years of experience working in a UNIX-like environment with proficiency in using command line tools is necessary.
Ability to communicate to researchers the value that ACCRE provides is necessary.
A strong understanding of the use of computational resources to solve scientific problems is necessary.
Strong programming ability and understanding of commonly used design patterns is necessary.
At least two years of experience with one or more major programming languages such as C, C++, Java, or Fortran, one or more Unix scripting languages such as Bash, Csh, or Tcsh, and one or more interpreted language like Perl, Python, Matlab, or R is necessary.
Strong working knowledge of the following items is necessary:
Building and installing software in a Unix-like environment with tools like autoconf, automake, and cmake.
Parallel programming APIs like MPI, OpenMP, PThreads, CUDA, OpenACC, or OpenGL.
Version control software, preferably Git.
Container technologies, in particular Docker and Singularity.
Willingness to learn system administration with Unix-based operating systems is necessary.
About Vanderbilt Benefits:
Inaddition to offering a lively community that encourages learning and celebratesdiversity, VU offers a competitive, flexible benefits package including health,dental, vision, life, accidental death & dismemberment, disabilityinsurance, paid time off, and a 403(b) retirement plan with employer match.Vanderbilt offers tuition assistance to employees, spouses and dependent
children.Also, after five years of service, Vanderbilt will pay up to 55% of the tuitionfor up to three dependent children to earn a bachelor's degree. Learn moreabout Vanderbilt's benefits at VU Benefits Overview.
Vanderbiltis a renowned private institution founded in 1873 located a little more than amile from downtown Nashville, TN. The university's students,faculty, staff and visitors frequently cite Nashville as one of the big perksof Vanderbilt. VU is a place where your expertise will be valued,your knowledge expanded and your abilities challenged. It is a placewhere your diversity is sought and celebrated. It is a place whereemployees know they are part of something that is bigger than themselves, takeexceptional pride in their work and never settle for what was good enoughyesterday.
Internal Number: 1900033
About Vanderbilt University
Vanderbilt University is a center for scholarly research, informed and creative teaching, and service to the community and society at large. Vanderbilt will uphold the highest standards and be a leader in the quest for new knowledge through scholarship, the dissemination of knowledge through teaching and outreach, and the creative experimentation of ideas and concepts. In pursuit of these goals, Vanderbilt values most highly intellectual freedom that supports open inquiry, equality, compassion, and excellence in all endeavors.