Meet Hilma Maria Tivegård, Senior Software Engineer
Hilma has been working for three years as a Senior Software Engineer at the Headquarter Office of HMS in Stockholm. We met with her around a cup of coffee to hear about her experience developing software for nuclear medicine diagnostics and therapy.
Can you describe what you do at our company?
I create new features and functionalities within the Hermia Software. Right now, I work on the upcoming Selective Internal Radiation Therapy (SIRT) functionality and before that I developed the new statistics viewport, the dose volume histogram, and the lesion tracker.
The team works in the same code but concentrates on different parts of the code depending on their interest. For some, it can be the calculations and optimization for speed and for others, like myself, it is the user interaction which I like.
What motivates you at work?
It is two parts. One part is the problem solving.
"I really enjoy thinking over and finding solutions, but it is also seeing how those solutions help our end users and their patients."
As a developer it is important for me that I work on something good. I could
work on online casinos, but I don’t want to do that. My sister is a doctor working with cancer and she really pushed me to work with this topic.
How did you choose the career of a software engineer?
I studied engineering physics at Uppsala University and programming was a part of many classes I took. It wasn’t the main focus, but we used programming to solve problems. Since I was a kid, I always liked to build things, and this was a really nice way for me to solve problems. Programming was a tool for me to achieve that. From the beginning I did not have any plans to work with programming, I discovered it at university and realized I could be happy doing that. I started with more hardware-oriented programming but then I started to program with ADA which was developed for the defence industry to then move on to more modern languages. Today I work with C#.
What is your favourite part of the job?
All parts. Discussing new features, writing the code, getting feedback and making adjustments so I know I create what the users need and not only what I first thought they wanted and finally showing it to them.
How does the process look like when you start a new development project?
It is a process to create good software and I feel that here at HMS we really get the time we need to do that. We follow an agile methodology in opposite to the waterfall method where you first get requirements – code – test – present. With the waterfall method it can take a long time before the person who wrote the requirements see the product. With an agile methodology we get feedback from the clinical specialists already during the development process so they can try out what we have discussed and see if we have understood them right and determine if it is easy to use. We also use mockups that we discuss with the clinical specialists before we code.
We also document the requirements in a more formal way and for this we use a system called JAMA. The requirements are written in the form of user stories that define who the user is and what they need to be able to do with the function we are to develop. We formulate it as follow “As a user I can .... So that ....” Sometimes we need to iterate on the user stories when we discover the assumptions are not matching. So, it is a work-in-progress until the final testing is done.
Is there any milestone in your work that you are most proud of?
I think it is always the latest released version. The statistics dashboard is an example. But I think I will be even more proud after the next version. There are always new things to work on and improve in our software and that is really fun.
What is a good day at work for you?
When I find the solution to a really hard problem. Solving a problem is usually a 3-day process for me. The first day I just sit and try to understand what I am supposed to do and not panic, then there is a lot of thinking and usually on the third day all the pieces will come together, and I can come up with a solution. It is mostly an individual process where the thinking part takes most of the time. In many cases, we write new code as we have not solved that exact problem before. This is the great challenge.
Where do you get inspiration from in your field?
We are working with Microsoft and they have very good tutorials. We are trying to keep the platform up to date with new versions of frameworks and languages and we can read great blog posts on these things.
Has it been anyhow challenging to work in a male-dominated field?
My whole career I was in a male dominated field from school to work. It comes with the interest, and I don’t experience it as a problem.
"Here I think I have the best team ever. They are friendly, helpful, and very skilled programmers. I’m really happy here!"
What would you give as a piece of advice to other people thinking of joining a career in software engineering?
“Never delete code that you don’t understand.” There are many funny stories around that.
What qualities does a software developer need to have?
Patience - you will run into problems that are hard to solve and sometimes you need to work hard for a long time before you see results.
What are your hobbies and interests outside of work?
I like rock climbing and watercolour painting. Watercolour painting is great because of the total lack of control over how the paint will move. It is the opposite to programming. Rock climbing is problem solving just like programming, but it is also great for stretching my muscles after sitting all day by the computer.
Anything you are looking forward to at the moment?
I really look forward to our office Christmas party. Besides that, I am also looking forward to visiting a hospital to present SIRT and where we are with it and to the day when the end users will start to use it in clinical practice. The first feedback so far has been very positive.