Meet the a-team: Anssi

 

How did you end up here?

"End up" sounds to me like this was something I just accidentally ended up doing, but for me this has been a lot more.

It was a bit over three years ago when it all got started. Back then me, Mika and Timo worked in the same company, and that company was going through some big changes. One day Mika contacted me and started up the discussions about building a new company. I was excited about the idea! After some family discussions we started founding Arado. Big thanks to Mika on getting my Arado story started and Timo for joining us immediately in the beginning. This has been so far for me the best journey in my work life and a lot because of all the great people around us. 

anssi-work.jpg

What do you like to do at work?

Building digital solutions that help people in their everyday work life. What makes me extremely happy is to work closely with people, whether it is pair coding or having discussions about the business challenges we are aiming to solve. I like to work based on facts not assumptions, and that naturally drives me closer to people and seeking for fast feedback on what I do. It has been interesting to see how many things that apply on technical work apply also in the business work. I like a lot combination of both sides. 

I like that although my title says CEO, I can do the day to day work with our customers similarly like everyone else in our company. Biggest reason for making that possible is the people we have. We do things together based on what people are interested. I'm proud of the people in our company, and also thankful to them for making my work so nice.

What do you like to do outside of work?

personal.png

Most of my time outside work goes to my family. I have a great family and I enjoy spending time with them a lot. The activities what we do can vary a lot. I enjoy a lot seeing all the things what they came up day to day in their path of growing. Have to say that it has been a growing path for me also in many sense.  

With the rest of my time I enjoy doing stuff related to sports I like to try out new things and challenge myself. The next challenge for me is to participate  a huge orienteering event in Finland called "Jukola". Biggest influencer for me on trying this one out is Jarno from our company. Let’s see how many times I will thank him in the dark night while trying to orienteer myself to the finish line. 😃 

 

Meet the a-team: Henrik

 

How did you end up here?

"Through a couple of lunches, laughs and a sense of good will and commitment.

In 2015 I started looking around as the company I was working for then was going through some renewals and I felt that my personal goals and values weren’t a good enough match with the company’s anymore. My dear colleague then and now, Mikko, pointed me towards Anssi and we got to lunchin’. Back then Arado was only a few people strong, but I immediately got the feeling that there was a lot of heart in play and that I could very well fit in with these people. After some internal struggling with the pains of stepping out of a comfy enterprisey job into a smaller company I did my decision of jumping aboard. A decision of which I can still say I’m honestly proud of."

IMG_0455.JPG

What do you like to do at work?

"I like to solve problems. More to the point I enjoy finding concise solutions to seemingly difficult problems. And maybe most of all I love doing it with a team of good, like-minded people. Pair coding with a person I can learn from and laugh while doing it is the best."

What do you like to do outside of work?

henrik_orienteering.JPG

"As in work, also outside it I enjoy group activities; team sports has always been my thing and in addition to some seasonal football and ice hockey I play floorball in the fourth division. I also enjoy reading, spending time with friends (and my fiancee Anniina! [got a critical note for not mentioning her]), traveling and all that jazz
 I’m a sociable guy ;)"

 

Meet the a-team: Ville

 

How did you end up here?

"I think I was contacted the first time a bit over two years ago. A good friend of mine had had discussions with Anssi to join Arado, but he eventually decided to go elsewhere. He did however tip Anssi to call me in case I would be interested to 'make a move' (we had ongoing co-operation negotiations [yt-neuvottelut] at my workplace). That time I felt like there was still interesting challenges ahead at my current work, so I stayed. A year later in 2016 the time was right, and after a few phone calls and maybe a lunch or two I joined Arado."

ville-work.jpg

What do you like to do at work?

"Play with legos :D Well, programming-legos that is. I like the feeling of creating something amazing from simple blocks. Lately I have been building a web site that is used by hundreds of users every day, and I've noticed that knowing my team's creations are used by so many people motivates me a lot. Something I used to do frequently but haven't done lately that much is to facilitate retrospectives. Maybe I'll find some opportunities for that since it was a nice 'sidestep' from programming and very educating."

What do you like to do outside of work?

ville-museum.jpg

"I play drums in a band called 'Alasin', we try to play / compose / whatever once a week. Sometimes I practice drumming just by myself, but opportunities for that are quite rare. My wife and I are both enthusiastic boardgamers and travellers, so those are common hobbies us, and we drag our daughter along too :) Being a dad to a 2 year old little girl is awesome."

 

Meet the a-team: Stefano

 

How did you end up here?

"A couple of years ago I was really demotivated by the corporate world in which I had been working and I was looking for a smaller place. One day I met Anssi at lunch and there I understood that Arado was a unique place where I could just focus on what I love to do: solve people’s problems through software. It turned out to be a lot more than that: it’s a place where you can grow professionally because you can really shape your future but you also feel part of a community as we organise many events and, in general, do things together. It’s probably the first workplace where I have worked for which I can proudly say: “My company”."

stefano office.jpg

What do you like to do at work?

"In short; learn. I get bored if I don’t gain new knowledge every day. I am interested about technology, but I what I really love is to learn how to make people’s lifes better, which translates into solving real life problems with software and coming out with the best possible solutions."

What do you like to do outside of work?

stefano beach.jpg

"I like sports and I have been playing football for about 30 years. Now due to my knees’ condition I cannot play that much anymore so football has been decreasing in favour of going to the gym, which I consider more as a necessity than something that I enjoy :) I like improving my languages' skills and also thinking about them because I am foreigner and I have two kids to whom I am trying to teach Italian. I am actually trying to develop an application with a friend that would help foreigners to learn Finnish which seems to be a daunting task for them. Since I live in Karjaa (that's where the train stops) in the countryside I also like to watch the night sky with my telescope and I try to do every time the weather allows, which is about twice a month."

 

Meet the a-team: Markus

 

We start the "meet the a-team" blog post series by interviewing the newest aradoer, Markus.

How did you end up here?

"I ended up in here because of beer, or at least beer was involved. I was in an event called "Suuret oluet, pienet panimot" (Great Beers, Small Breweries)  when I met an old colleague Ville. He worked at Arado and said that they were hiring and he had enjoyed working there. I had had the feeling that I wanted to do more coding and work directly with customers. Ville said that at Arado you can do both, every day. After a while my previous employer was bought by a really big corporation. That kind of ignited the idea of jumping on board with Arado. It also seemed that Arado was full of professionals and I could find a great place for myself there to grow professionally."

What do you like to do at work?

"I like to code :) I am the kind of guy who likes to focus on specific issues and excel in those. But I do like to learn new stuff also. Bringing customer value is something that I like to do."

What do you like to do outside of work?

markus floorball.jpg

"I used play a lot of floorball but I am only coaching nowadays. Due to the fact that I am a family man now, I don’t have that much time to do other stuff than playing around with my daughter.  If I had a lot more free time, I would find a new sporty hobby."

 

RunFest Turku

 This blog post is written by Henrik Lehtonen

This blog post is written by Henrik Lehtonen

On Thursday 8th of June we took part in RunFest Turku, a charity event arranged in and around Kupittaa. Along with our own Arado runners we invited clients and friends for a jog, or just to hang around our picnic tent. To top off the run we also had a grill heated up for a hearty end-feast alongside refreshments.

Even though the day was somewhat cloudy, there was luckily no rain and the people at our campsite were all full of sunshine. Although the running portion was designed to be a relay race, all of our troops started together and those who had the stamina continued for more than just the one lap of 4,2km. The last one standing turned out to be Jarno, who after running three laps with Anssi was given a forgotten number tag and decided to take that one for a spin as well, ending up in a total of four laps!

Ready to go! #runfest #kupittaa #hyvÀnhuvinjaurheilunvuoksi

A post shared by Arado (@wearearado) on

For the blazing fires of our barbecue, in addition to hot dogs and condiments, Stefano had also prepared something special. He had just returned from a trip to Italy and brought along with him quite a treat: meaty Italian sausages, full of flavour, handmade by an artisan from near his hometown. Grazie mille for the delicacies Stefano!

 Grilling them goodies

Grilling them goodies

All in all the event was a success and I'm sure we'll be taking part in the funtivities next year as well. A big thanks to the organisers and everyone who participated!

SHIFT 2017

 This blog post is written by Anssi Soinu

This blog post is written by Anssi Soinu

Our beautiful home town Turku seems to be on fire lately!

Last week me and Mikko attended SHIFT Business Festival that was held the second time ever this year. We went there to see what it's all about, feel the atmosphere, check out cool new startups and pitch some ideas. We also wanted to check out some sessions and meet new people.

Great to be at #theshiftfi this year!

Henkilön Arado (@wearearado) jakama julkaisu

In the festival area a couple of companies caught our eye, one of which was Smooth it, which offers unique smoothies for different kinds of events. It's great to see local students here in Turku bursting with enthusiasm and starting up new businesses! We'll definitely need to get smoothies for one of our events in the future!

Another company we noticed was Wallscape. They basically have a huge inkjet printer for printing graphics on a wall. It would have been really nice to order a wall print for our office from them. We just installed a cool sticker but this could have been even nicer! Next office iteration then! :)

Mikko had also prepared a mobile demo for Teknologiakiinteistöt / Werstas Turku. The idea came purely from our needs and experience when reserving meeting rooms at Werstas. Right now there's no native app for making the reservations, and you have to remember a personal code when reserving through a mobile web page.

We had the idea of helping Teknologiakiinteistöt boost up the meeting room usage with an app that makes booking a room as simple as possible.

werstas-demo.gif

From the actual sessions we got nice takeaways and reminders for pitching. One key thing we noticed was the importance of always keeping your pitch understandable. Even when something you've built isn't simple or it hasn't been easy for you, avoid painting the problem and solution with big words. Instead try to present your idea so everyone can understand and get excited about it.

One of the board challenge events also brought up great insights related to scaling your business abroad. Many good points but to mention some:

"Don't go to countries or regions. Go to cities." 
"Think about your customers - not only the product you are building / selling."
"You or someone from your company needs to hit the road. You can't only hire new people in a new location." 
"Remember that it's about people and culture."

Of course we didn't forget the Kakola after party on the first Shift day. Nice to see how an old prison can be transformed to such a unique event place.

They also had a unique way to get to the actual event venue. You had to basically pass through lockups without getting caught by prisoners. Of course we ended up in one of the cells.

 Mikko feeling comfortable

Mikko feeling comfortable

All in all it's great to have these kinds of events (festivals!) in our home town Turku!

Aftermath of the afterparty? #theshiftfi #kakola

Henkilön Arado (@wearearado) jakama julkaisu

Thanks to The Shift Crew and all the volunteers! 

See you again next year!

When Nouns and Verbs Collide - Dependency Injection in F# and ASP.NET Core

 This blog post is written by  Timo Vilppu

This blog post is written by
Timo Vilppu

Background

This post is about taking a functional approach to dependency injection using an ASP.NET core application written in F# as an example.

Lets say that we are are building an ASP.NET Core web application that exposes an HTTP API, and we want to automatically test the whole application pipeline.

As we only want to test the application behavior we need to be able to identify and isolate any external dependencies. With that done, we will also be able to replace those with fake implementations when running tests. This way we can focus on testing the application behavior without worrying about any external components.

Next up I will be showing an example of how to use dependency injection and partial application to achieve this.

Example case

The application we are building is a service that takes in a URL that points to a text document and shows the contents of that document in uppercase text. The interface to our application is an URL that accepts HTTP GET request and this interface is also used in tests.

The example application source code can be found at https://github.com/vilppu/fun-playground

How-to

As previously said we need to first find the dependencies that we need to isolate and as we are using F# it is convenient to model dependencies as functions.

In this case we have only one dependency and it is the outgoing HTTP request. We model this dependency as a function named httpSend

let httpSend : HttpRequestMessage -> Task<HttpResponseMessage>

For the concrete implementation easiest way is to use built-in HttpClient class:

let httpClient = HttpClient()
let httpSend = httpClient.Send

We can pass this function to our application by adding it as parameter to function that is used to start up the web server:

let CreateHttpServer httpSend = ...

And then register the function as singleton dependency using dependency injection in SelfHost.fs:

WebHostBuilder().ConfigureServices(fun services -> services.AddSingleton(httpSend) |> ignore)

After that the registered function can be injected to an ASP.NET API controller in Api.fs:

type ApiController httpSend = inherit Controller() ...

In our example the ApiController forms a boundary between object-oriented and functional code and from that on we pass on the dependency function as normal parameter.

Then we can use partial application to handle this dependency in more functionally oriented way. In the Api module we apply the httpSend parameter to Application.GetUppercaseContent function:

let getUppercaseContent = Application.GetUppercaseContent httpSend

Later we can call this partially applied function without worrying about our dependency:

getUppercaseContent url

Deep dive to code

The actual code tells more than thousand lines of hand-waving, so if you are still interested I recommend you to check out the example from

git clone https://github.com/vilppu/fun-playground/

and look into the tests in Tests.fs