

Ask HN: From nothing to freelancer - Leander_B

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&#x2F;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&#x2F;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&#x27;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!
======
davedx
Definitely Javascript. Start her off here:
[http://jsforcats.com/](http://jsforcats.com/)

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".

Python is always somewhat in demand here, but it's a little more niche
compared to JavaScript.

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.

Good luck! I think it's a sound career choice. Of course, 4/5 months will just
scratch the surface and get her started... :)

------
bliti
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.

~~~
Leander_B
Do you think 4-5 months learning Java, C# or C++ are enough to start taking on
projects? I doubt honestly. Contrary to learning one specific language and
getting decent enough (to take on projects) at one of its frameworks like
Rails, Node or Django would be a lot faster and feasible within 5 months.

~~~
bliti
>Do you think 4-5 months learning Java, C# or C++ are enough to start taking
on projects?

No. Neither is it enough time to do projects in Rails, Node or Django. Those
frameworks are very complicated and demand that the programmer understand
basic design patterns, OOP, and security.

Your logic of learning a framework over a language is questionable. I fail how
a beginner to Javascript will be able to effectively write Node applications.
Given the nature of the language itself. Same with Ruby and Rails, as with
Python and Django.

Plus you missed a very important point. She wants to contract with big,
established companies. A good understanding of C# or Java will get her good
work opportunities in more places than any of the ones you mentioned.

------
spraveenitpro
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.

~~~
Leander_B
Thanks for the answer.

The 'how' to learn a language or portfolio is not really the issue here,
rather what language to pick. Which language is best to learn today to be able
to get freelance work today and in the future. Which language is in demand and
will be even more in the future and will be adopted by larger companies. And
last but not least, which language can be learnt within this timeframe to have
enough understanding to build and ship things (almost alone) requested by
clients.

------
ghostdiver
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.

~~~
Leander_B
Not too sure. Considering the limited timeframe and wanting to get ready for
employment, I think it's the correct decision to stick to one and get good
enough in it rather than learning more technologies and not being able to work
with any proficiently. Compare it to the bootcamps which usually also only
stick to one language. (I will teach her HTML CSS and jQuery, but this is not
included in the 4-5 months of learning a programming language.)

------
checker659
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.

