Skip to content

Latest commit

 

History

History
88 lines (75 loc) · 3.23 KB

employee-orientation.md

File metadata and controls

88 lines (75 loc) · 3.23 KB

New Employee Introduction to EBI Ecosystem Modeling Program

Scope

Program overview

Protocols

Expectations

  • Schedules:
  • Provide planned work schedules, including any known vacations / absences.
  • In office during normal working hours
  • Give supervisor a minimum of 24 hour notice for any unexpected absences (rare exceptions).
  • Skills: After the first week, you will be expected to know
  • Location of contents in the PEcAn wiki
  • How to edit the wiki
  • How to create, respond to, and resolve issues.
  • How to use git version control (at minimum: you should have a Github/Bitbucket fork and a local copy of source code for the project you are working on).
  • Working environment
  • Dress appropriately
  • Be nice
  • Ask Questions

Best Practices Overview

The first required reading for all is “Best Practices for Scientific Computing” by White et al 2014.

  • Write programs for people, not computers
  • Consistent Style, meaningful variable names
  • Let the computer do the work
  • Automated builds, workflows
  • Make incremental changes:
  • Commit frequently.
  • everything written (created manually) goes in version control
  • Don’t repeat yourself
  • modular code
  • reuse or refactor code instead of re-writing it: don’t re-invent the wheel. Before writing a new function, ask “is there an existing package/ gem/ library that already does this?
  • plan for mistakes
  • add assertions
  • write tests (and examples)
  • these are important for collaborative coding
  • Document design and purpose, not mechanics
  • Use vignettes (R), tests, and examples for documentation
  • vignettes> publications (and vice-versa)
  • collaborate
  • Ask each other questions. Review each other’s code.
  • Most technical questions should be asked either as an issue in Redmine, Github, Bitbucket. If a generic programming question, Stackexchange is very useful.

Project-Specific

Everyone will need to use GitHub for project-specific bug and feature tracking (there will be overlap). In addition to reading the wikis listed below, you should familiarize yourself with using git and markdown. Update wikis with incorrect information.