Software Carpentry

Coming from an engineering background, I have seen the issues that well meaning engineers encounter when attempting to develop software.

These include:

  • Inappropriate technology or language selection
  • Poor architecture and strong coupling between components
  • Inadequate or non-existent testing

As a result they often spend much of their time fighting with the software instead of solving the design or research problem. Additionally, the reuse and extensibility of the software is limited, resulting in significant rework.

Software Carpentry provides an excellent online course based on Open Source content intended to give scientists and engineers the fundamentals of software development.

Leave a Reply

Fork me on GitHub