My wife is looking for a (major) career change. My advise to her is to pick up programming. I gave her a first introduction in the fundamentals of programming and let her read some basic books. She grasps this quite well and is also very interested in it and eager to learn. Now is the time to dive deeper into a language (besides the HTML and CSS which we will start with) and stick to that one. The big Question is, which one?<p>Keeping following in mind:<p>- She has 4/5 months free where she can learn 5 to 6 hours a day intensively<p>- After this period, she would like to work as a freelancer (based in Europe)<p>- She would like to freelance (or be a contractor) for more established/bigger companies, no interest in working for smaller startups<p>- Should be web programming<p>My thoughts are either Ruby or Javascript with the rise of Node.JS and frameworks like Meteor and Express. The issue with Ruby is that it's mostly used for startups, which if they grow usually switch to another stack. Python might be another solution but afaik not very demanded in Europe.<p>HN, I would love to hear your thoughts and recommendations!
Definitely Javascript. Start her off here: <a href="http://jsforcats.com/" rel="nofollow">http://jsforcats.com/</a><p>From my view as a freelancer in the Netherlands, JavaScript demand is exploding - it's mostly front-end jobs that I see, but I also use it on the server too - while Ruby has lost quite a lot of mindshare. A CTO at a big multinational I work at and talk to often said he thinks Rails has "lost momentum".<p>Python is always somewhat in demand here, but it's a little more niche compared to JavaScript.<p>I would definitely aim for front-end first though. Something like: Start with the basics of the language; then DOM manipulation and basic animations with jQuery; then have a play with Backbone or Angular. Front-end is less hassle getting straight to learning due to the developer console. Server-side means setting up node, learning to use npm, and (god forbid) trying to setup mongodb or another DBMS. Not for newcomers.<p>Good luck! I think it's a sound career choice. Of course, 4/5 months will just scratch the surface and get her started... :)
Have her learn a language that is not the flavor of the month. Java, C#, C++, etc. Those languages are always in demand and are mostly used by stable companies. She may then learn Ruby, Python, or JS. Those are rather simple after learning how to program with the others.
I would recommend getting a Teamtreehouse or a tutsplus account to start learning along with a real world mentor. Once she gains a level of understanding , she should focus on establishing a portfolio which can only happen by doing whether for friends or through probono by signing up at sites like catchingfire. once that is done then the next steps would be to sign up at odesk etc ..I guess thats pretty straight forward.
It's bad idea to "stick to that one", no benefit, it will only decrease chances of getting some gig/contract. Since you are aiming for established bigger companies, expect to work on some outdated technologies. Ruby/nodejs is not outdated yet, it might as well cease to exist in few years, because very few businesses will manage to establish on such technologies.
Perhaps the best course of action would be to go through local job listings and see what interests you / seems possible in 5-6 months given her acumen. Different people have a knack for different things.