Ready, steady, go!

Karianne Ekern is a developer in Vivaldi’s Android team. Last month she answered a few questions for Norwegian tech site digi.no. We picked her inspiring story to start us off in the new year.

Karianne Ekern running

What do you do at Vivaldi and why did you choose Vivaldi?

I’m working on integrating the Chromium and Vivaldi browser code with the Android platform and developing new functionality for Vivaldi on mobile. For example, I created our own homepage with Speed ​​Dials and developed Notes and Panels for the mobile version of Vivaldi. In addition to developing new functionality, there’s always some bug fixing to do. 

It’s important for me to have a job that is meaningful and doesn’t enhance trends in data collection, user manipulation and the invasion of privacy. Vivaldi is absolutely unique in this respect. The fact that we have a strict policy on not collecting unnecessary data about users, and are an ethical alternative to browsers like Chrome, was crucial to me.

Where do you work most often?

I work in the office or from home.

I usually have two meetings per week, a joint meeting with all Vivaldi offices (in Oslo, Reykjavik and Magnolia, USA), and one with the mobile team, which includes developers, testers, and designers.

Can you tell us a bit more about the projects you have been working on lately?

For the past year, I have been working to get a beta version of Vivaldi for Android out. That meant finding a way to build Vivaldi on the Chromium open-source project and on Vivaldi’s desktop codebase. It encompasses coding in C ++, JNI (Java Native Interface, which is an interface for calling native C ++ code from Java code on Android), and Java. Initially, I made an implementation of Notes with JNI to see if we would go ahead with such an approach. 

Since then we have been working on building more functionality. Right now, we are stabilizing the Android version for the final release, and we have many ideas for new functionality that we want to implement.

How long have you worked as a developer?

I have been working as a developer since I finished my Master’s Degree in Computer Science in 2005. It will soon be 15 years.

I first worked at Opera Software for eight years, then as a consultant in Knowit for four years. After that, I worked for one year in the mobile team at Kahoot, and since August 2018 I have worked at Vivaldi. I have been lucky with my choice of employers, and have worked on many exciting projects and with very competent people.

After graduation, my first job developing was in the Unix department of Opera Software, where I was thrown into implementing a version of the Opera browser for Nintendo Wii. A few years later, I switched to the desktop team working with some fantastic people. Some of them are now my colleagues at Vivaldi.

How old were you when you first started learning to program?

Before I embarked on studying Computer Science, I worked as an editor for Universitetsforlaget, and the very first thing I programmed was macros in Visual Basic for Word. I did this to automate repetitive tasks that editors and proofreaders otherwise have to do. Beyond that, I learned to program during my studies at the Department of Computer Science at the University of Oslo where I started in 2002.

What kind of education do you have?

I have a Bachelor’s and Master’s Degree in Computer Science from the University of Oslo (2002 – 2005), and I have also studied Mathematics, History of Ideas and intermediate and postgraduate studies in Comparative Literature. History of Ideas is a fantastic subject, which I am very happy to have studied. It should really be compulsory in school. It gives you a useful perspective on how ideas and thinking have changed throughout history.

Since I started studying Computer Science only in adulthood, and I already had a degree – and a student loan – I had to take the Computer Science course in less time than usual, and it was quite a hectic 3.5 years, with studies, part-time jobs, and 3 small children. But I thrived in Computer Science and was never in doubt that I had found what I wanted to do.

What platforms do you usually develop for?

I have worked extensively with both cross-platform development in C ++ and development for Unix and later OS X. In recent years, I have worked more and more with mobile development for iOS and Android. At Vivaldi, I worked for a short time fixing bugs in the desktop version in C ++ and Javascript, before we started developing Vivaldi for Android.

Which OS do you prefer to use yourself? Can you tell us why?

Previously, I would probably say Linux, but now I prefer to use a Mac. The switch came after I started developing for OS X in the Desktop team at Opera. With a Mac, I have pretty much the same as on Linux, while at the same time everything is very simple and user-friendly.

What programming languages ​​do you use?

Right now it is mostly Java and C ++. But I’ve also worked a lot with Objective-C, Swift, Python, Ruby, and Kotlin. I have taken courses in Scala and programmed a little in Erlang as a hobby. As long as you have learned a few languages ​​well, learning new languages ​​when needed is not a problem.

What is your favorite language and why?

I basically have no favorite language, although I like C ++ very much. Since we use the Chromium code in Vivaldi, it gives us some direction on which languages ​​and technologies we can use, thus it has been Java so far as well as C ++, but not Kotlin.

Which two tools can you not manage without, and why?

What I use on a daily basis at work is the terminal and an editor, currently running in Android Studio and VS Code. In addition to a web browser. Or more. I use Vivaldi, of course, but also other browsers to familiarize myself with them.

What kind of tasks do you like to work on?

I like to work with challenging tasks that make it necessary to research and dig a little to find a good approach. That means I have to learn something new.

How do you keep yourself up to date?

I read a lot of professional literature, follow some blogs, and watch conferences.

To what extent have methods and technologies such as DevOps, machine learning, cloud, and containers changed the way you work?

To a small extent, since I have mainly worked with product development.

Do you see any trends ahead that will really change the lives of developers?

Machine learning has put intelligence and ethical issues on the agenda. With data collection, personalization and use of machine learning, we have seen that technology can be used to manipulate users and reality. Hopefully, ethics will be important for all developers, and both ethics and privacy and other relevant legislation should be included in Computer Science studies. More diversity in the industry is also important. If we are to create solutions for all people, then we must have a better representation of all groups and ages.

What technologies or disciplines would you like to know more about?

Had I started Computer Science studies right after high school, I probably would have taken more Maths besides Computer Science. Subjects such as Algebra, Number Theory and Cryptography added flavor during my studies, and I would like to learn more.

Do you regularly attend conferences? If so, which one is the most important to you?

I do not attend conferences very often because it has been difficult to combine with my responsibilities as a parent. But I watch a lot of talks from conferences on video.

I really want to limit how much I fly, so it is OK not to fly here and there to see talks I might as well watch on video. But I love learning, reading and watching talks, and I’ve been to Mobile Era, JavaZone, NDC and WebRebels a number of times. Now I mostly follow Google IO, Android Dev Summit, and some other Kotlin and Android conferences.

What relationship do you have to embedded privacy?

Privacy is very important, and before I started at Vivaldi I actually considered taking some legal subjects to learn more about this. The collection of data and the use of personalized services has taken off within technology companies in recent years, and this is a daunting development. While there is a more and more critical discussion of the methods these companies use, it is often here that the industry looks for ideas and methods, and then the problems arise.

Children – down to the smallest elementary school kids – are handed out iPads and Chromebooks and use an online service in school work where they have to “tick off” to accept data collection, without having any real opportunity to refuse or understand what they “approve”. The same goes for adults – there are not really alternatives to giving too much private information.

Do you contribute, either at work or as a hobby, to any open source project – if so, which?

No, but I’ve worked on open-source projects, such as operawatir and desktopwatir, which were test tools we created when working in the desktop team of Opera Software. They are written in C ++, Java and Ruby.

How much do you program in your spare time?

Little. I happen to program a bit with my daughter, but otherwise, it is mostly work-related, either directly or to introduce myself to new frameworks, programming languages ​​or APIs.

Do you have any (other) hobbies?

Running. Being out and doing some kind of physical activity is absolutely necessary when sitting still for 8 hours every day at work. I love to run. I like to run to work instead of taking the bus and tram, and participate in several marathons and ultra races a year. Running is a great way to get your head around things, and new ideas or solutions to problems can often come up during a run. I also read a lot, both professional literature and fiction.

What do you enjoy most about working as a developer?

It’s a wonderful profession. I am allowed to do what I like best every day, to do problem-solving, to be creative and to track down sources of bugs. In addition, it is a profession where you have to learn something new all the time, and I enjoy this very much. Programming can also be used to solve an incredible variety of problems, and there are a host of exciting jobs for anyone who is good at programming. You can work with everything from recycling machines to improving healthcare or making people’s everyday lives easier. In addition, programming is central to everything we surround ourselves with, and understanding programming and informatics means that you have an opportunity to see from a different perspective how things around us work.

Do you find that the developer job has some negative aspects?

It is a terribly sedentary job. And then there are far too few female developers, it’s not good either for the teams or for the products and services being created.

What are the best perks you get at Vivaldi?

Great lunch and nice colleagues. Seeing that what I’ve been working on is used by millions of users.

Photo by Bjørn Hytjanstorp.

This interview was first published on digi.no.

Get away from Big Tech and have fun doing it

Download Vivaldi