Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The modern astronomer - a contributing software...

The modern astronomer - a contributing software engineer

Practicing modern science is no longer a solitary task; scientists are ever more required to collaborate on larger and larger projects. Data rates in science are exploding, not least in the field of Radio Astronomy. These huge datasets require the aid of software to automate data processing.

The previous two statements require that the modern astronomer is able not only to write software, but also to collaborate in software projects by writing sustainable code. Writing good software is hard and it becomes exponentially harder when the number of developers increases without proper software engineering techniques being used. This talk will be about basic techniques when contributing to, or starting, a scientific software project. The talk will also briefly cover state-of-the-art techniques used to deploy scientific software in a production environment.

Bio: Gijs Molenaar is a software engineer working on data reduction pipelines for MeerKAT (South Africa) and AARTFAAC (Netherlands).

Gijs Molenaar

May 24, 2016
Tweet

More Decks by Gijs Molenaar

Other Decks in Science

Transcript

  1. ASTRONOMER - SOFTWARE ENGINEER? • Data rates grow and grow

    • Automated processing • Basic scripting required
  2. PREPARE YOUR WORK FOR FUTURE USE • and your future

    self • Structure your code • Document the code • Unit test the code
  3. SHARE YOUR CODE • Just put it out there •

    Make everything open source • Open and reproducible science • Public money, ethical thing to do
  4. Advantages • Free hosting • Free other services • People

    can verify your results • People can reuse your work • Public exposure (future job) Disadvantages • Nobody cares? • Need to learn new technology • I’m ashamed • My awesome algorithm, worth money / papers • People will abuse it and publish about it • People will use my code and don’t give credits
  5. GIT - THERE IS A LEARNING CURVE • But in

    the end it will pay back • Go back in time of code • Backups • Collaboration