I think it’s great that you want to learn to code. But I think there are a couple of things you ought to know as you start.
First a little background.
I’ve been writing code a long time – maybe 40 years. I started programming in engineering school. Continued in grad school and then started writing simulations in FORTRAN when I got a job as an Engineering Analyist.
Anyway, I eventually realized I hated what I was doing and became a programmer – because that was the only other skill I had.
So I backed into coding as a profession.
And then came the early 1980′s and a BOOM in Demand For Programmers – kind of like what we have now. This was great because then I got out of actual programming and got a job as – believe it or not – an Assistant Professor of Computer Science at SUNY New Paltz. (they had a 10 fold increase in Computer Science students and were really strapped for teachers.) (I was actually an OK instructor: I was there 5 years and had my contract renewed twice – which was not a small deal)
So the First Thing you need to realize is that there is a Programming Boom because there is a ‘perceived’ Programmer Dearth and this is making a lot of jobs for guys to teach programming.
This can be good or bad – but just remember: you’re ‘learning to code’ at an emotional high point in the demand for programmers.
OK – so we’re in a Programming Boom.
What does this mean to you?
Booms are usually followed by Busts – as in the Boom and Bust Cycle.
So you ought to ask yourself: what do I want to be doing when the Bust happens?
So let’s do a little soul searching to see how to approach this question.
First – how old are you? If you’re more than 8 or 9 and aren’t already writing code, there’s a good chance you’re not a ‘hard core hacker’ – as we used to say. In other words, you can probably develop into a competent programmer and – if you have the right mind set – you can work well on a team, contribute to a project, and have a pretty good career. But you’re probably not going to be a star unless you also hack code for fun.
Huh? Answer these questions:
Do you attend Code Retreats? If you do, do you actually write code or do you watch the other guy?
Do you create Rails Gems or Python modules in your spare time?
Do you try out every new language that you hear about? If you do, how much code do you write? A few hundred lines or do you write an entire subsystem consisting of at least 10,000?
So by now you should be able to classify yourself as ‘potential star’ or ‘now way I’m going to do that. I like to fish and go camping with my friends’.
This doesn’t mean that you shouldn’t ‘learn to write code’ or become a programmer. It’s just that your career path will be different.
Really good programmers don’t need social skills. They are too valuable – assuming they have enough together to actually write code which is germane to the project they are hired to do.
But non-Star programmers need social skills badly. When it’s time to downsize, they are the second to go – right after the outright duds. [Management wants to keep the Stars so they have something to rebuild with - when the Star's leave, it's over] (BTW, that’s a good thing to watch for: if the Stars are leaving the company you’re working for, it may be time to jump ship)
But as a competent non-Star you can use your programming knowledge as bridge into Sales or Management or Project Management (not the same as management) or any of a host of other software related areas.
One of the big secrets about Learning to Code is that you don’t actually have to be a coder to have a job or to be useful in programming. Tech writers are worth gold (real coders don’t write doc), but they have to sell their value. [Fact to think about: Tim O'Reilly started out writing technical documentation and now - well have you ever heard of O'Reilly Media? if not go to http://oreilly.com%5D
So – in summary – it’s great that you want to learn to code. Go for it, but keep your eyes open – and your options.
One final thing. If you want to see what a ‘real programmer ‘ is really like, go find a co-working space that caters to tech people [Uncubed in Denver is a good spot]. Go in and pretend to work for a day. You’ll see a bunch of guys come in and sit down in front of their computers and go to work. The ones who don’t move for about 4 or 5 hours are probably real programmers. Another hint: you ask a real programmer a question, he says ‘just a minute’ and continues working. About an hour or so later he turns to you and says – ‘ok, I’ve got a minute now. What did you want to know?’