Wednesday, March 30, 2016

Thoughts on Peter Krumins' "Frameworks don't make much sense"

I really enjoyed Krumins' recent blog post regarding why we should be wary of frameworks (upon frameworks upon frameworks).
It resonates deeply with something I've recently been thinking from my reading of Peter Seibel's monumental Coder's at Work

One of the major points of Krumins' post is that it takes a long time to learn frameworks, and you only really use a small subset of its functionality anyway. 
One of the major themes in the interviews in Seibel's book is "keeping it all in your head". This is something that almost all of the major programmers in the book speak about doing, or achieving. The more you can keep in your head, that is, the better your mental model of the program, the better you're able to reason about it.

I think these two points are intimately related. The size and number of frameworks one works with, as well as the frequencies of updates to those frameworks, will tend to take up a lot of headspace that could be put to use in more technical-creative directions. 

Now, I'm not entirely sure I buy the "no frameworks at all" approach - I think that there are several places where it just makes sense to use them. I can't imagine not firing up Laravel for the day to day CRUD apps that make up the bulk of my day-to-day work. 
Having said that, I think that engaging frameworks long-term mitigates the headspace they take up in the long term. If the framework(s) you're using become background, then it seems like there's a good case for using them.

This, of course, doesn't speak to the other points in Krumins' post.

Practically, I guess the recommendation would be multi-year commitments to the frameworks you're using day to day.