2017 is almost over now. This year I’ll try something new and write a blog post recapping what I’ve been up to this year and what my hopes are for next year. Happy new years everyone 🎉

2017 in review

by Mads Hartmann - 25 Dec 2017

Code

I started out working as a fullstack developer at Famly which had me writing Javascript for our frontend and mainly PHP and Scala for our backends. However, given our current team structure, working fullstack had me quite quickly feeling like a jack of all trade, master of none. Though I was able to help out on both sides I felt like I spent too much time context switching and weren’t able to contribute on the level I’d like on either side. I decided to stop working fullstack and instead focus on the backend - so far I’m happy with that decision. I still lurk around in the Copenhagen frontend community and write a bit of frontend code on side projects which seems to be enough to keep me satisfied for now.

Most of the new stuff we’re working on is written in Scala and exposed through GraphQL. So far we’re very happy with GraphQL both on the frontend as well as the backend.

Getting back into Scala has been interesting. Quite a lot has happened in the four years I’ve been absent from the community and I’m still catching up - I have a whole stack of papers on my desk about various forms of effect systems that I’m hoping to get through early next year.

All in all I’ve been writing quite a lot of PHP, a good amount of Scala, a bit of python for various small tools, and more Bash than I’d recommend anyone write.

Besides the usual work of implementing features and fixing bugs I’ve spent a lot of time improving our CI/CD setup and experimented with automating our development environment. Turns out I enjoy working on infrastructure and tooling way more than features 🤔

Writing

I’ve written 7 blog-posts including this one. That’s my record so far but it’s still way less than I’d like - I have 10 drafts lying around that never fully materialized into full blog posts and I have ideas for a dozen more.

I’ve been working with Packt on a three days course on Scala called Professional Scala. I’m co-authoring it with two other authors and we’re given a day each to complete. I’m writing the material for the third day which is mostly about topics related to functional programming. It’s been quite interesting. I really enjoy writing and this is the first time I’ve been paid to do so. I must admit that writing towards a deadline is something quite different from the kinds of writing I usually do and it does take some of the joy out of it. It Might also be the fact that all the writing happened at night or in the weekends where I’m not usually in the mood to do any actual work 😉

Talks

This year I was fortunate enough to be able to give a talk at Web2Day in Nantes, France. This was the second time I’ve given a talk at a proper conference (or well, third if you count a small presentation I did about my Google Summer of Code project at Scala Lift Off in London back in 2010). Somehow I’m equally surprised each time by the amount of work it takes for me to write and prepare a presentation. And how much energy I spend thinking and worrying about it. But the feeling you get once the presentation is delivered is worth it and this year I felt way more comfortable on stage.

I also gave two short talks at meetups and sat at a panel on CI/CD.

Next Year

2018 looks to be a super interesting year for Famly. For business reasons we have to run a 2nd parallel server setup in Germany using Azure Germany. I’m super excited about this as it forces us to put more effort into our infrastructure and focus on automating and streamlining a bunch of processes. This is the kind of work that I enjoy the most so having a solid business reason to do the work is quite lucky 😉

Additionally we’ve been able to hire two new great engineers for the backend team which gives us the capacity to carry out some of the ideas we’ve previously only been able to talk about. One of these ideas is to implement a nice effect system in our GraphQL backend that will improve our code greatly and simplify things like permission checking and telemetry. I’m super excited about this and my colleague Christian just finished an initial prototype at our last Famly Hackday which looks super promising.

I hope to write one blog post each month next year. I certainly have enough material, I just need to find the time 😉 My brother and I have also been flirting with the idea of writing a book about Machine Learning called Snackable Machine Learning which I think would be super fun. But first I’ll have to finish the Packt course which should be done some time in February.

Happy new years everyone 🎉