Thanks 🙏 to Neil Shephard for checking though this!
Research Software Engineers are often not much better at actually writing code than any other researcher, we just know a lot of cheats, shortcuts and ways to automate things. I’m going to risk the wrath of my fellow engineers and share some of these here. They will mean you can work a bit faster, but mostly will stop you throwing code away when you come back to it after a few months and can’t figure out what the flip it’s supposed to do.
The RSE Team are pleased to announce three scheduled sessions of the increasingly popular Git & GitHub through GitKraken - Zero to Hero!. These courses will run over two consecutive days in morning sessions from 09:30 to 13:00 on the following days.
Git is a system of version controlling your code. Think of it as a lab-book or doctors notes that are taken as you progress through your work, recording conditions, saving what has worked and correcting what doesn’t.
GitHub is a website that allows people to work collaboratively on version controlled code.
GitKraken is a client for working with Git and GitHub that includes both a GUI (Graphical User Interface) and a CLI (Command Line Interface)
Getting started with these tools can be overwhelming but by taking this course you will be introduced to the concepts behind them and how to use them effectively to not just version control your own work but work with others on the same code.
The course material is available online if you want to take a peek and the first half using Git and publishing web-pages can be worked through in your own time. The real benefit comes from participating in the collaborative exercises in the second half where you work together on projects making Pull Requests and resolving problems that arise.
If you’ve never used Git, GitHub or GitKraken or have only just started then sign-up and come and learn more about these powerful tools.
git is an exceptionally popular and useful tool in developing software. In the RSE team we’ve been running a regular course on using git and GitHub via a great interface called GitKraken client. Recently, we got together as part of one of our LunchBytes events to share our favourite tools and tips for working with git and GitHub, so here are some of the tools that we saw demonstrations of! You can also see demos of each tool in the video from the LunchBytes session below, time codes are provided in each section.
We want to make our candidate selection process as open as possible. Generally we’re not trying to hire people who can solve software problems on the acute timescale and in the pressured situation of a job interview, so maybe it’s best to share some example interview questions and assessment tools with everyone?
This is a representative example, and gives an idea of what to expect, but the process we use for any specific role may differ somewhat.
We have a job advert out for an RSE! Here are six reasons to apply:
In research, it is of utmost importance to the scientific process to be able to reproduce research findings in order to establish their validity. However, more often than not, the code that is written for research purposes cannot be easily run again, sometimes even by the code’s authour (yours truly included!).
This year, I’ve been awarded a fellowship by the Software Sustainability Institute to develop guidance and training to help researchers who use MATLAB to find and learn the tools that they need to easily produce better research by making their code reproducible.
During my PhD and postdoctoral research, I used MATLAB, among other languages, to analyse data, run simulations, make figures and control instrumentation. However, at the time, I didn’t know about the concepts required to make my code reproducible for myself and others. Over the last few years, as a Research Software Engineer, I’ve gained the experience needed to develop reproducible software in a range of languages including MATLAB. Now it’s time to share what I’ve learned with everyone!
This blog post should serve as a very brief set of signposts to some of the concepts you can use to develop a reproducible project in MATLAB. You can expect more to come throughout my fellowship, so watch this space.
If you’ve been dabbling in programming for a while you may have heard of “linting your code” which is a process of static code analysis to remove the “fluff” from your code. Just as physically linting your clothes removes unwanted fluff, linting your code removes “fluff” and can help…
This helps reduce the technical debt which impacts the amount of time required for maintenance and further development of a code base. The main focus of this article is the use of linting to ensure consistent coding style, it focuses on Python under Linux but similar tools are available for other operating systems and languages.
Due to team member relocating to another country (😥) we have an RSE role in the team at the University of Sheffield. It is role where we are specifically looking to recruit someone with skills in R.
Are you interested in joining a team to develop and facilitate reproducible software through collaborations across the whole spectrum of university research areas?
Bob Turner from the RSE Team gave a talk at SeptembRSE! Video is now available…
Software is an important part of research and a key research output. We conducted a survey at the University of Sheffield in October 2020, similar to previous surveys conducted nationally and at the University of Southampton, to find out about how software was being used in research.
For queries relating to collaborating with the RSE team on projects: firstname.lastname@example.org
Join our mailing list so as to be notified when we advertise talks and workshops by subscribing to this Google Group.