So it sounds like the early days you were motivated thanks to a natural talent and attraction to programming. What motivates you to keep growing with it today?
There are two sides to it.
On one side, it’s helping people solve problems they have and to make their business more efficient.
On the other side, it’s trying to understand how we can improve programming itself.
It’s hard to say which is more important to me, they’re probably complementary and amplify each other. Improving programming itself causes me to read academic papers in my free time and solving real problems keeps everything grounded in reality.
What are some ways you've been trying to improve programming itself?
I’m a long time fan of functional programming. It makes it easier to abstract away the common parts and leads to code that is easier to create and maintain.
I started a Haskell meetup in Poland (called Monadic Warsaw) two years ago. There was nothing happening and I wanted to have a venue to talk to others interested in functional languages. Since then it took off like a rocket ship, we have more than 400 members and have hosted some of the most influential Haskell programmers.
We’re actually having the next meetup tomorrow, with Bartosz Milewski coming with a talk again, since he really enjoyed his stay last time.
Editor's note: And as you'll see below, it's standing room only at Michal's meetups.
What are some of the bigger Unleash milestones you're hoping to achieve this year?
I would like to write a blog post about recursion schemes, do a talk on the same topic (in Brazil in March 2018) and cooperate on some Haskell libraries with other developers.
I wanted to get your take on remote working. Everyone does it for different reasons, what are some of the most important ones for you?
For me it’s about efficiency and freedom. If you work in an office, often you waste a lot of time because you’re required to be in the same place as others. You also tend to not document your work, because you feel you can rely on informal communication. This works to an extent, but becomes vividly painful any time you come back to a project a year later or if someone with unique knowledge leaves the company. With remote work you have to share that information to convey current context to others, so very soon good sharing practices become second nature.
When it comes to freedom, it is closely connected to the efficiency. You can arrange the work in a day in the way that works best for you personally and you’re no longer bound by the strict hours of an office. Of course constraints still persist in remote work, but it’s way easier to make them work to your benefit.
That being said, remote work requires a higher degree of dedication. No one will tell you to do the work, you have to motivate yourself and you have to love what you’re doing. It’s not for everyone, but the payoffs are immense. You just have to remember to get out of the house once in a while.
Last but not least, what dent do you hope to leave in the world? however big or small.
I want to solve hard problems and do interesting things, while at the same time making the world a little better place for everyone. The details I tend to make up as I go: I’ve worked for net neutrality and fairer taxation, studied physics and programmed pretty damn cool web apps.