I'm considering doing a career 180 and learning how to code. Should I do this? Do I have what it takes? What is it like to program for a living? Details within...
Before I get specific, and just so you don't think I'm a lazy-ass, I have
searched Metafilter for similar questions and found some very good information.
Where I'm at now:
I'm in my early 40s and I've managed to stumble into a career as a composer/creative director, mostly doing music for TV commercials and short films. For the past couple years I've been freelancing, and though I like the freedom and time with my kids, the income stream has dried up and the financial stress has become too much. I've been trying to figure out what else I can do to make a good living and from what I understand, software developers are in very high demand right now and it can be a very decent paying gig. Over the past couple days, I've started a couple Ruby tutorials on the web:
I'm not very far along, but so far, so good. I'm concerned that as things get harder, my focus will fade.
There's also a free Ruby meet-up group here in Brooklyn that I've contacted. That may help keep me on task.
I also looked into the free MIT courseware
offered online, which looks great. I like the idea of following a tested curriculum and having that framework to guide me. Their focus is Python, so I guess I'm at a fork in the road between Ruby and Python. I've looked into the arguments for and against each and it seems to be pretty much a toss-up.
I guess I'm asking a couple things:
1) What is the fastest, easiest way (language, method) to get to the skill level where I can be hired somewhere and make a good living? My hunch is that I'd be better at writing apps, games, and web-based code than more purely functional stuff (servers/databases/etc.) but I could be wrong - I'm just basing that on what seems interesting to me and what I use. I have a very creative mind and I also love taking things apart and fixing them and solving problems. I want to make stuff that ordinary people will find useful or delightful. But abstract math-y stuff doesn't interest me so much and I think that may preclude me from starting with some types of languages. Right or wrong? What are the starting salary ranges for this type of work? I'm in Brooklyn but I'd consider moving if it meant a steady job.
2) Am I cut out for this work? Is there any way to tell ahead of time, without investing hundreds of hours into it? What kind of mind/temperament is needed to be good at coding? I don't think I was born to do this but I think I could do it fairly well. is that enough?
3) What is it like to code for a living? I have this mental image of a bleary-eyed, pasty-faced man at 2am, with twinkie wrappers and star wars action figures strewn throughout his cubicle. How many hours a day can you expect to work? What percentage of that is actually typing into a computer? I'm sure there are massive variables here - just asking about specific experiences you all have had or are aware of.
4) What am I forgetting? What am I missing?
Thanks for indulging me here - I really appreciate whatever insight you have.