Wednesday, October 10, 2012

Software makes the world go round...

Not surprisingly - given the computational nature of the 8th IEEE eScience meeting in Chciago - software was a recurring theme of many of the sessions.
The first Maintainable Software Practices in e-Science Workshop ( Organised by Neil Chue Hong and Jennifer Schopf took place during the conference. It was opened by Neil Chue Hong from the Software Sustainability Institute who provided an introduction to the workshop. The goal of this first workshop was to discuss the activities and issues that surround the production of sustainable and maintainable software. The focus was not on software engineering, but on the processes that surround it. How can you track and provide attribution for software? How are collaborative software projects managed in the research community? How do we manage the balance spent by researchers in writing software and actually doing research?
Education was identified as a key missing skill by Beverly Sanders following discussions in the Computational Chemistry and Materials Modeling community. The specialist nature of the scientific algorithms that are being researched and implemented means that graduates moving into computational research from an undergraduate course need to be educated with advanced programming skills. Once they have been educated in these skills access to robust and properly validated code modules would help in the rapid protoyping of new algortithms.
Alberto Di Meglio provided an update on the latest status of the ScienceSoft initiative - - which has been established to support the discover and exchange of software between the supply and demand side of the software ecosystem. While the long-term vision is to build a market of software providers able to provide software, services and training to meet the needs of the science community. Following its design stage earlier this year it has now moved into the prototyping phase with more functionality begin added to the website in response to the received feedback.
One of the keynotes expanded on the software theme. Gregory Wilson from the Software Carpentry ( project spoke about "Public Health and Scientific Computing" . The talk highlighted the need that as we become more depdent on eScience, researchers not only need to be educated in how to use the outputs of eScience (the data scientist) but also need need to be given the skills to manage the software they produce (software engineer).
Clearly, training up all researchers to be software engineers is challenging given the time pressure on most degree courses - especially as it is not garantted that everyone will go into research! But providng intensive software engineering courses lasting from 2 days to 2 weeks for graduates has been shown to have the greatet impact and uptake. However, even with this approach, recalled Wilson, it is important to teach the students what they will see value in first rather than focusing on fundamental computing science concepts.

Workforce education or the development of human capital represents fundamental areas that we need to invest in to esnure that research software is developed effectively by those in the community so that is maintainable and sustainable. Another area of investment that would benefit the scientific programmer is having access to an easily reusable library of software modules. This would allow researchers to build on the shoulders of those that came before rather than stepping on their toes!

No comments: