The goal of this project is to teach students and researchers how to write better code and provide research groups with software development e-infrastructure tools to collaboratively develop, review, discuss, test, and share their codes.
We address all academic disciplines and try to be as programming language-independent as possible in our workshops. We address students and researchers who already write code.
Train Nordic research groups and projects in state-of-the-art tools and practices in modern collaborative software engineering to build modular, reusable, maintainable, sustainable, reproducible, testable, and robust software.
The long-term impact of CodeRefinery workshops is measured through a post-workshop survey which is sent out to all former participants 3-6 months after attending a workshop. The two graphs below show how former participants use various software development tools after attending a workshop (left), and how their code and collaboration with colleagues has changed (right). These results are based on 71 survey responses obtained to date -- 48% of which are Graduate students, 13% postdocs, 9% researchers, 9% Assistant/Associate/Full professors and 19% other occupations (e.g staff scientists, scientific programmers).
"The main thing I got out of the workshop is that I'm now extensively using the issue-tracking systems on GitHub and GitLab. Also on one of my major projects we have moved towards having shorter lived feature branches and using merge requests for more frequent merges and less code divergence. I also started using GitLab's issues system more frequently. It made it easier for people in my lab to report bugs, and easier for me to keep track of them"
"I take more time to think about long term solutions than "quick fixes" even if it's short of time. Another aspect is that I try to make the code reproducible in the sense of documentation, code readability, clear log files, etc, both for helping myself and my collaborators"
"My code is better documented, and I use version control much more. I have also started writing more unit tests"
"For me the most important thing was to learn to use git better. Now I make frequent commented commits so it is far easier to see what I actually did for me and others too"
"This was an extremely useful workshop. Thank you very much! I wish I had known this stuff already as a grad student 10+ years ago. It is now easier to collaborate with co-developers and easier to keep things in order and structured"