TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A hacker's guide to college

153 pointsby davidbalbertover 13 years ago

26 comments

alexgartrellover 13 years ago
I work at Facebook on Cache infrastructure doing super low level C stuff that gets deployed to lots and lots of machines in a massive distributed system. At best, half of the knowledge I needed could have been gained hacking around on my own in my free time. The other half came directly from Systems courses at Carnegie Mellon and research I did there as an undergrad.<p>This is also true of my close friends from school (housemates my junior and senior year) who work at Apple on the jscore Javascript engine, at Pure Storage[1] on hardcore storage stuff, and at SpaceX on control systems.<p>Maybe the average coder doesn't <i>really</i> need a college degree, but if you want to be a badass and get there as quickly as possible, four years at a top CS University is about the quickest shortcut you can take[2].<p>[1] <a href="http://www.storagereview.com/pure_storage_comes_out_allflash_storage_array" rel="nofollow">http://www.storagereview.com/pure_storage_comes_out_allflash...</a><p>[2] You still have to go WAY above and beyond, but the exposure to people in that realm is invaluable, and it's hard to get that exposure outside of these places.
评论 #2926252 未加载
评论 #2926332 未加载
评论 #2927193 未加载
评论 #2926607 未加载
shazowover 13 years ago
- "College is expensive": Pretty US-centric point. It's very affordable in Canada and most other countries.<p>- "I know many great programmers who didn’t study Computer Science and some who didn’t go to college at all": I know far more great programmers who did study Computer Science. :)<p>I'd say undergrad is more about learning how to learn and the discipline required. "Take only classes you're interested in" may be very counterproductive to that, depending on your interests.<p>In the end, it depends on what kind of "hacker" you want to be. If "hacking" together WordPress blogs with a bunch of plugins is your cup of tea, you're probably better off not even having a Highschool diploma. If you want to build a graphics engine, a hugely scaleable system, or the next generation JIT programming language, you'll probably need a solid Computer Science education (whether you acquire it self-taught or otherwise).
评论 #2925941 未加载
评论 #2925963 未加载
评论 #2926019 未加载
评论 #2926139 未加载
评论 #2925942 未加载
评论 #2926223 未加载
评论 #2925928 未加载
timsallyover 13 years ago
Most of the broad strokes in this post are reasonable, but the idea that you should only take a class because you want to is misguided. It seems like solid advice on its face, but there is not a always a direct mapping between enjoyment and benefit. Indeed, thinking back on my own time as an undergraduate (CS@UIUC 2011), several of the most beneficial classes for my career were ones that I did not enjoy at the time. Degree requirements are designed to capture these high pain/high reward classes. Of course that is only if you decide to go the college route. I'm all for people who want to enter industries like programming or security forgoing it. But if you are going to front the time and money, I think you should stick relatively close to the curriculum. Not only is an 18 year old freshman is unlikely to get curriculum right, but if you're going to design it all yourself you shouldn't be paying for it.
评论 #2926115 未加载
bitsweetover 13 years ago
I regret that I did not complete college and jumped early into programming nearly a decade ago. Financially, I'm as well off as my college grad counterparts but I feel like I'm always playing catchup in my general education (e.g. philosophy, biology, general arts, etc).<p>College is not solely about the raw skills used in your trade. It is also about exposure to several topics intended to round out the character of an individual.<p>If your good at hacking, maybe you could skip college entirely. But your also increasing your chances of being profoundly naive in life.
评论 #2926117 未加载
评论 #2926135 未加载
评论 #2926009 未加载
nyrulezover 13 years ago
Dangerous advice IMO. I interview folks regularly at a top tier firm and a good school/track record is perceived as a strong indicator of future performance. We can debate if that's really true till eternity but that's what lot of folks do today and I don't see that changing for quite a while. I interned at Google long time back (+ had an offer from them) and school performance factored in pretty strongly (along with my transcript).<p>We do coding tests of course but that would be too limited on its own.<p>Personally, I would be not where I am without college and ton of courses in CS. Topics like Database normalization, query optimization, ton of OS concepts, discrete math, algorithms/data structures are important for any CS career and could be read on their own but why not just take courses and study them in college instead of trying to rely one's self discipline to cover all of that.<p>If you are starting your own company, maybe it matters less but even there I am not sure.
评论 #2926132 未加载
评论 #2928735 未加载
评论 #2926446 未加载
kingkilrover 13 years ago
In this thread: people take their personal experiences and try to extrapolate to all programmers everywhere.
pdubsover 13 years ago
&#62;You might want to consider a BA rather than a BS because BAs generally have less requirements.<p>A BA is worth far less than a BS in the technical world for precisely this reason. I honestly can't believe they even offer BAs in Computer Science.
评论 #2926496 未加载
评论 #2926406 未加载
评论 #2927182 未加载
craigmcover 13 years ago
Just as youth is wasted on the young, uni/college is wasted on (most) undergrads. I include myself in that group, although I did make the mistake of going to law school (available at undergrad level in the UK) which is something I've been trying to make up for ever since...
JEBaileyover 13 years ago
I'm a self taught programmer with no degree who came to it late in life(past 30.) I love programming and I like to think that I'm fairly good at it and I think I can justify that belief with the 6 figure income I earn and architect title I have.<p>And after 10 years of doing this, I am going back to school to get my CS degree. I believe you can be successful without a degree but there's a wall that you will eventually hit where you're natural talent can't take you farther without some assistance. Unfortunately all the classes I would like to take to satisfy my craving for knowledge are graduate level courses. So I'm going back to school so I can get my degree so I can finally learn the stuff that I want to, and need to know.
评论 #2926908 未加载
danenaniaover 13 years ago
In my experience, you could make a similar argument about going to college for business vs. actually understanding anything about business. A lot of recent grads I've encountered don't know much beyond buzzwords and overly abstract theory. College also seems to frequently have the unfortunate effect of instilling overconfidence and a sense of entitlement. That said, if the goal is simply to get a job, college is clearly the path of least resistance.<p>Personally, I'm glad I didn't get a degree, or at least that I didn't follow the common path of high school-college-entry level job, even though it has made life more difficult at times. It cut me off from the easy route of getting some comfortable, dull job at a big company and becoming stagnant. Instead I've had to carve out my own path and I think the experience and confidence I've gained from that are worth a lot more than a degree. Frankly, not one of the clients I've worked with has even asked me about a degree. When you have solid work you can point to and enthusiastic references, whether/where you went to college becomes completely irrelevant. If a company won't hire me for a job I'm qualified for because I don't have a piece of paper, it seems to follow that they <i>are</i> likely to hire unqualified people who do have that piece of paper, so it turns out that their filter actually works out a lot better for me than it does for them, and I'm happy to be filtered.<p>I also don't buy the notion that without college you won't be 'well-rounded' or 'generally educated'. When I was in school, I always felt like I had a lot <i>less</i> time to devote to reading and really learning because my days were filled by tedious work and usually dull classes. Going to college isn't what makes you well-rounded and educated, it's a thirst for knowledge and the time to fulfill it.
评论 #2927010 未加载
jnealover 13 years ago
I believe that the people who succeed most at becoming great programmers are practically pre-programmed to be programmers. People like "hackers" that are interested in learning how things tick from young ages, who are constantly trying to learn new things, who have that thirst for knowledge. I've met people throughout my short career who have asked how they can do what I do. The easiest answer is you can't, if you don't have the inherent ability to search out the answer to that question on your own, and figure it out on your own, you aren't fit to be a programmer, or..a hacker...<p>Also this may be off topic but colleges are businesses, and a business has one goal - to make money. I do not believe in the higher education system that the U.S. has. I believe that higher education should be a not-for-profit industry and that our current system is highly corrupt and is quickly becoming unnecessary. The amount of $$$ that will be spent to go to college is rising while the amount of $$$ you will make after college is going down. The end result will be college costs too much to be a viable option.
godfetishover 13 years ago
A hacker will be great for organizations looking for a pool of employees to exploit. You will rarely become management, you will rarely be assigned new tasks outside of your skill set, and you will eventually get frustrated and angry. Frustration and anger will lead to you screwing around or even getting into legal trouble.<p>Hackers are like programmers with ADHD and autism. They are superior at what they can do, they are probably some of the hardest "work hard, play hard" employees, but if it does not interest them, they aren't always effective.<p>One thing a degree will do, is teach you a rounded set of skill and how to focus on problems that may currently be outside your box. Advanced math and statistics, literal and verbal comprehension and grammar, let alone the social aspects that many hacker types can lack - plus, while you are taking the general education courses, you are expanding your mind to new concepts and may even find something to specialize in - ie social statistics, informatics, bioNLP...maybe even philosophy like myself.<p>If it comes to getting a degree or certificates, get the degree, if it comes to getting certificates or nothing, get the certificates...but having no formal education just makes a person look lazy on a resume, and if your resume actually does get looked at with no formal training, you are either exceptional or lucky. I was turned down for very high paying jobs and Network Admin and VP of Technology at corporations that everyone knows world-wide. I had exceptional references, proven track record, and when it came down to two people...I was not chosen because of no degree. In BOTH positions, the person who was hired was fired after one year because they did not have the skills necessary. So, getting a degree will not let you keep the job, but the education is enough to get you in the door and prove you are worth that six figures.
ncmoreover 13 years ago
Interesting topic! I am just now completing a college degree at 39. I've been a software &#38; database developer for 16 years with very little formal education. I did three correspondence workbooks through NRI (paper) that showed me a do/while, if/then, etc. Nowdays, you can get that sort of information by googling. There were only bulletin boards back then.<p>I exited the Military after 5 years of service as an MP (did NOT want to continue in that career) so did construction work. Asked around about which language I should learn, bought FoxPro 2.6 and read the book about three times before it sunk in. I poked around looking for interesting projects at businesses for free, not asking for money. Six months later I was hired. I explored some fascinating concepts in linked lists, or hierarchies if you prefer, while at my first job... working with bills of materials, assemblies and subassemblies. I did a lot of interesting things. From there I moved again, and have since learned Delphi, VB, .net, html, javascript and SQL. I write software for offices in the US, UK and NZ. I started getting BORED &#38; frustrated. Instead of divorcing my wife and family of 20+ years (we got married and dropped out of high school), I sought fulfillment through the sense of self-worth you get when you reach out and help other people. The world seems a lot brighter.<p>Whadya know... I'm now finishing an absolutely fascinating pursuit of a bachelor of science in human resource development with a 4.0. I'm doing an intervention at Kiwanis, plan on becoming a MCT to help teach at the local community college, and will even be doing some ESL instructing next year. Yes, I already make as much money as my professors, but it's been an unusual ride. Instead of worrying about being able to provide for my family, I have a lot more flexibility, choices, and a brighter outlook. Now... do I want my kids to finish college? Of course!
snow_macover 13 years ago
I call bull on this shit // pardon my french.<p>But CS teaches you fundamentally what is going on with a computer, good CS programs will teach you 1's and 0's, levels of abstraction, all sorts of stuff from the very low level to the very high level. As an engineer you need to understand the low level stuff, you need to know about garbage collection, you need to know how to manage memory, you need all this low level stuff; it's not un-important shit or magic in a box.<p>It leads to better efficiencies in your code such as (PHP) var len = array.length(); for(int = i; i &#60; len; i++) {} vs for(int i; i &#60; array.length(); i++) {}<p>To be fair, all programmers are computer scientists. Some are really decent and some are really bad. CS people solve problems with algorithms (Def.: Finite set of instructions or steps), guess what programmers do? CS is the study of the science behind computers, everything from data structures to: algorithms, program correctness, math induction, recursion, OOP, Agile Techniques etc...
kawfeeover 13 years ago
You may not need an education to write code. Sure, you can get something to work. I wrote code when I was 5 years old.<p>Just because I wrote code doesn't mean a thing. Also, just because it worked doesn't mean a thing. The point is that anyone can write code and maybe they can do it bug free.<p>Let's assume you are targeting one specific type of machine.<p>What will seperate you from the others is your understanding of the machine you are targeting. You need to understand many many things about this machine when your code becomes very involved. You will need to understand the cache structure, L1, L2, etc. You need to understand how those caches are designed. You need to know about paging and TLB. You probably wont learn these by 'haacking' code together. Grant it, there are some indivuduals who want to know everything and will go out and learn it all.<p>Asside from the architecture, you also need to understand applied mathematics which is where Computer Science came from. You need to understand logic and electrical engineering, at least the basics. You should understand how registers work and how bits get added, subtracted, multiplied, divided, etc. This is all very important.<p>Once you learn all these fundamental things you will see things in code entirely different.<p>Remember, a high level language is just a syntax for you to apply your knowledge. It really is nothing more. Programmers should be able to switch languages very easily and still know what they are doing.<p>Let me tell you a short story about my first job after college. I ended up getting hired to a group where maybe half the people there had degrees. There were a few, lead, people who had taught themselves with VB. They asked me to write a script for them. In all their glory they wanted to tell me about this neat system they came up with. Two hours later when they finished I just replied, "You recreated a finite state machine". The two hours they spent explaining themselves to me really was a waste of time. All they really needed to tell me was, "Here is our finite state machine and here is the drawing showing the states. This is what we have implemented. Use this for your script."<p>Now, in college I wondered why I was being taught about finite state machines and whether I would ever use it. Well, my first job I did. I continue to use my education every day. It is very helpful to figure out what is going on. It isn't just about memorizing things but learning how to think and applying what you know.
gettingOnaBitover 13 years ago
I've been the CTO of a couple of software companies and am a hacker myself. I find it very hard to recruit good staff, as the article says, having a degree doesn't mean you're a good programmer. I expect any developer to have a degree, ideally a technical one. (I've taken a chance on self motivated people without this and have usually regretted it.) So that gets you in the door. What then drives my decision is your attitude. If you clearly love coding, learning how things work, can solve problems, aren't dogmatic over languages / OSs, etc. then you're down to the short list. If you can talk with enthusiasm about something you've done, be it professionally or as a hobby then you're likely to get an offer.
chaq686over 13 years ago
I think college is place to see opportunities and learn how take them. I really didn't enjoy college because was kind of lame (lame on learning some new languages and technology). But on basic programming, algorithms, math, physics, software design and logic were pretty good, sometimes boring as hell. But the thing is that you need to be patient. Languages comes and go but the principals are still the same. Also college is a great place to go to internships, student exchange, job/research, new ideas,innovation opportunities. Why? Because all those things are right in front of you. I wasted all that when I was in college and I'm working porting games (that is cool but I'd rather be creating them).
doodlejotover 13 years ago
I'd have to say I agree entirely with dave.is. The only point I would add is; college is for those who know what they are using it for. Most people are just funneled in for whatever reason and really have no solid understanding of why they are there let alone which classes are the best for absorbing knowledge.<p>People funneled in could be the definition of a slacker.. they don't know why they're there - so why care or try?<p>Studying on your own is definitely the answer if you have the passion and drive to stick with one thing. If you find yourself competing with a lot of random "passions" (like me) understand every aspect of how college will benefit you (career, socially, etc.) before jumping blind into the stream.
timhobertover 13 years ago
Consider going to college to get an undergraduate business degree, which will be valuable throughout your career. Perhaps study computer science as electives or find a good business school that also offers a computer science minor.<p>I left college in the U.S. owing $24,000 (I then paid $150 per month for 12 years and just recently paid off the remainder of the loan with a $5,000 check). And I really would pay that amount for the rest of my life... College was a blast. It changed my life completely. I really can't overstate that.
synnikover 13 years ago
College graduation is also a good indicator that you can choose a path for yourself, stick to it for multiple years, and complete a goal.
shadozover 13 years ago
I like this article. You've confirmed an idea I've had for quite some time now and that is you don't need to go to college to become a great programmer. I was introduced to programming in university and this sparked my interest so I'm grateful for that. I'm glad that I read your article because it has inspired me to work even harder at programming on my own.
guapo42over 13 years ago
It's true you can learn to code on your own but a good college education is about more than career training. It can give you an introduction to things you'd never come across otherwise, teach you critical thinking, the scientific method, academic discourse, writing skills and life skills. It also teaches you to jump through hoops, which is no fun but an essential part of life these days, and gives you a safe environment to experiment, fail and try again.<p>I took the author's tack and took classes I was interested in and hacked in my free time. It worked out wonderfully for me as now I have a job at one of the top game development studios in the country. College + hacking broadened my horizons and gave me the career skills I needed. I've been surprised many times how things I've learned in completely unrelated classes have been come back to help me.<p>It's been especially fruitful when coworkers who are much better programmers than me want to write good code on top of poor decisions based on a lack of inter-disciplinary knowledge. Being able to adjust the course upfront has saved many hours and resources.<p>If you can go to college, but like the author said, if you're not engaged in your learning you're doing it wrong.
lukejduncanover 13 years ago
While all of this is true, if you're looking to get a job somewhere then just look at where they are recruiting. The big guys in the valley recruit from top tier schools. It is possible to stand out from the crowd as a degreeless hacker, but its much harder to be "discovered."
dmerfieldover 13 years ago
If you're purely interested in the pursuit of understanding for understanding's sake, college is not a cost-effective use of 4 years of a hacker's life.
评论 #2925951 未加载
评论 #2926056 未加载
评论 #2925940 未加载
chromedudeover 13 years ago
I just started a question on Quora about this: <a href="http://qr.ae/7sZUS" rel="nofollow">http://qr.ae/7sZUS</a>
SpearHeadover 13 years ago
I am a B.Tech 2011 passout Graduate with less marks and High Technical skills...