"The Research Software Engineering Group has been of great help to me in starting to use Git and organizing my code. I joined the Code Refinery workshops, which provided a good introduction to Git. In the time that followed, the RSE group was available to answer Git-related questions, making it easier for me to apply Git to my own research work. The RSE group also introduced me to tools like Black, Flake8, and docstring guides for cleaning up code, as well as creating top-level functions in scripts and importing functions via symlink. The sessions have been a combination of in-person help and group discussions, both of which have worked out well. The group is always welcoming and eager to help with any problems you may have."
"I had approached the RSE group seeking help to improve the efficiency and performance of my python code which was taking approximately 4 weeks to run even when using 8 cores of a server.
The objective was to go through 8 years of data stored in approximately 18000 txt files and extract certain parameters based on a set of given conditions. Even though I had used python before, I got the opportunity to learn about new functionalities and features of pandas dataframes. Using Black and other extensions, I was taught to organize my code more efficiently thereby improving its readability. Additionally, Radovan also showed me that is possible to import my own functions as separate modules without the need to populate my script with a lot of functions. These were so powerful that the execution time for the script slid down from 4 weeks to below an hour which was really cool!
Radovan also motivated me to use GitHub, which I had never used before, by introducing features that could be utilized by a research student like me who uses a lot of data and scripts. I am starting to explore more features of GitHub and python on my own now. I am really happy with the guidance I had received from the RSE group especially that from Radovan who helped me re-think the way I program. I felt that the RSE group members are so welcoming and excited to help learn and relearn new things together."
"As an environmental chemist, I’ve spent years working with a large research code written in Visual Basic 6 (VB6). My programming skills have been limited to trial and error in VB6. When we finally decided to translate our code from VB6 to Python for long-term sustainability, I came across RSE by coincidence. At that point, I had no idea where to start learning Python or how to approach the code effectively. I was uncertain about how much assistance RSE could provide for this daunting task.
However, my experience with RSE turned out to be incredibly positive. From the outset, they were approachable, friendly, and helpful. They patiently guided me through Python basics and introduced me to essential tools like docstring guidelines, testing, pylint, black, profiling and git. While I did most of the programming myself, they provided strategic advice on code architecture and structure, covering both simple concepts and more intricate ones. Most importantly, they introduced me to a programming mindset—how to think when designing code, what to prioritize, and the importance of principles like DRY code, code smells, and classes screaming to get out.
From dealing with a massive spaghetti codebase in VB6 – once so convoluted that I had to print it out on paper to trace loops and connections, I now have a more robust, flexible, sustainable and modern codebase in an object-oriented design.
Collaborating with RSE opened up a whole new world for me. I learned things I wish I’d known a decade ago. Not only did they assist with the challenging task of porting my code from VB6 to Python, but they also helped me become a better, more independent programmer. It felt like having a personal programming coach—one who not only knows the technical aspects but can also communicate effectively with non-programmers. Their patience in addressing my questions and mistakes was invaluable. I doubt I would have found anyone else who could have helped me with the same enthusiasm and dedication as RSE.
The collaboration with the RSE team transformed the porting process into an enjoyable, fun and rewarding experience. I can’t praise them enough, especially Jørn, whom I met with regularly for almost a year. I’m forever grateful for everything he taught (and continues to teach) me. I sincerely hope our collaboration continues, and if you’re considering reaching out to them, don’t hesitate—just do it. And bring cookies!"