Twingly Team Interviews: “I didn’t have a computer, so I wrote the programs on paper”

Today we start a new series at the Twingly Blog: Twingly Team Interviews. From time to time we will publish interviews with our dear Twingly staff, presenting you the great people behind Twingly, their passions and their ideas and thoughts about the current and future state of the web. We start with Marcus Svensson, one of our skilled developers. During the interview he surprised us with the fact that he didn’t have a computer when he started coding. Instead, he wrote programs on paper!

Hi Marcus! Tell us who you are, about your background and how you happened to get a job at Twingly.
My name is Marcus Svensson, I am 32 years old. I studied applied physics but I have always had an interest in computers and programming. A friend of mine who is also friend with Twingly CEO Martin Källström told him about some artificial intelligence (AI) stuff I was doing in my spare time. Martin invited me to the Twingly office and we talked for a while. At that time I was about to write my thesis so we worked out something that we both were happy with, and in the end it led to a full employment. That was about two years ago.

What about this artificial intelligence project…?
It was for playing games. I could tell the computer program the rules and by playing itself repeatedly it would learn winning strategies. It started out completely random but quickly figured out tactics. The inspiration was a program called TD-Gammon (I think) which at the time was the best Backgammon program in the world, and also better than the best human.

What were your main projects at Twingly during the past two years?
I have mostly worked with Twingly Channels, our main project. But I also handle Twingly Live and the backend for Liveboard. For Channels I worked in a team with the other developers, Twingly Live and the Liveboard was mostly me and Martin who dealt with that.

You said you always have had an interest in computers and programming. When did you start coding?
I was about ten years old. I liked computers and borrowed a book from the library named “Programmera ABC80” and learned BASIC from it. But I didn’t have a computer, so I wrote the programs on paper. Then I visited a friend who had a Commodore C64 that had a BASIC prompt when it started, so we made a simple register where we could enter the initials for our classmates and got their addresses. Something like that. His mother asked my mom “What kind of computer does Marcus have?” when she came to fetch me, and my mother answered that I didn’t have one. After that I got one. 🙂

I really never heard of anybody who started coding on paper… Which are your preferred coding languages, which ones are you mainly focusing on at Twingly?
It depends on the task. Python is my number one choice for general work. If speed or memory footprint is important then C/C++ is the natural choice. But most often the ecosystem around the programming language is what matters the most. Twingly Live is Python, channels mostly C#. C# / ASP.NET can be a bit clumsy at times but it is not too bad, and it is improving all the time.

What are the biggest challenges of your work as a developer?
The biggest challenges are to get a good design from the beginning before you really know where things will be going. So you can make educated guesses at best that you will be stuck with. Another big problem is to see things with fresh eyes when you get used to how it works. New users might be confused by things that we don’t even think about anymore. As a developer you think about everything in terms of implementation details but that’s not the way users see a site or an app.

Could you use any of your AI experience when working at Twingly?
I have done some things like automatic classification of blogs into topics but users have not seen anything of that yet. Sometimes we collect statistics for customers and this kind of classification is useful. But there is none of that AI stuff in Channels or Live. Yet.

Which web trends do you think are most fascinating right now?
I’m fascinated by how free the Internet is and how that will affect society. Anyone can write things (or create music or pictures). If they do it well they get an audience. Instead of a few superstars we will get access to a lot of less famous but very talented people. Whether we’re talking journalists/bloggers or musicians or whatever. The power to decide has moved back to the people instead of the middlemen.

And you are not worried that the old gatekeepers might try to stop that, now that they are realising what you have described?
I think the genie is out of the bottle.

What about hot trends from a more technological point of view?
Of course aggregation is a big issue right now. Most people seem to have problems with information overload or “Google Reader guilt”. I would love to solve that, if only for my own sake.

What’s the difficulty with solving information overload?
If I could have a thousand persons that knew me very well, reading through the Internet every day and make recommendations on what I would like, they would be making some very good recommendations for me. Could a computer do this as well? I think so, but it is a hard problem. Computers are still too bad at understanding content.

So back to AI?
Yep. 🙂

How do you keep yourself updated?
I use sources that I trust. Like Hacker News where people with similar interests post stories, or where very competent people discuss things.

What are your wishes for the future direction of the web?
I like the directions we have taken with HTML5-based web apps lately. I’d like to move even more things online, web apps taking over from (and integrating with) desktop apps to a larger extent, and a solution to the lock-in problem with web apps. But this feels more like two years in the future, not five. Five years on the Internet is such a long time that I don’t even know what to wish for.

3 thoughts on “Twingly Team Interviews: “I didn’t have a computer, so I wrote the programs on paper”

Leave a Reply

Your email address will not be published. Required fields are marked *