Hacker News new | ask | show | jobs
by ebiester 5302 days ago
First, there is nothing to be ashamed about for being an enterprise programmer. So, you've been working as an assembler. Now is the time to look at the tools themselves.

First, go back and review the basics of web programming. https://code.google.com/edu/submissions/html-css-javascript/... is a good start. It is probably below your level, but do it anyway. Get some confidence. :) Do the same with a decent book on your programming language. Get an understanding from the ground up. Make sure you can program 100 lines without looking anywhere.

Next, start learning your tools. Were you using jQuery? Oracle? Start delving into what those tools really are. Watch screencasts and follow along, typing the exact code in as you go. Make a basic to-do application in the technologies that are on your resume. Don't be afraid to look on the internet, but there's one rule.

No copy and paste.

No, every time you find an answer, you're going to type it in directly. Every line you type in, you're going to think about what each thing means, and if you don't know, you look it up in the documentation.

Learn how to write a login page, how to connect to a random single signon. How to logoff. How to write each piece of the app. You will soon have a simple application. It's not much, but it's yours. Write unit tests and integration tests. If you think code looks messy, clean it up. This is your template.

Now, add some ajax. See how others are doing it, but again type it in yourself. Put in all the features you want to learn. Keep updating the tests, both front end and back end.

Now, try implementing the front end in backbone and jQuery, or whatever front end technology you want to try first. Keep the back end the way it is, and keep the look of the front end how it is. Just port the code over.

Now choose a back end you're interested in. Port the back end. You know how to make the simple case already, it's just a matter of learning how the new one works. THEN you take your todo app and start making things from that, now that you know how everything works basically.

Now, for interviews, take a month off and do all this. (Block reddit and use aggressive noprocrast on HN.) Then go back and interview for mid level positions. Many coders you are competing against are in the same position as you are, but you've gone back and taken the time to really learn your set of tools.

I really believe the difference between a bad and mediocre web programmer, in many cases, is about 100 hours of dedicated training about how the web works, and how their programming language works. The difference between a mediocre and a B- programmer is being able to rattle off the basics really quickly and knowing their toolset.

Getting to the A level, that takes more time. But you can do that as you have a job. :)

1 comments

Good call on no copy and paste. I'm in constant learning mode and the difference between copying and pasting code, and typing in code, even if it's code that someone else has written, is huge. Same goes for reading a programming book vs reading and doing all the examples. Sometimes I think that when you program you're thinking with your fingers or your fingers are an extension of your brain. Exercise them!

Also, thanks for the link to google code university - it's new to me.