Live data from Hacker News

Ask HN: It's 2015 and I still can't program

news.ycombinator.com

1–10 of 20 posts

Ask HN: It's 2015 and I still can't program

#1
What I'm doing wrong? Where can I learn to program besides codeacademy that site bores me I want something more interactive and engaging. I want to become a Web developer or Software developer I have free time to study and learn.

Re: Ask HN: It's 2015 and I still can't program

#2
I can tell you what works for me (and others, I hear): pick a project. Decide what are you going to create; a site or program which does X. Write it down, in detail.

Then do it.

Of course, you don't know how to do it. That's the point. Your project goal will guide you to learn the things you need to know in order to accomplish it.

When you succeed, pat yourself on the back, then pick a new, harder goal and repeat.

Re: Ask HN: It's 2015 and I still can't program

#3
I have found teamtreehouse.com and codeschool.com both more engaging than codeacademy, but it can be tough to stay focused unless you really want to build a particular thing, or, you have a group / class that you are working with to keep you focused and motivated.

Re: Ask HN: It's 2015 and I still can't program

#6
post #5

I just wish I had something that goes through me every step of the way to landing a job as a Web developer

Here it is:

1. Build a website using Node.JS. It has login, connects to a postgres database, user can register, receive confirmation emails, login, do something that's persisted (e.g. creating a shopping list and come back and see it's still there.). Hire a graphics designer to give you a minimal design that looks decent, and make your website conform perfectly to his design. Put the site online with a domain name, using AWS EC2. Make it a site someone can legitimately use. Spend $50 on Adwords so some one signs up and uses it to get your first few users, make sure you have analytics installed, later you can tell your clients people really used your site and you can prove it to them. Use Google to find all the information you need, every step of the way.

2. Once you've done the above, maybe months later, ask yourself, now that you know what you know, would you build it much differently? If yes, then rebuild it to incorporate what you know. Repeat until the answer is "I would do it a little differently but not much more than that."

3. Months later again, scour upwork.com or freelancer.com or your university's job board. Find jobs with the technologies you learnt with Node.JS & your choice of database. Take whatever job you can get at whatever price offered (even if it's $5 or $10). Do everything you can to make your clients happy. Grab testimonials. Once you finished up job - ask yourself, did you learn a lot with the project? If yes, raise your asking rate by 25 to 50% and find your next one.

4. When your rate gets up to $100, it's time for you to take your testimonials, and portfolio, and look for a full time job. Optionally you can also take any intern full time positions on the way to $100.

5. Two or three years later from (1.) if your salary has 6 digits then congratulations you've followed the plan to the tee.

The whole process can take two years or more. I followed these steps, except I used Django instead of Node.JS. Django was new and all the rage in 2010. In 2015 it's Node.JS so I changed the formula to that.

Good luck.

Re: Ask HN: It's 2015 and I still can't program

#7
I've found the tutorials on Lynda.com to be very engaging. The videos are very thorough, and it's definitely worthwhile coding/making notes as you watch the video. I started with James Williamson's Essential HTML Training, then moved on to Simon Allardice's Essential Javascript. Once you have the basics, try and come up with a little side project of your own and just go for it. If you get stuck, there's lots of help available on places like StackOverflow.

Re: Ask HN: It's 2015 and I still can't program

#8
post #2

I can tell you what works for me (and others, I hear): pick a project. Decide what are you going to create; a site or program which does X. Write it down, in detail. Then do it. Of course, you don't know how to do it. That's the point. Your project goal will guide you to learn the things you need to know in order to accomplish it. When you succeed, pat yourself on the back, then pick a new, harder goal and repeat.

The problem with your advice is that when you don't know how to code, you don't understand how big the task is. You have a great idea, you try, it's too complicated, after 1 year (and even that requires a lot of determination) you have not completed anything, and you actually have not mastered the language/technology.

It's as if you tried to acquire fluency in ancient Greek by jumping right into reading Aristotle.

The point of entry is always very difficult, for any skill, and learning curve is most often steep and frustrating.

My advice - find someone who lives near by, someone whom you could call at any moment, and discuss your little project with him/her. Choose language/technology, and start working through some tutorials with your project in mind. Your friend should help you downsize your ambitions and limit the scope of the project to something you can actually execute.

You should be done with the basics in about 3 months (that means - no GUI). After that - try to limit the scope of your project so that you think you can make it in the next 3 months. (We know it will take you at least 6-9 months, but still, try to be on the schedule). Only then you will understand what it actually means to be a software developer.

(please note: software engineering is much more than you think when you're just starting to learn computer programming. Coding is not just giving instructions to computer to perform simple calculations. There are design patterns, team work, efficiency, doing things on time, math, frameworks, keeping up with super-crazy pace is which everything changes, there is network issues, and mobile devices, security, scalability, and much more. In short - it's a really complex trade and only few people will be able to do it).

Re: Ask HN: It's 2015 and I still can't program

#9
Find a book. Seriously. I find books a lot better than the Internet when reading a new language. For one thing, reading on paper is a lot more relaxing than on-screen, secondly, studies indicate that we actually do remember more that way. Find a good book (the Head First series is a great place to start) and get reading. Do the examples and exercises. If you find something that sparks your imagination, give it a shot as a first project. Stay simple, the 3D multiplayer shooter game can wait. If you don't understand a section, read it again. And again. Skim through the whole book, then read in more detail.

Yes, it will take time. You are learning a new language and a whole new way of thinking. Don't think it will be easy. Don't expect to be able to get a job programming after a month's practice. (Peter Norvig wrote a great article on that: http://norvig.com/21-days.html.) But keep at it. Practise, read, practise, read more. Start reading open source code. Increase the complexity of your projects - make sure every project contains something new, but avoid projects that are way too advanced. Eventually you'll get capable enough that somebody might even consider hiring you.

Be committed to making it work, but most importantly: don't forget to have fun along the way :-)

Post reply on HN