Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Help me become a great hacker
14 points by reevo on March 17, 2009 | hide | past | favorite | 13 comments
Esteemed HN crowd,

I have always had an affinity for all things computer/technology related since the age of 11 or so. Almost every day, I would run home, after being dropped off by the bus, to watch an hour or two of ZD/TechTV, learn a few registry 'hacks', and spend the rest of the night tinkering with my precious e-machines rig.

Entering junior high, I knew I had a future in computer science and soon developed a love for business as well. However, being born into a very traditional family, my path had already been set for me. To them, I was already destined to being a dentist, pharmacist, or doctor. After many failed attempts at convincing the parents, throughout high school, that comp sci/business was my true passion, I was forced into pursuing a medically oriented major.

And here I am, about to graduate university, and I am fairly certain that a medically oriented career is not for me. After years of lurking HN, reading TC and all things web/tech, I've come to realize that the flame my parents have tried so adamantly to put out is shining brighter than ever. However, seeing as I've been caught up with studies over the past years, and lacked parental support to pursue my path of choice, I have little knowledge of all things programming.

So I come to the community filled with intelligent, creative, and knowledgeable hackers to help me begin my journey in becoming one. I've skimmed python and ruby books, but that is the extent of my programming knowledge. So as an absolute beginner, what resources, books, tips, tricks, etc. etc. do you have so that I may start forging my own path?

I want to become a great hacker.




We should really develop a ceremony. A sort of Hack Mitzvah. We could have an eminent member of the open source community dress up in a big ceremonial robe covered in surplus electronic parts, and people could approach one by one to be handed a tiny gold-plated lambda and have the ceremonial blessing pronounced: "Today, you are Free. Go Forth and Build Something People Want."

I'm not sure I'm kidding. The time after one leaves school can be very stressful. Especially if you're trying to cope with parental pressure. So it feels kind of boring, perhaps even harsh, to just come right out and tell you: There's no secret. Just build something. You do not need our permission, and we will give you contradictory advice anyway [1], and all the tools you need are in front of you [2]. Stop flipping wistfully through the Ruby book and dive in to Ruby! If you need help being silly go visit _Why's site!

http://shoooes.net/ [3]

You may also find the presence of actual humans helpful. They can be good for one's morale. Are there any tech-related gatherings in your town? If not, is there a better town you could move to?

Oh, and be sure to watch this Ira Glass video:

http://www.youtube.com/watch?v=-hidvElQ0xE&feature=relat...

There may come a dark time when you need to watch this video daily. Hang in there.

---

[1] We're all working on different things, which require different technologies. We have different preferences. And, even if you get everyone to agree on the problem, nobody really knows what the best solution is, or whether the best solution will remain the best beyond next week.

If you really want a recipe: Linux, emacs, Rails, jQuery, Web app. For furious debate about every single element of that list... see all the rest of the posts on HN.

[2] Well, okay, technically that's not true. You are going to need a lot of time. And food. And the occasional break. Get a day job! You can practice subtle career-path misdirection if you manage to get a day job that combines medicine with a smattering of technology. There are lots and lots of those. You might even like one of them.

[3] This was going to be hacketyhack.net but it is currently... "transforming".


I'm with mechanical_fish on this one. I am far from being a "true" hacker but I've learned along the way that programming (hacking) can really only be refined through practice.

Believe me, I used to think that reading books/tutorials/articles made me a better programmer, but, honestly, building something is the best way to learn.

As for steps, I'd say go in this order:

1. Do some (quick) research about some languages you're interested in.

2. Decide on the language that is most intriguing to you and that you think you'd stick with.

3. Find an idea for an app that will be useful to you. Be sure to set the goal of your first app properly-don't try to take on too much (mathetica clone) or too little (Hello World) with it.

4. Build the darn thing. This is the point where you'd start looking up tutorials/etc in order to figure out how you'll actually do things with the language.


Don't forget that great hackers didn't become great by wanting to be so. They started working on a problem -- just like any other entrepreneur -- but their abilities to make machines do what they wanted was what set them apart. Technology is leverage.

Start small. Make a website or write a tool for some idea you have, and your development will grow out of there organically.


> Start small. Make a website or write a tool for some idea you have, and your development will grow out of there organically.

That's probably the best advice for would-be hackers I have seen for a while. kudos.


A good start would be: try not to waste what you've learned. A starting point would be to imagine ways to improve medicine via computing. There are always ways that our information systems can be improved. It doesn't have to be an impressive field or anything, even a small problem will work. Design what you think a solution might be. Learn enough to do coding experiments with said solution. You'll iterate over it a ton. If the problem turns out to be big you will probably find yourself exploring things far off from the original problem and eventually, maybe years out, discover you've hit on something new. It might be viable as a business, or just a ground-breaking concept. Either way you will hit on it if you keep exploring.

(This is from the perspective of doing mostly non-commercial programming. In commercial work you are mostly cleaning up other people's messes; there is little of interest and few learning opportunities after a certain baseline.)


You might find The New Hacker's Dictionary to be useful for establishing some background history and terminology.

For programming material, maybe take a look at Structure and Interpretation of Computer Programs, and see if it looks like a good fit for you. The Little Schemer would also be a good read.

Most important is to start hacking. Pick a language (Python, Ruby, or Scheme might be good starting places), learn how to write some trivial programs, and start expanding, seeking out more books and reference materials as you need them.


Offtopic, but maybe not: You're a great writer.


I'll throw my support behind this: you've got a knack for writing and keeping attention.

That's a useful thing to be able to do: not for programming, perhaps, but the same tricks that keep people interested in long blocks of writing can be used to make a program appealing and engaging.


For basic motivation and direction, try Don Lancaster's site and books.

Reading programs is just as important to the budding (and expert) hacker as writing them. As goofy as it sounds, I found lots of inspiration trying to convert BASIC game programs (as in Ahl's 101 Computer Games) to Python. First time through try to get it to run. Then try to get it to work with fewer lines. Then add some features. You'll be surprised how much you learn.

Good luck.


"And here I am, about to graduate university, and I am fairly certain that a medically oriented career is not for me. After years of lurking HN, reading TC"

Sorry, what's TC?


TechCrunch


Oh, thanks. :)

I personally never thought TechCrunch to have that great of reading material. For me HN, proggit, /. and a few blogs do it (Coding Horror, Zuckerman's "My Heart's in Africa", etc.). I hope I'm not missing on much else.


How do you know that programming is your true passion if you've never built a program? Try it and see if you really like [rogramming.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: