Teach yourself you to Hack in 6-9 months
iamelgringo.blogspot.com
iamelgringo.blogspot.com
If you want to become a hacker, develop these traits: 1. A deep interest in technology, particularly programming and computers, and a habit of fueling this interest by learning and tinkering. 2. A sense of pride in one's work and a desire to compete with oneself.
That's it. Really. I've always understood a 'hacker' to be someone who programs (or something similar) because he enjoys it. That is, as Aristotle would say, he hacks for the sake of hacking as opposed to for the sake of something else (like making a living.) If you become like that, knowledge and skill should come naturally.
If you want a set of things to learn: 1. Some programming languages, the more the better, but use discretion: Make sure you learn them well enough to use them. 2. Unix. 3. Windows. (like you're going to be able to avoid it.) 4. Math. 5. A text editor. Preferably Emacs and Vim. (learn both of them) 6. Web protocols: TCP/IP, HTTP, FTP, when and how to use them. 7. Markup Languages (including HTML but don't stop there) 8. Whatever else interests you.
You don't have to know anything about computers to be a 'hacker' in the original sense of the word, but it seems to have narrowed it's scope in general usage.
Some background: http://www.cs.berkeley.edu/~bh/hacker.html http://www.catb.org/~esr/faqs/hacker-howto.html http://www.paulgraham.com/gba.html http://alum.mit.edu/ne/whatmatters/200304/hack.html
I tried to correct that in some of the edits.
It's like saying, 'after this class, I'm going to be a pro at Photoshop!' Everyone knows you won't, but it's used for motivational purposes to get one started on the track to learning.
Anyways, it's a helpful list, iamelgringo. Thanks.
You're certainly correct. 6-9 months of learning how to build a web app does not a hacker make. A more accurate title would have been: Baby steps to hackerdom by learning the very basics of web programming.
The journey to Rome begins with the first step.
Nowadays it seems to be closer to "programmer"
Actually, that's the original meaning:
http://www.catb.org/jargon/html/H/hacker.htmlProblem with the word is it's come to mean "quick and dirty solution". eg someone does a search on google, finds some code and copy and pastes it. This is not hacking.
It's a helpful post. Not sure I agree with all the choices, but I know a few people who are looking to take the next step and can't find any guidelines like these.
Edit:Hacking does not start or even end with coding skills. Hacking is so much more than software that the YC app asks you what have you hacked that is not related to software. Chefs are hackers, so are youngsters who pimp they ride. Hacking is what happens to us when we start asking ourselves too many times "what if?". It just happens that here we answer those questions using ruby/lamp/.net/ajax......
FWIW see: http://www.hacker-dictionary.com/terms/larval-stage
This is not how it works. Well, in my case. The way I learn, and have learnt for the past several years, is by diving in head-first and facing the facts 1,000 times at once. I didn't learn python, then learn MySQL. No, I learn Django which taught me the two, plus how to build a web framework, how to do unit and functional testing, how to scale and deploy application, how to interact with organized and structural programing, and how to be the best programer I can be.
Learning doesn't happen step by step, it happens in a vast flow. In high school, did they teach you how to write an essay, then let you write a little English, then move onto History? No, they threw you in head-first with 6 or more classes a day, and made you face the facts. If you really want to learn how to "Hack", dive in face first, don't think about the consequences, fight for your life and do what ever you can do to learn new things.
Diving in head first is a great way to learn by trial and error, but it should create a splintering effect. You start learning Django which uses Python; you like Python and go out and start learning more about it. This eventually splinters out into branches where you go elsewhere to learn about more fundamental programming concepts. You learn about this funky "SQL" stuff that Django is writing behind the scenes and branch out to learn how to write SQL queries yourself and concepts like indexes, triggers, stored procedures, locking levels...
But to say Django "teaches" you things like Python, SQL and scaling... it's naive and may even be insulting to anyone who has dedicated the years of their life required to truly learn these topics.
Also, I posted the time frames to give an estimate of how long it would take to gain a basic grasp of the tools mentioned. I might have to edit to post to reflect that.
For those apps that require serious algorithmic innovation, your best bet is to start with a math degree, or (at the very least) a profound interest in mathematics.
I think I just described a micro-university.
:D
I don't think many on this site see their hacker status having anything to do with quick and dirty but I think perhaps the general populous views it that way.
Now having said that I think it is important for people who cannot code to know that "Hacking" is a lifestyle and not really a skill or a profession. At least that is the vibe I get from the ones I know. I think Hacking dates back to thousands of years back. Like hacking "fire", "huts". Hacking is now refered to software I guess. I dont think you can learn to be a Hacker. As a matter of fact I am not even sure that all coders are hackers.
What's an actual programming language?