I’ve been learning lots of new things recently. Learning Java and the Android API, pretty much from scratch, so I could port Get Running from iPhone to Android, for example. And, since I went freelance, learning lots of things I don’t, in all honesty, care quite as much about as programming, like accountancy and company registration, and so on.
Learning is fab. There’s a real sense of accomplishment in starting from zero and becoming good enough at something to produce decent, practical results. I found this especially true for creating a mobile app, where you can go from nothing at all to having something sitting up there in a store, earning money and getting lots of nice reviews.
It’s especially true for Get Running, where I know people around the world are physically getting outdoors and running around in the sunshine because of code that I’ve written. That’s ace.
But learning is also pretty horrible at times. Especially when you’re a complete beginner at something complex. There’s nothing quite as frustrating as sitting for hours swearing and switching your stare between the code on your computer and the screen of the Android phone plugged into that computer, wondering why the badgering lampshade it’s not doing what you think you’re telling it to do.
(Especially when, given that it’s a new, rapidly-changing platform, the answer might just be that your code is fine and that the problem is some obscure Android bug. But that only happened a couple of times. And I’m not bitter. Oh no.)
Being a beginner at something is humbling. You know you’re smart, you might even have the confidence to know that you’ll get there in the end, and that what you’re going through is just growing pains. But stumbling around in the dark, feeling inexperienced and bumbling and not even knowing if you’re on the right track can really get to you sometimes.
Feel Success — Make it a habit to often do things you do well. It doesn’t matter if your best skill is golf or cooking or business or being a parent. Doing one thing well gives your ego some armor to handle all of the little things that don’t go quite so well during the week.
That’s the key, for me. I guess Scott Adams is right that it’s all about ego, and avoiding the constant bruising thereof. So when I’m learning something, especially something new, and big, and frustrating, I’ll deliberately schedule in time alongside to do something I’m already good at.
Lots of different approaches work here. I have hobbies I’m good at that I can do in the evenings after a day of learning. Sometimes I’d just go and take photos in the evening after work, and process them in the morning, before carrying on. I’m great in Lightroom, I know all the shortcuts and I know what all the sliders do, and it was great to remind myself that I can be competent with big programs before I dropped myself back into Eclipse for the day.
I also have work stuff to do that falls back on old, well-learned skills. I’d alternate a couple of days of Android learning with a day of web programming as I moved our website from hard-coded HTML to WordPress. I’m already productive with PHP, HTML and CSS, and it’s nice to feel productive at some point during a week when otherwise all you might produce are interesting new Java-inspired swearwords.
So, that’s my top tip for surviving being a beginner: don’t be a beginner all the time. Make sure you line up stuff you already can do, whether it’s cross stitch or rally driving, and intersperse it with your learning.
You don’t want to avoid the frustrations of learning completely, as frustration is simply a part of learning. Don’t spend too much time in your areas of competence when you should be being a beginner; don’t use this as a procrastination technique. Timetabling in advance can help with that, even if it’s as simple as “On Wednesdays, I’ll do something I’m already good at.”
I find that smaller, self-contained projects seem to work the best. A “quick win” project you can do in a day or a half-day gives you a feeling of both competence and accomplishment to sustain you through a week of learning.
So. Got something to learn? You might want to make sure you’ve also got something not to learn, as well. Enjoy!