Application Developer Job Descriptions and Promotion Criteria (DRAFT)

What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document? What is this document?

Need: links to official job descriptions

Associate application developer

Develops and modifies software with some guidance. Designs, codes, performs benchmark testing, debugging and documentation of programs.

“Some guidance” means that the associate application developer may need guidance from her supervisor or more advanced application developers. This guidance may include the selection of appropriate programming language, the design of specific data structures to model the data, etc. Assistance may be needed to understand the sources and quality of data received and the work necessary to make data suitable for analysis. Projects undertaken by the Associate application developer will be limited in scope or the Associate application developer will be one of a number of IT staff that includes more senior members.

Application developer

Develops and modifies software under occasional guidance. Designs, codes, performs benchmark testing, debugging and documentation of programs. Implements small projects or components or large projects. Ability to solve medium to complex problems.

Criteria for promotion from associate application developer

  • Typical length of time as associate application developer 2-4 years
  • Supervision: requires minimal guidance
  • Leadership: n/a
  • Mentoring: n/a
  • Projects: small or components of large

The application developer can work mostly independently. Once assigned to a project she can determine the IT needs of the project, develop a plan for meeting those needs, and carry out the work. The need for occasional guidance from the supervisor or mentor might be expected when the application developer is learning new techniques or needs help navigating unfamiliar systems. The application developer can successfully work in larger projects. These projects might include multiple centers, multiple data sources, database design, etc.

Senior application developer

Develops and modifies software independently. Designs, codes, performs benchmark testing, debugging and documentation of programs. Implements large/multiple development projects. Functions as lead on projects. May lead teams. Coaches development of application Developers.

Criteria for promotion from application developer

  • Typical length of time as application developer 4-6 years
  • Supervision: works independently
  • Leadership: is lead developer on projects
  • Mentoring: coaches junior staff
  • Projects: large, multiple

The senior application developer is expected to work independently. She might be involved in more complex projects that involve more centers, larger datasets, sophisticated statistical programming, etc. She can be included early in a project to help determine the scope of the IT needs, assist in the design of data collection and other data management, set deadlines and targets, and perform the work. If a project includes multiple IT staff, the senior AD will be the first contact supervisor for the more junior staff on the project. The senior AD can be expected to have some domain knowledge related to the project or be able to develop that knowledge. The senior AD serves as an IT resource to faculty, non-IT staff (e.g. biostatisticians), and less senior IT staff.

Principal application developer

Provides leadership in the development and modification of complex, critical applications. Leads team to design, code, perform benchmark testing, debugging and documentation of programs. Implements complex development projects. Coaches development of application developers

Criteria for promotion from senior application developer

  • Typical length of time as senior application developer 6-8 years
  • Supervision: works independently
  • Leadership: leads team on projects
  • Mentoring: coaches junior staff
  • Projects: complex

A principal application developer is expected to work independently. She will have the skills of the senior application developer plus these additional: She will have experience working in teams of researchers, scientists, PIs, and developers. She will be able to perform as the sole developer or will be the leader of the IT component of a project if more than one developer is involved. She will coach less experienced members of the team, including other developers and statisticians in IT-related skills, methods, best practices, etc. She is expected to find robust solutions to the most challenging programming tasks or problems, and to implement creative solutions as required for the needs of the project. She may be involved in researching, formulating, and implementing solutions that affect many projects (i.e., applications, approaches, frameworks, or methods used by many developers, regardless of project, to facilitate their work individually or as a team).

Lead application developer

Provides expert leadership in the development and modification of complex, critical applications. Strategic lead to design, code, perform benchmark testing, debugging and documentation of programs. Implements complex development projects. Coaches development of staff.

Criteria for promotion from principal application developer

  • Typical length of time as principal application developer 8-10 years
  • Supervision: works independently
  • Leadership: strategic / expert lead on projects
  • Mentoring: coaches junior staff
  • Projects: complex, critical

The lead application developer will have an extensive history of high-level performance as a principal application developer. She will have developed domain knowledge in various areas. She will be a recognized leader in the institution, having collaborated on projects that have added to the body of knowledge in medicine, biostatistics, or other health-related areas. She will have demonstrated ability for strategic decision-making in terms of how to approach a programming project or task with a view to department/institution-wide interoperability or potential adoption/adaption in other use cases (as appropriate to the project).

Definitions

  • Projects (from an IT standpoint)
    • Small – a small project would involve one to a few data sources and simple data formats that do not require a great deal of data cleaning. The programming involved would be the implementation of well defined statistical methods. Reports that are produced would be simple descriptive statistics with little data manipulation. Programming would be done in a way that facilitates reproducible research.
    • Large – A large project might have many data sources in various forms. The retrieval of data from these sources and the manipulating of data into usable forms could be a complicated process. The programming tasks will need considerable skill and experience. Some domain-specific knowledge would be needed to effectively work in a large project. The developer will likely work closely with principal investigators, project coordinators, and statisticians. Web applications and other server-based resources will need to be developed.
    • Complex – A complex project builds on the characteristics of a large project. The developer tasks are more involved and might include the implementation of new or novel statistical methods. Reports and similar products will be complicated and might include live or online presentations. Server-based resources such as data entry tools, databases, web applications, etc. will likely need predictable uptime. The ability to recover from a fault or failure is needed.
    • Critical – A critical project is one in which the programs, processes, and computing resources need to be available in a predictable manner. If a fault or outage in experienced, the project members should be able to expect service to be restored in a defined period. Any project may be a critical project.
Topic revision: r1 - 29 Mar 2019, DalePlummer
 

This site is powered by FoswikiCopyright © 2013-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Vanderbilt Biostatistics Wiki? Send feedback