Outside your comfort zone

Wednesday 2 October 2013 at 16:21 BST

I've shied away from the word "programmer" for a long time because I don't think it accurately represents what I do. It implies that the most important thing about the job is the magic words that come out of our fingers, and not where those magic words came from. This couldn't be further from the case.

It's been said by many that in order for programmers to improve, they should focus on communication. When you communicate more effectively with other people with aligned interests–that is, members of your project and organisation, as well as your customers and potential customers (ignoring business politics for the time being), you become better at your job. The software craftsmanship crowd talk about building the thing right, but more effective communication will help you build the right thing. This is so much more important, in my view, that if you only have time to focus on one thing, you should drop new programming skills and just try to improve your ability to communicate well.

That's not what I want to talk about.

This is a great way to deliver more "value" (if, for once, I'm interpreting "value" correctly—I can never tell). Bonus points if you enjoy it. My last post was about having fun, though, and I want to continue with that above all else. In software, the things that I enjoy are the things that challenge me. This is great; we can always find more challenges. After a while though, this isn't enough—the solutions have to mean something past telling me I need a degree in mathematics.

It turns out there's a solution to this problem, and it's better communication. Not with the rest of the business or your customers, though, but with other programmers. Surrounding yourself with smart people in the same field as you is something academics are great at, but industry is seriously lacking.

By constantly meeting new people in your field, you are exposed to new ideas and skills you may not have even thought about, as well as new ways of thinking you previously won't have considered. You also find more of those challenges I mentioned I'm so fond about, except these ones matter more, because other people care about them too.

Sure, all of that's available on the Internet too—you don't have to have a conversation. There's one thing you'll get out of meeting new people that you really can't find on the Internet, though: when you talk to people, especially about topics they're passionate about, you'll share your ideas too. Some of them will help influence their thinking for the rest of their lives, but some will get shot down immediately. Most will be somewhere in between. This feedback will help you figure out which of your ideas are good and which are bad, and in the future, enable you to easily differentiate between good and bad ideas. The importance of this across all disciplines cannot be overstated.

Oh, and as a bonus, when you converse with other programmers, you'll improve your ability to communicate precisely and clearly, which will drastically help with that whole business communication stuff I mentioned earlier, all for free.

So how do you do this? Find out where other developers hang out, and go there. Doesn't matter if they're all node.js coders or really into Arduino. Go, watch, learn and, when you feel the time is right, contribute. If you're in London, come to the LSCC meetups. We're pretty damn friendly.

In short:

Go Outside and Meet People


If you enjoyed this post, you can subscribe to this blog using Atom.

Maybe you have something to say. You can email me or toot at me. I love feedback. I also love gigantic compliments, so please send those too.

Please feel free to share this on any and all good social networks.

This article is licensed under the Creative Commons Attribution 4.0 International Public License (CC-BY-4.0).