What language has the quickest payback?
Looking back, I think what hurts me is the feedback loop. To get a job in programming would take 6 months+ of hard work. Sitting by the computer every night vs spending time on a hobby eventually becomes a hard decision. This is especially true when the coding becomes more tedious and I must reach out for help.
This time around I plan on hiring a tutor. Also I think it would be good to link it to easy odesk/freelance work. I plan on moving to a 3rd world country in two years, so its not unreasonable to assume that if I do good work it could provide a decent standard of living.
I'm more money-oriented than many people seem here (I don't have some cool side project I've been dying to build). I think it would be good to use odesk/freelancer as a motivator because: 1) Forced deadlines. I have several abandoned programming projects 2) Pay. This amounts to beer money in the States but it would help as I'm a student. But also for the potential to live abroad in the future.
Which is the best language or framework for this? PHP? Cakephp? I'm guessing something like wordpress or joomla, but could be wrong.
Again, the greatest threat of this is me spending a month reading a coding book, starting a side project and never finishing it before becoming proficient.
18 comments
[ 3.2 ms ] story [ 54.7 ms ] threadI don't think you'll do well at freelancing unless you have some useful skills. Getting paid to learn is unlikely to work out well.
Python is one of the easiest languages to learn and you can be very productive with it relatively quickly.
Javascript is quite a bit harder, but more widely used.
If you are really money focused (your handle is "BizNerd" so take looks like a hint) why are you looking at programming? Sales is very much in demand and a good sales person earns heaps more than an average programmer (which takes at least a year or two of dedicated work to reach).
Ruby is a great language, because it was designed with developer productivity in mind. Same goes for Rails. The most feature complete framework I've seen to date. Django is up there too.
Still, there's so much magic happening that it'll be hard to get a grasp on things.
I'd be apprehensive on undertaking previously undertaken work on places like odesk/freelancer as the problems solved there are often carbon copies of what a freelance developer has done before. It's not a learning platform, it is a platform for frustration and complaint from you're customer you've promised something to.
Why not try Udacity? They have some great introductory stuff, suitably technical, and if you need a tutor running into a problem, post on odesk etc for a Skype tutor for an hour. You will get a reply.
I don't know where you're moving to, but as being 'money orientated' you'll may find far greater financial reward not pursuing programming but pursuing business and cultural differences and using fluency in what's possible in IT (i.e. both a cultural and technical project manager) for financial gain.
PHP was essentially the route I took way back in High School and started earning money with it, learning sql, javascript, html/css along the way on an as needed basis. Now Im a software engineer who has built projects in a half dozen programming languages, still I think PHP is a really good way to get into the field, at least it worked for me.
Good luck
I recommend starting with (this is the same advice I usually give everyone just getting their feet wet):
Head First HTML and CSS
Work along with it using Sublime Text (editor) and MAMP or WAMP (OSX or Windows, I recommend using a mac if possible).
After working through part of that book. Buy a domain and a hostgator account learn about DNS, point your A record to your hostgator account and start FTP'ing (Filezilla client) up a website to your hosting, view on your domain.
Once you complete that book, learn some javascript/jQuery, there are head first books for those too, but I think you can learn this from the web.
teamtreehouse.com is a great place to learn.
Next back to Head First PHP and MySQL. Work through that book, working locally and on your hosting account.
I would stay away from odesk now upwork and try find local clients first or connect with friends/clients online (craigslist and twitter are better than upwork), better pay, less headaches.
Once you have some PHP and MySQL knowledge next I'd recommend Wordpress. There is a head first book for that too.
Install wordpress on MAMP/WAMP locally and on your hosting account. Install some free themes and free plugins. Modify a theme, make some posts.
Wordpress is a popular ecosystem and there is lots of work there.
Leveling up beyond the items above is creating web applications.
You can create a simple one from scratch using PHP and MySQL this is a good way to learn the inner workings of an app from scratch. Once you explore that for an app or two you can move on to a framework.
For frameworks I would go with Laravel (PHP) and/or Rails (Ruby) those are the most popular in each language.
LaraCasts.com is a great resource.
Good luck.
It is the only logical language that exists. Anyone who doesn't know it just hurting themselves.
After you master functional programming, you will be able to use it in EVERY other language.
You can even program ruby on rails functionally.
If anyway says anything negative about functional programming - they're just not dedicated or intelligent enough to understand its' abstract concepts.
In a world filled with hurt feelings and thin skin - finally seeing the logical essence of code is a transcendent experience.
No, Haskell is not the obvious language. Though no doubt a very nice language, it is nowhere near the top of the most commonly used languages. Thus, it's money-making potential (in terms of available jobs) is pretty low - which seems to be the main factor the OP is interested in.
As for functional programming: much as I love it, it is not the non-plus-ultra answer to life, the universe and everything. And even if it were, there are other languages that are also functional; all the various Lisp dialects to start with.
And by the way, please refrain from personal attacks on HN.
I would recommend you look around for distance-learning courses on other skill sets that interest you more and doing those instead of trying to force your way into programming. Of course you can learn programming even if you don't enjoy it at all, but I think the only way to be really good at anything is to love doing it enough to put in your 10,000 hours...
What I mean by that is learning to code takes a lot of patience and diligence. For you to truly add value to a team building a product you will need to learn best practices, theories, tools, Git, code structure, code style, etc.
If you want a quicker path, practice launching and customizing Wordpress/Wix/SquareSpace sites and focus your efforts on people looking for a web presence instead of people trying to build apps and products. That should be an easier path for you.