The competence ceiling

After programming Haskell, R, or Python for about 6 years now, I feel like I’m sufficiently skilled with Python to make anything that I want to do in python immediate.

I understand its execution model. I feel very confident in my understandings of how python objects work. The fastest/lightest way to get what I want seems like it’s relatively easy to achieve.

In a sense, I feel competent. And that makes me feel a little complacent, and a little stagnant.

I came to Python from R (which I came to from Haskell), so my path to understanding wasn’t immediate. But, I’ve been programming stuff in python almost every day for the past three years. I contribute to a decently-sized library and have a few packages of my own. If you’ve been following this blog, you’ve probably heard about CenPy, which gets around 2k downloads a month. Honestly, that freaks me out…

I’ve made python do some really weird stuff, learned the in and outs of monkey-patching, understand why Duck Typing can be fun (but have begun to prefer static typing in general), gotten comfortable with Cython, and am starting to feel quite comfortable in numpy.

So, what now?

I’ve been trying to carve out time to start contributing to the JuliaGeo community, and have written (what I think is) an important first step to building a spatial statistical environment in Julia, SpatialWeights.jl. But, I feel like that’s a stopgap position.

In a conversation with a friend of mine who’s an artist, we talked a bit about this. For him, his home-base of self-expression (so-to-speak) is music. He can’t not write music, but feels like he’s at the level of competence in it that there’s not really anything he feels that he needs to do before he gets it. It’s just a matter of doing it. Instead, he’s moved to film as a way to scratch that itch to be an ignominious novice at something.

I don’t feel that I know everything about python, but I do feel that I know as much as I need to know to do most of what I need to do. That is, every time I start up vim and bang out a set of imports, I feel confident in my abilities to do what I need to do.

So, how do you break out of this plateau of “competent enough?” I’m not sure yet…

imported from: yetanothergeographer