Growing up in Jämtland, about halfway to Lappland in Sweden, Dean Pastuhovic spent his teenage years the way a good many did in Sweden in the mid-90s: immersed in computer culture and putting their stamp on the emerging internet.
So it was just the long arc of destiny that Dean ended up as a Software Developer at Avinode, who unwinds by developing his own mobile apps. And playing some floorball, for balance.
Let’s begin from the beginning. Why did you become a software developer?
Well I guess when I got my first computer and I realized that as long as I had an internet connection I could quite easily have my own website, as long as I knew how to code it. There was an interesting moment where I realized I could put up my own website without asking anyone for permission, and that people from all over the world could visit it. So that was a big step. To do that I had to learn how do I program these sites. So I learned HTML, CSS and PHP to add a guestbook to my site. And then I just enjoyed doing that.
It seems like “Software Developer” is a wide-open kind of title. Why is that?
The reason the title is so abstract is that we do a lot of different things, all kind of tying together with software. My main objective would be to solve business problems – to solve problems for the business and for our customers. That’s why I’m here. And I do that through developing software.
How have you seen Avinode developing as a tech company since you’ve been here?
When I started here Avinode was already quite ingrained in the lean start-up and agile methodology, and it’s become second nature for us to work that way. And then we do our own adjustments to that to make it work better for us.
For example we tried out mob programming where the entire team sits around one computer. It’s been working out really well for us because we can share knowledge much easier when everyone is focused on the same task. We invited the originator of Mob programming here for a workshop. He presented the idea and how it had influenced his team, and we tried it out during the day. Now we do it once or twice a week. Some teams do it every day. You have to find your own balance.
When you’re looking to make changes or big shifts, are you looking more to tech trends or customer needs, or both at the same time?
I guess every employee, depending on who the person is, has a certain inner drive to innovate, and to scratch an itch if there’s a new technology we’re interested in. If we can apply that to business, to help us do things faster or cheaper or more reliably, we are all for it. It would be driven by the employee’s desire to educate themselves or try this out, and if it’s a good fit we evaluate if we would like to proceed as a company using that product.
Can you give a quick intro to the Avinode code base?
How do you find the right balance between innovation and practicality?
We try to develop incrementally. You always have to balance the need to build for the future and deliver today, right. So we need to keep that balance. Too much focus on innovation and you won’t deliver anything of value today. Too little and you will stagnate. So that’s something we decide as a team, if we should move to a different technology or do an upgrade to something newer and flashier. There could be a hidden risk in that you pick the wrong thing. You want to make sure that you’ve thought it through. A lot of the things happening in the industry today could benefit us and I think we have at least two initiatives we are exploring at this phase, which include looking into React for our frontend and microservices architecture for some of our services.
There are always these kinds of developments going on. That’s what makes Avinode great. We as teams decide if we want or need to move forward on certain parts of our stack, which tends to keep our stack up to date. The company as a whole benefits from it.