Dikutal is starting up a new concept of interviews with graduees from DIKU. Due to requests from the university and because of the many English speaking masters degree students at the institute, the articles will be available in English. With this, Dikutal hopes to become a more internationally and more career oriented students portal.

The first interview in the series will be with Software Engineer at BK Medical, Jakob Jensen, whom I met at his workplace in Herlev on a Tuesday afternoon. It will be in two parts since Jakob had so much to tell.

Jakob Jensen

What is your educational background?

I am a Computer Scientist from DIKU, just like most of the readers will hopefully become some day. What might be more interesting is what I specialised in for my master's, since the bachelor's part of the education usually is the same for most students. Of course there are differences, but it's mostly the same things we learn. On my masters I focused on medical image analysis and distributed systems. I started out with courses in image analysis, and once I'd finished all the relevant courses, I had to find some more. I decided on distributed systems, which I also wrote my thesis on.

Did you use your knowledge about distributed systems after DIKU?

Only to a very limited degree. Actually I didn't use my knowledge in medical image analysis a whole lot either.

But isn't that what BK-medical works with?

Yes, it is. But we have a lot of PhD graduees specialised in ultrasound, and they do all the hardcore algorithms. That's the way this industry works. If you want the really interesting jobs, you need to have a PhD. Or at least you have to work your way up the ranks a bit if you start out with a masters degree.

What do you actually work with then?

We make ultrasound scanners, but not those used for scanning pregnant women. Our scanners are primarily used in surgeries and anaesthesia.

Why does one apply the theories of computer science for such work?

There's a lot of software involved. Back in the days, ultrasound was all about hardware, but hardware is expensive to develop, and even more expensive to bugfix or repair. So the industry is moving functionality into software. Also, computers get faster and more powerful all the time giving software even more of an edge over hardware. Let us say we have a bug in one of your chips, and this chip is out there in 1000 scanners scattered across the country. We then have to fix that bug in 1000 scanners. If it was in a software module instead, we could distribute the fix digitally. So it is easier, cheaper and gives us more opportunities. Today we have a potent gaming PC inside our scanner to do all of the calculations which used to be done in hardware. That is why the company needs computer scientists and software engineers.

How do you use the things you learned from computer science in your daily work?

It's hard to point out something I learned from DIKU that I am using. When I finished my studies, I thought: "I can't do anything, I don't know anything". I couldn't concretely point out anything I'd learned. Since then I've realised that my education has provided a solid foundation. When you graduate you can do anything. Not with maximum precision, and not right away. It will, however, make it easier for you to pick up new knowledge and figure out how to solve problems. In the ultrasound business, performance is a pretty big issue. We have a lot of data, enough to make a PCI-express bus gasp for air, and everything happens in real time. So there are some very high requirements to efficiency. And one of the things I've learned from computer science is that when I write performance dependent code, I am aware of a number of little tricks that can be used to cut down on computations. I might not be able to remember the exact implementations right away, but I know they exist. I know there is something called cache-miss, so I know my data structures have to be shaped in a specific way, or at least they have to be allocated in the memory in the right way, in order to achieve optimal performance. I've also been introduced to a lot of algorithms to many common problems. These algorithms can be modified to solve many of the problems you encounter. I can't really just go ahead and implement a red-black search tree right now in this instant, but I know where to look up how, and the second time I implement it, it is probably going to be easier than the first time, so it is easier for me to understand it now.