What language has the quickest payback?

by biznerdon 10/28/2015, 12:24 PMwith 18 comments

I've tried numerous times to pick up programming in my free time. I'm not dumb (actually smart when it comes to SAT tests) but I've always failed.

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.

by salukion 10/28/2015, 3:44 PM

Don't read a coding book . . . you need to work through the examples and code along with the book.

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.

by jfaucetton 10/28/2015, 3:00 PM

The easiest way has to be PHP + Wordpress if you just want to get your foot in the door as a web programmer. There is tons of work (albeit much of it low paid) for this skill set. So if you just want to get started earning money go with PHP. Ruby and Rails, Python, or the JVM langs provide great programming environments but you will need to invest more time up front, and there are far less jobs on the market for a complete junior / newbie.

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

by monroepeon 10/28/2015, 12:49 PM

Ruby on Rails is always a good choice. Ruby is a pretty readable language and has a pretty good community (so solutions to your issues will be more abundant than with some other languages/frameworks). Also not that hard to get started and make something decent.

by husseinyon 10/29/2015, 7:29 PM

If your goal is to make money and don't want to spend the effort and time to really learn coding I would focus on simple web presence development versus "coding".

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.

by CyberFonicon 10/28/2015, 12:49 PM

Passing tests is not a good indicator for programming aptitude.

I 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).

by sharemywinon 10/28/2015, 12:28 PM

you should take a programming class at a local community college. Next go to the job boards and search on the various languages and see how many jobs. Also, if you switch to computer science as a major you can look at co-ops or internships.

by zhte415on 10/28/2015, 2:25 PM

Developing is problem solving. You mention you don't have a cool project you're dying to build, so when learning, re-invent the wheel a little bit (a lot of learning development is done like this) and reinvent a wheel. A blogging engine, a framework for whatever.

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.

by osullivjon 10/28/2015, 1:30 PM

Others have said Python or Ruby, and I'd agree. Other mainstream languages like Java, C# or JavaScript have a steeper learning curve. With JavaScript you have to deal with all the CSS & HTML stuff too if you're doing front end dev. As a longtime Pythonista I's say give the Tornado web framework a try. Unlike Django, you're not compelled to use a DB.

by Ch_livecodingtvon 10/28/2015, 5:03 PM

The bad news is it's probably not just one. The most popular languages to learn are Ruby, Python, JavaScript,Java, HTML, CSS, PHP, C/C++, .Net. They maybe are the ones you should learn to make money today. You have to determine whether you may be interested in mobile apps, gaming, client or server type of programming etc. and base you skill from this. Btw, if you want to consider hiring a tutor. You might also want to visit this site where there are live streamers where you can learn code in languages you can choose. https://www.livecoding.tv/video/new-project-with-ruby-on-rai...

by Mimickon 10/28/2015, 2:02 PM

If you are focusing on oDesk/freelance it's easy to say you need to learn PHP, Ruby on Rails is easier as others said but you won't get a lot of projects with it. More likely to get a job with it.

by veddoxon 10/29/2015, 3:32 PM

Why do you want to learn programming in the first place? Why not make money with something else? Learning programming is hard work and takes a long time, even for those who love it.

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

by anon5_on 10/29/2015, 4:36 AM

The obvious answer is Haskell.

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.

by VOYDon 10/28/2015, 9:53 PM

you clearly don't have what it takes.