Ask HN: To go or not to go college? - <AUTHOR> I'm currently a high school senior, I'm an aspiring and pretty badass dev and designer. I've built a few apps and I'm pretty sure that I'll be doing startups(most likely my own still) for the rest of my life.
I can't bear working for some big corporation(I've done it once, it's just not my thing) and thus really find no point of going to college.
I could get into a lot of good colleges, yet I really don't want to "waste" 4 years of my life doing a CS degree in college when I certainly won't learn much; I'd definitely learn 3x much being on my own. And if you say that college degrees make it easier, well...if I spent 4 years building awesome things, I'm pretty sure that I'd eventually build up much more credibility than some graduate from Carnegie Mellon.
I'd really appreciate your feedback on this, since it's a big dilemma that I think a lot of people from HN have experienced. <comment><USER2> Any high school senior who self-describes as a "pretty badass dev and designer" desperately needs more education. College is not the only way to get that education, but it is probably the most fun. You have the rest of your life to work, make money, launch projects, etc.

Especially if somebody else is paying your way, college is a small window of time where you can be entirely devoted to learning and growing. Meet people like you and people who are not like you but you still respect. Maybe instead of a doing startups, you find a field of research that draws you in. Or maybe you discover that philosophy is actually what you want to study and you spend the next four years trying to understand what it means to truly live a meaningful life. You can still keep programming on your own time and leave college if a great startup opportunity comes along.

If you are very, very intelligent, my advice is to go to the best school you can afford, not for the education but for the relationships you will make. It is a wonderful, humbling experience to walk around the grounds of Stanford, MIT, etc., and realize there are thousands of people just as smart as you, just as competent, just as lost and searching.

Whatever direction you take, put a large X on your calendar one year from now. Reevaluate your decision. A year of working full-time or a year of college will give you much, much more perspective. I'm glad I went to a great college, but I would have appreciated it more if I had spent a year in the workforce beforehand.

<comment><USER3> _Any high school senior who self-describes as a "pretty badass dev and designer" desperately needs more education._

And what if he _is_ a pretty badass dev and designer?

<comment><USER4> It's absolutely critical that he a) realize that there are much, much more "badass" people out there, and b) learn from them. College is a good way to do that, but not the only way.

</comment></comment></comment><comment><USER5> I didn't go.

My decision was in some sense made for me, in that I didn't have the grades to go anywhere attractive to me.

Here's my scattershot take on this:

(a) 15 years later, I feel pretty lucky about this set of circumstances. The four years I would have lost to school were _really_ good years to be in the industry.

(b) There are jobs that will care that you don't have a degree. But they are, by and large, jobs you don't want. This is especially true 5 years into your career, when most of the reasonable companies will open those roles up based on your experience.

(c) I coded when I was a teenager, but I had absolutely no appreciation for computer science. I was profoundly fortunate to have been drawn into a field that requires CS (software security); it forced me to pick up compiler theory, computer architecture, and distributed systems, and made me a systems programmer, which forced me to pick up data structures. My point here is, skipping school puts you at extreme risk of being a lifelong PHP or game dev, and you should be at pains to find roles that will keep that from happening.

(d) Almost everything I've managed to achieve has been a result of the people I've managed to work with. Words like "badass" and "awesome" are not conducive to learning from people who are smarter than you, which is basically the path you're choosing.

(e) You're not old enough to know that you'll want to be in startups your whole life. Realize that while you have a ~5-6 year window within which you can opt back in to college, you will hit a point in your late 20's where that becomes _much_ harder. You will inevitably regret opting out. That doesn't mean you shouldn't do it, but if you can't foresee that regret, you should at least respect how little insight you have right now and factor that in.

PS: If you don't have the self-discipline to craft a tolerable role at a "big corporation", you're probably not ready to make decisions like this on your own. There's a lot of negative things to be said about BigCo work, but entrepreneurial work is harder. This is a genuinely terrible reason not to get an engineering degree.

<comment><USER6> You're leaving out the part where your parents were of sufficient means to provide you with the resources -- eg, a computer, a modem and phone line, not to mention food, clothing, and an expensive private school education -- that put you slightly ahead of the curve. I coded when I was a teenager, too, but my access was limited to a couple of hours a day in a public school computer lab for 9 months out of every year. My evenings, weekends and summers were spent bussing tables and slinging hash... to pay for college.

So yeah, you did have an unusually fortunate circumstances. Even being in Chicago versus rural Texas provided you with a greater pool of jobs that would consider you beyond your academic credentials. And a greater pool of badass, awesome people to work with. And internet access, which multiplied both of those pools by some huge amount. Not everyone has those kinds of resources, but universities with deep pockets attract them.

And last, entrepreneurial work is not harder, just more risky.

<comment><USER5> I agree with all of this but I also assume that someone who thinks they're a dev "badass" just out of high school is privileged enough to consider putting college off for 5 years to see if they can make it on their own.

If your circumstances are such that you'll be leaving home to support yourself on your own and never have the luxury of downtime or uncertainty (and there are many tens of millions of these people), yeah, I think, go to school.

Oh, hey, Hacker News readers, welcome to 5-7% of all of me and Erin's arguments. =) Erin's got a (technical) degree and had to clean up hotel rooms to pay for it. Our worldviews are uh different.

</comment></comment></comment><comment><USER7> This has been covered many many times. The consensus is almost always "yes, go to college."

<http://news.ycombinator.com/item?id=528863>

<http://news.ycombinator.com/item?id=1636275>

<http://news.ycombinator.com/item?id=198732>

There are many more but ycsearch and Google are failing me at the moment.

Short answer: a degree is an easy way to weed out candidates. Also, if you're going to college to learn C or iPhone development or other "trade" bullshit, you're doing it wrong. You should be studying computer science. Anecdotally, I've never met a good systems developer without a degree-equivalent. The people without CS degrees also seem to be universally weak on theory: discrete math, computational complexity, proof construction, relational and abstract algebra, graph theory, and (amazingly enough) calculus.

Edit: You don't have to major in computer science, I was simply stating that you shouldn't expect your university to teach you objective c. That's the kind of thing good hackers pickup in a weekend.

Edit2: Seems Ptacek is an example of a systems developer who didn't get a degree. Looks like he had to duplicate the effort of learning the systems stuff anyway so, meh.

<comment><USER5> I'm not sure how much stock to put in the consensus of a group of people who overwhelmingly attended universities. It's not a vote.

Also: a lot of the topics you've cited are only superficially implicated in systems programming. Discrete math is a great and obvious example, but (perhaps counterintuitively) so is complexity; once you understand 1, log n, n, n __2, and 2 __n, you're ready to read papers and algorithms books critically. The number of times I've been called on to construct a proof of anything, let alone of the complexity of an algorith, is zero.

Graph theory is something you'll miss. Go audit a class and read Skiena; better yet, build a router or a program dag analyzer.

Finally, there's a hell of freight loaded onto that "meh"! You just "meh'd" a decade's worth of debt and four years outside of the industry. A "meh" answer here is pretty damning! Fortunately, I don't think it's at all "meh". There are plenty of good reasons to go.

<comment><USER8> As somebody who banged around in the "I'm not going to college! I'm going to take on the world on my own terms!" mindset for quite a few years after high school, there are certainly people (such as yourself) that _can_ make a great go of it. But for every tptacek in the world, there are a thousand guys putting in year 10 behind the counter at Geek Squad.

Going to school is only 4 years, but you'll immediately come out of it most decidedly _not_ at risk of being a Geek Squad "geek". At the very least you'll be able to get setup in a decently paying, full-time, salaried job that pays the bills and leads to a decent standard of living.

My friend from High School, who also did the "screw you conformist career path!" thing didn't end up in school and struggles far _far_ more with his day-to-day than I do. Not because I learned some special secrets at uni, but because it simply stamps you as "mother approved" to most employers.

Discussions about how it's the person and not the meaningless sheep skin and how employers are really dicking themself over for using diplomas as a signal of quality are wonderful and all, but unless the question above is "I'd like to stick it to the man by not going to school, how can I game the system and get lucky and end up where I would have had I actually had a degree in the first place?" then it doesn't really matter. Most people can't navigate the world in that way. More power to people like you, but it's simply not a realistic picture for most people.

<comment><USER5> I didn't do "screw you conformist career path"; in fact, I think that if your mindset is "screw you I won't conform", you _especially_ don't want to skip school, because you don't know what you're talking about.

By the way, if you can code, and you're working at Geek Squad, you have problems school wasn't going to solve for you.

<comment><USER8> Sadly, people who can code out of high school are a dime a dozen. I can go to any local high school and find half a dozen kids at each that can hack some code together.

I admire that you were able to autodidact your way into a successful career, most people aren't capable of that. I think it's ultimately unhelpful to advise people to follow in your footsteps unless they really truly are capable of following in your footsteps.

I really really wish I had had better opportunity in my youth to have gone to school right after high school, instead of burning through 4 years at uni, I burned through 6 years banging around in various tech jobs and trying to get past the notion society has that you really should go to school for jobs in the skilled labor fields. I watched many people who were not as good as I was absolutely leave me in the dust. Then I burned through another 6 years putting myself through school part-time while supporting me and my family.

Hell, I'd give anything to get 8 of those 12 years back.

>in fact, I think that if your mindset is "screw you I won't conform", you especially don't want to skip school, because you don't know what you're talking about.

Truer words were never spoken.

</comment></comment></comment></comment></comment><comment><USER9> To throw in my own experience: I have a BS in Physics, and I'm currently finishing an MS in Materials Science. I have friends who are working on startups while they do their CS PhDs. I hang out with electrical engineers, drink every Friday with a group of chemists and biologists, and play games with a selection of librarians, psychologists and English majors. And in a couple of months I'm starting an awesome HPC job which I found because of the people I met in school.

The advantage of a university is a _high concentration of diverse, smart, and interesting people_. You get to spend several years in an environment with a lot of people who know things you don't, a lot who don't know the things you do, and you are there specifically to talk to each other. Sometime's they're the same people, because humans don't overlap perfectly. Not everyone you'll encounter is worth it, but it's easy enough to find the ones who are. And you'll all have the _time_ to hang out, which can be hard when you're dedicating yourself full-time to something else.

If you're really an excellent developer, and you're absolutely sure that this is the work you want to do for the foreseeable future? You can probably make it work without college. But that doesn't mean you should.

<comment><USER10> Key quote: "The advantage of a university is a high concentration of diverse, smart, and interesting people."

</comment></comment><comment><USER11> Ten years ago I had the same thought, and I couldn't have been more wrong. College is 100% about the material you learn in CS classes - more like 10%. It is about the people you'll meet there, the ideas you'll be exposed to, and the crazy opportunities that only exist in a CS dorm room at 2am.

You won't meet anyone in CS that doesn't learn better on their own - fortunately college isn't about the force-fed learning you've endured for the last 12 years.

I can't think of any "I'm sure glad I didn't go to college" stories I've ever heard from any successful coders/millionaires - just "I'm sure glad I dropped out of college" (but you have to get immersed in college and classmates before those opportunities will start knocking).

<comment><AUTHOR> > It is about the people you'll meet there, the ideas you'll be exposed to, > and the crazy opportunities that only exist in a CS dorm room at 2am.

Fair. Say you move to SF and spend 4 years. I'm pretty sure you'll meet more and probably experience a lot more things there than in college. Parties and stuff? Ah, that's great, I'm not worried about that.

<comment><USER11> Also, apply now anyway (I kick myself frequently over thinking I'd save $40 and not send my app into the longshots). Better to have the "I was accepted but I don't want to go" dilemma than "I changed my mind, want to go, but didn't apply in time so now I'm going to a local tech college" situation.

<comment><AUTHOR> Thanks for your feedback. It makes sense. I'll be applying to UF.

</comment></comment></comment></comment><comment><USER12> If you are asking this question, chances are you're not going to learn 3x much being on your own because you just demonstrate that inability.

People always pick Bill Gates, Mark Zuckerberg, and a handful (yes, a handful) others who made it big without finishing college as example to support their own excuse to skip college. This is a gross overgeneralization and not the complete story.

Do you currently have a better opportunity in front of your face than college? Cause Bill Gates and Mark Zuckerberg went to college and quit when that kind of opportunity (a huge one) appeared in front of them. They never ask online forums for life directions (they might ask their parents, something that seems not happening in your life).

It looks like you're a typical badass teenager who has problem with authority, discipline, and focus rather than a badass developer. We'll see if you can be successful without changing that mindset. I know a few of my friends who were like you in the past but had to succumb somehow. You don't live in your own world, there are other people around you.

So no, you're not going to learn 3x much since you don't even know what to learn and where to start? And no, you won't build much more credibility than "some graduate from Carnegie Mellon" because of your character. Chances are you're going to be a very awful leader and you might build something that might be popular in short term but won't sustain in the long term.

You are aspiring, I give you that. But badass? yeah, badass in a bad term, not in some sort of hacker-y awesome term. Please do yourself a favor and don't waste your precious potential. Go to college.

Now, here's the meat: go to college and take either Business, Economics, Commerce, or Accounting major. Technical skill itself won't do any good. If you can't work under anybody else, that means you have to lead. Take Leadership, Communication, Psychology courses.

And do the world a favor before you screw other people in the future in any shape or form or opportunity: find a good mentor cause you need some guidance.

<comment><USER13> Before Gates dropped out, he got a publication in a discrete math journal. If you can pull that off, feel free to drop out.

</comment></comment><comment><USER14> Go.

You will learn more than you think. I started programming at 7 and still learned a great deal in some of my CS classes. College will round you out as an individual. Sure, some classes will feel like a monumental waste of time, but just interpret that as part of the character building process.

A college degree is the basis of any career and really is the high school diploma of the 21st century. You will meet people, open up networks, and learn about things you never knew you were interested in.

I experienced a lot of frustration in college because I felt a lot of classes were remedial and unchallenging and many of my professors were terrible educators, but, as a whole, it was a very rewarding experience.

</comment><comment><USER15> To my ear, you've already made up your mind against it. Moreover, you seem to have a very negative attitude towards college (waste of four years, learn three times more, build up more credibility than...).

If that is your mindset, I would say _don't_ go to college simply because you're so set against it. I started college straight out of high school with no goals and little interest in it and quickly dropped out. Eventually, I went back (about two years later), graduated and then went on to get a PhD. But my first semester as a college student, I failed or did poorly at everything since my heart wasn't in it (and I skipped almost all my classes). If that's where you are, I think a year off is better than starting with a negative approach.

Having said all that, I wish every day I could go back to school and spend my days reading, writing, learning and shooting pool (how I spent most of my college/grad school days).

 _Edit_ : remove overly long thing about a typo that's now fixed.

<comment><USER16> Sounds exactly like me, except I haven't gone back yet. I went to a poorly chosen university, hated it, and left after a year with failing grades. Now I'm happily employed with a small company but I'm positive that I'll go back (to a better school) when I'm ready. I'm lucky to have landed a job the week before I graduated high school without even looking, which I went back to after dropping out.

</comment></comment><comment><USER17> Totally go.

>> learn 3x much being on my own

I doubt that. Part of it is the mindset of school. For 4 years of your life, you will have no other obligations than to focus and learn. It is "liberating" in the sense that you know you're there to improve your self and your talents.

You can buy textbooks, but you can't buy the experience of going to school and meeting a diverse set of interesting people your age.

For me, University was a formative stage of my life. I don't regret going at all. It also forces you to learn things that you may not have thought of learning, things that you learn to appreciate later.

You may not want to work at big corp now, but there may be a time when you have to sell-out, even for a short period of time out of pragmatism.

<comment><USER18> And even if you're restless (like I most certainly was), you can still work while you're in school for a company, the university you attend, or yourself. Best of both worlds, and it keeps loans down.

But the one big thing that college offers that lee references here is the learning things you may not have thought of learning. You'll have to take some "fluff" classes, or classes that aren't related to your major, but they expand your appreciation for other topics.

More importantly, at least for me, was the idea that college was a sandbox in which to learn about myself and leadership. I went the fraternity route (of the "Greek" variety, at that), and I learned more about leadership than I would have thought possible at my age. When I first got to school, I never would have dreamed of joining a "frat", let alone running one.

Working my way to President and leading 60 men/fratboys to a higher calling than getting drunk on weekends - a Sisyphean task if there ever was one! - built up my ability to lead without authority, and focus on such nuanced topics like recruitment for business and attention to detail.

Not everyone will have the same experience, that's for sure. I can definitely say I learned a ton outside of the classroom, and the ability to have those experiences when the generally worst case scenarios is a few angry drunk guys and not salaries or a business was very unique.

</comment></comment><comment><USER8> Yes go. I wish people would please stop posting this exact same question every 30 days on HN.

<comment><USER12> Unfortunately there were times where the media (and sometime even HN) made a big deal of prodigies and/or drop-outs. You'll hear more of these questions for a while.

</comment></comment><comment><USER19> Do both...college really isn't that tasking...especially the first couple of years. At most you'll be spending 20 hours a week in class(more like 15-18), and 4-5 hours a week on homework(more like 1-2). That leaves you a shitton of time to do startups.

Startups tend to be slow to get off the ground. The # of companies who go from 0 to millions within a year are few and far between(especially if you are bootstrapped).

So use the 4 years of college as your cushion to grow your business. It's the best time to do it, since you don't need a job to pay for your rent/food...everything can be paid for with loans that you won't need to start paying for 4 years...and when you do start paying, the amounts are tiny.

</comment><comment><USER20> Who told you that you won't learn much in college? Don't kid yourself. Right now, you don't know what you don't know (as has been pointed out elsewhere.) Skipping college is hamstringing yourself for no good reason. Like it or not, having a degree is like building a personal brand. It says that you have some base knowledge and the ability to complete a long-term project. Unless you have something better lined up right now, I wouldn't skip it because it is difficult to go back in your late 20s when you realize you've made a mistake.

<comment><USER21> I don't see why it would be difficult to go back in your late 20s. In my case I think if I had done that I would have had more maturity and self discipline.

Of course if by that time you are married and have kids and a house, etc.... yeah it would be exceedingly difficult to be a full time student for four years.

EDIT: changed "have a wife" to "are married"

</comment></comment><comment><USER22> I went to silicon valley right out of high school to work in tech, I absolutely understand where you are coming from.

For what its worth, I also started 2 internet companies while in high school and have been a passionate entrepreneur since. After much deliberation and discouraging (not a typo) advice from those around me, I went back to college after 1.5 years in industry to get my degree, knew what I wanted to study, finished quickly and paid for a majority of it on my own. In a few cases, I even finished just as my friends who had gone straight through after HS. I had some real-world experience and knew what I wanted to study. I did serious research on degree programs and studied exactly what I wanted.

If you are up for it, college is a different kind of challenge that is hard to recreate. It requires a lot of "work" but its satisfying to move toward a long-term goal and finish; very similar to the satisfaction of building/launching an app from nothing. It requires discipline no matter who you are (entrepreneur or not) to get through college or school.

Quite simply: I wouldn't go if you expect to get professional experience or learn more about CS, I would go to learn and have fun but know that it will get harder for a lot of reasons to go back later (mostly because you won't have as much fun). ;)

Just like you I thought going away for a few years would make or break me professionally. I guarantee not much will change and you won't miss out on ("waste") as much as you think you will.

All the best.

</comment><comment><USER13> I'm a college undergrad graduating pretty soon and I decided to study biology, not CS, for the same reason that you mentioned - that I felt like I probably "knew it all" already. I also ran into the problem that my school doesn't let anyone test out of the first year of "Intro to CS" which is basically writing for loops and understanding variable types in C++ - wasn't going to waste my time with that. But, having been allowed to sign into some upper level algorithm courses (like Bioinformatics, which I really enjoyed) I've learned that I definitely do _not_ know as much as I thought I did, and there is plenty that they can still teach you. When you're completely self taught like I am, a good algorithm class will really help stretch your brain and make you think in new ways. There's a big difference between being a "badass dev" and having a real CS background. If you develop in a high level language, you're going to learn that the actual implementation of simple things you do all the time is non-trivial and may have impacts on your applications that you're unaware of.

If you make the most of your college experience you can get involved in research, get on or off campus jobs - basically, get to know interesting people, and get some exposure to real world problems and experience trying to solve them. I don't think you should throw away this great chance for growth.

You might consider doing a different major, i.e. math, science, engineering, if you're interested in anything else, and just taking the CS classes that interest you. If you have issues with prerequisites, get to know the professors personally - this is the college secret to being allowed to do just about whatever you want.

</comment><comment><USER23> Going to college is not a binary decision. There are good ways and bad ways to go to college. If you go to college the good way, it can be definitely worth it. It's not required, as many people here can attest to, but that doesn't mean that it's not worth the time and effort.

First, go to a _college_ , not a _university_. The ideal place is a teaching college that does not focus on research and does not have grad students. They exist, and they're awesome. Ones to check out include the Claremont Colleges (disclosure: I went to HMC), Occidental, and Reed. At a small undergraduate teaching college, you are the focus of the professors, rather than a duty to be discharged with the minimum of distraction from your main focus.

Second, take advantage of that focus. Don't just go to class, do the work, take the test. Talk to the professors. Ask questions. If you don't feel challenged, ask for more advanced work. They'll always take the time if you ask them, and they'll usually be able to work something out for you. And don't just get to the level where you can do the work, get to the level where you deeply understand ("grok") the material. You're not just going to college to get a rubber stamp on a piece of paper, you're going to learn. College is the best environment for that, but it takes effort, and usually going beyond the minimum requirements.

Similarly, talk to other students. Having peers is awesome. Making connections is useful. Having a community to support you will become necessary at one point or another in your life, and college is one of the best places to start building one. Plus, learning to interact with other people in a work-related environment is critical, and this is where you learn (high school is bad at this).

There is a _shitload_ more to learn in college than just programming. That, in itself, is one of the best reasons to go. Maths, communication, writing, public speaking, business, economics, finance, and law are all available and are all valuable. Teamwork, leadership, and responsibility are also things you can learn, even though they're not taught as such, and they're critical to getting anywhere in life.

Now, there's two possibilities. One is that you're hot shit like you think you are. The other is that you're not, and you have no fucking clue. If the latter is true, you will find out very quickly, and be glad you did. If the former is true, then getting value out of college requires a somewhat different path, albeit one you may end up wanting to walk anyways.

If you are good at CS, and still want to get a CS degree, focus your studies on areas that you don't have much experience in. Math, logic, compilers, functional programming, and systems design are areas that autodidacts such as yourself are likely to be weak in. You may not end up using any of the specific skills, but they'll make you a better programmer. Get some practice working on teams as well.

Alternatively, don't get a CS degree (or double-major). Go do something else. You don't need a CS degree to program, and having a wider breadth of knowledge can be extremely useful. The ones most closely related to CS are math, physics, and engineering. Those disciplines are always in high demand, and always have high demand for programming skill. Engineering is a useful perspective to have when coding a large system, and math skills are never wasted (they're obviously not required, but if you have those skills you will always find ways to make use of them).

Alternatively, take something totally unrelated. Business and communications will help if you want to make a startup (if you take relevant classes, not requirements). If you don't major in them, still take a few classes, especially public speaking/presentation classes. You could even take up something like, say, basket weaving, and then you'll be one of the very few good programmers who understands basket-weaving, and your domain knowledge will give your basket-weaving-web-startup the ability to efficiently fill a need no one else even knew existed. I don't even know what a basket weaving startup would be, but that's sort of the point--you could be the first to figure that out.

Finally, college is a place where you can experiment, take risks, and make mistakes. Spend your summers in internships or work-placement programs in various verticals and types of companies, to see if that's what you want to do. Do some research, to find if it's interesting. Take a chemistry or a theater class, maybe you'll find a passion (most people I know, their favorite class was not in their major). Pull all-nighters (studying or Halo) just to find out if you can take it. Get shit-faced drunk. Get a girlfriend (or boyfriend).

And if you don't find it's worth it after two years, drop out and do something else.

<comment><USER24>
      First, go to a college, not a university. The ideal place
      is a teaching college that does not focus on research and
      does not have grad students. They exist, and they're
      awesome.

Or go to a top University. The Professors certainly care more about their research than you (it pays the bills and keeps them employed), but it's OK if you're smart. You don't need one-on-one attention. If you want to get super smart, join a research group and work on hard problems.

And if you go to the right university, you have instant credibility. Even if your goal is not to work for a megacorp (which, by the way, is trivially easy out of CMU), people will assume you know shit, which makes your path infinitely easier.

It's true that very smart people come out of all types of colleges with all kinds of backgrounds, and that there are a lot of idiots at places like MIT, Stanford, and CMU. But the intelligence density is still always going to be way higher at a top 5 school.

In short:

Stanford - Best overall for undergrads, in my limited experience. It's not that the smartest people I've met have been Stanford undergrads/alumni, but they're consistently bright (across a sample size of 10 or so).

CMU - Very good at programming. Most of the systems classes follow the "Write X from scratch" mantra, which is a great way to learn about malloc, distributed systems, kernels, etc.

MIT - Obviously a great school, and some of the smartest kids go there, but I've not been universally impressed (we're talking about rising seniors not knowing how malloc works). Still, my sample size is small.

Berkeley - I've heard that the professors there are trying to create more professors. I work with one Berkeley grad (now a PhD student at CMU) and he's pretty sharp, but doesn't have the programming background that I do.

</comment></comment><comment><USER25> If you're ready to do your startup, then do it. Start building it today, have something to show in a couple of weeks, measure progress and success. If it doesn't work out and you need some time to regroup, go to school then. Educational institutions aren't going away, unlike that favourite startup you were considering working at before they get big and sell out.

Sometimes you're just not ready but you know you will be soon. In this case, go to a good school and equip your mind with things you'll mostly never use but still somehow benefit from in the long run. Learn computer science, meet amazing people, be inspired.

If you're not sure, do both. A top university can be rough, but it's amazing how much you can scale your effort while still getting reasonable grades and learning. If you're not worrying about a job with big corporations, grades don't matter much. Go to school, meet and recruit amazing people, work at it until you're ready to go full time.

Just don't waste all your time playing videogames while being indecisive.

</comment><comment><USER26> So here is one data point. I was very interested in electronics as a kid, and got a ham radio license at a very young age. I studied everything about radio that I could get my hands on, Fourier analysis, circuit design, propagation. I ended up at Northwestern (by some mechanism that is still not clear to me) in the EE program and took the 5 year (with co-op) program. I had studied enough that it wasn't until Control System Theory that I learned something totally new to me.

Meanwhile, in my freshman year, I got into computer programming and haven't looked back and have been making a living programming for all the decades since. I did finish my engineering degree, but during my senior year I was working pretty much full-time in my first startup.

So what I would say worked for me is the studying that I did outside of my actual coursework. This has continued to be my habit after college as well. While I was officially studying EE, I was learning everything I could about computers. While I was writing real-time data acquisition and pattern analysis software for that startup, I was studying how to build compilers. Then, once I started building compilers for a living, I started doing consulting.

So I am not a good data point for a connection between what school was about and what the career is about. But then again, the career has had a number of shifts in which study of a new field was key.

So while you are considering this decision, consider 1) how well you do is more a function of you than which, if any, school you go to and 2) you will learn things in a university (and college) that will serve you well later on 3) you might be the kind of person who can do well without school.

And to this day I am a bit ambivalent about CS degrees. My own narrow experience makes me suggest a good engineering program with a CS minor. I do wonder if one learns programming without gaining a few scars and adopting one dogma and another and have that go bad on you.

To give an example, I was once in a position to interview candidates for compiler positions. There were some schools whose CS masters grads were frightened of compilers, others who had a good grasp.

However, if you have done a "few apps" and consider yourself a Badass Developer, perhaps a good school will help you with that notion. I am reminded of stories I heard about folk going to places such as Cal Tech. Supposedly there was a week spent convincing all these very smart kids that they were not all that much more badass than the kids to their left or right.

</comment><comment><USER27> > I'm an aspiring and pretty badass dev and designer

Some tens of years ago programming was a very respectable engineering activity.

Today it is basically a blue collar job, at the complexity level comparable to that of plumber or electrician (though i doubt that many of today "badass" programmers would be able to muster all the knowledge required for and successfully pass the related plumber or electrician exam. Don't know about other states, in CA you'd need 4 years of related professional experience working for somebody who already have a license before you'd be eligible to even take the exam).

Tomorrow - programming would logically come to being just a very basic rudimentary skill people apply among others while performing some professional activity.

In general, the basic education level isn't K12, it is K16. It is your own personal choice whether you wanna be a dropout and stake all your future on some basic skill you developed while in the middle-school (ie. K5 to K12 grades).

</comment><comment><USER28> I'll focus on the "badass" dev aspect.

Head over to topcoder and do some of the algorithm/design/development competitions. Did you win? Place?

</comment><comment><USER29> If you want to do startups you should go to school and bootstrap something on the side. If you come up with a viable product you can then maybe consider dropping out, but you need to hedge your bets and start by going. Note that Bill Gates was a college dropout not someone who never went to college, BIG difference.

College isn't about the curriculum as much as about your fellow students. If you go to a good Computer Science department, you WILL find coders that are at least as good as you. Great people to start projects with and network with if you are looking to do a startup.

<comment><USER30> This seems like great advice, or at least it's working out for me. I had the money before college to consider not going, but I never seriously considered it. If you get into a decent school, which most technically inclined people don't have a problem with, you'll meet a ton of smart students and professors.

For something like what you're doing, you will likely meet a lot of similar students in your CS classes, many of which who might not even care for college but go for other reasons (their parents value education, they want the college experience, etc).

I really agree with hedging your bets; if you have the happy problem of creating something that is worth dropping out to work on, more power to you.

</comment></comment><comment><USER31> This is really a personal decision. Most people would benefit from college, but there are plenty of otherwise smart people who aren't cut out for it (like me). Here's what I'd say:

Go to college, but don't stick around if it turns out to be a waste of your time. That's the mistake I made. It took me nine years and $35000 in student loans to figure out that I'm not cut out for college.

That said, I did learn a decent amount about programming in college that I might not have learned about on my own. So it wasn't a _complete_ waste of my time.

</comment><comment><USER32> Go, but don't pick a super specialized school. The valuable aspects of college aren't so much in what you learn in the classroom, but in what you learn about life. It is 4 years where you can pretty much dick around and find out what interests you. In my opinion, the social experience is what really makes it. You get to spend those years around a diverse group of people in your own age range who are probably just as lost and confused as you are. This is great for both friendships and more intimate relationships (it really is never as easy as in college).

You can also build awesome things while in college. If you're fairly bright, course work shouldn't consume all of your time. It's all about balance between class, building things on your own, and your social life.

Also, another thing to consider is that if you skip college, you will likely be spending a lot of time with people 6-10 years your senior. This can be both fun, but also quite a drag. This is especially evident when they go out to bars and you have to stay behind (or hope to god that your "alternative" id works).

My university has a drinking song that includes the line "We all came to college, but we didn't come for knowledge, so let's raise hell while we're here." In a lot of ways, this sums up the true value proposition for "wasting" 4 years of your life in the pursuit of finding out who you actually are.

</comment><comment><USER33> Yes, you should go. I was in a similar position, although not particularly badass myself. After getting an associate's at a local community college (practically for free) I wasn't sure whether I should transfer to a university or spend more time building stuff.

Bottom line, as I'm now about to graduate with my BBA in Computer Information Systems, I'm quite glad I opted to continue. Like you, I wasn't sure how much tech stuff I'd learn. And it's true, most of my computer classes were way too easy and not really beneficial for me. But my program is also heavily focused on business, which I think is extremely important, especially for someone considering working independently. I also discovered an interest in Economics, in which I decided to minor. However well you can program, if you can't manage the business side of things, you're cooked.

You also shouldn't underestimate the benefits of developing more in the general education areas. Developing a firm grasp of English writing is absolutely vital. Developing the capacity to further understand and appreciate history and culture can also be very helpful. This kind of sampling can also help you realize other areas of interest and help build up a general pattern of understanding which can be useful in understanding all frameworks. You can, in theory, learn all this on your own. It's just that college can really help you get started if you're serious about it and are actually there to learn.

At the same time, though, I've now been considering whether to continue into a graduate program. I've excelled in classwork, and it seems like a no-brainer, but since I don't have a definite direction I'm opting not to pursue a graduate degree. At least not for now. That would be an additional large commitment, even just of time, and I think it's benefit, since I also don't want to work for a large, corp would not pay off.

</comment><comment><USER34> I've never met a bad-ass developer that described himself as a bad-ass developer. The decisions you make over the next 5 years will heavily influence the rest of your life. Treat college as a safety net and a networking opportunity. Aside from that, it will be a humbling experience for you. It's funny how getting smarter/wiser first means realizing how stupid you are.

</comment><comment><USER35> If you are really good, are you in a position to get some scholarships / financial aid? This would lower some of the opportunity costs of going. Now...

a) In college, you would still have a lot of free time to pursue your own projects, and could always drop out if you hit it big! It gives you a safe place to work from while giving you a chance to learn more skills, too.

b) It gives you a GREAT chance to meet other people who can help you, work with you, drop out with you, etc.

c) You can learn about other life skills, too!

Those are three good reasons that you might want to consider more seriously going to college. I feel the same way about many post-graduate experiences as you do about college, and it's important to try to see things with more shades of grey and to be more open to positive experiences.

Remember, no one is going to put you in a prison for four years, but by not going to college now (or not applying... etc) you are losing on some opportunities that you might like, even in six months. So for now, relatively easy to keep more options open.

</comment><comment><USER36> I got my 3 year degree in 2 years and since we're in Italy it was really easy - I could have spent my time in better ways.

But the point is I probably would not have done that, college teaches you some basic things about IT (or business or what you want) that you wouldn't study on your own because they're basically too boring and you might be too busy doing other things (being it working for you, for someone else or even doing wonderful things)

Also college "woke me up", when I first started (actually I spent the first semester playing cards ALL DAY :) I didn't know what I was gonna do with my life - probably work for someone. I'm not sure if this was gonna happen anyway or it was that for the first time I knew I could take save time in college rushing the coursers.

So if you already got "the balls" and think you are mature enough to build something awesome, then do it and skip college. But please don't skip college to be depressed after 6 months and work for a big corp, since you seem to hate it.

</comment><comment><USER37> My advice: If you have something better to do -- you are hot to trot to join the military, travel the world, launch a specific product you are currently working on...etc and it is do-able in the here and now -- go do that. If you do not have something better to do, then go to college. You can always quit should something better to do come along.

</comment><comment><USER38> College does so much more than teach you how to code. In a good CS program, you're going to get exposed to ideas and concepts you'd probably never encounter in your own studies. There's also that thing about going to college to become a more knowledgeable person in many subjects. If you go to a good school, it will probably be worth it.

Also, getting your foot in the door can be tough without a college degree. It's not you don't know your stuff, it's that the HR people will toss you off the pile. You stated that you want to work at/on start ups so this probably won't be a problem, but it's something to think about.

</comment><comment><USER39> Consider the social aspect too; college can be good social training and put you in touch with people of the same mindset as yourself.

I've been out of education for nearly 3 years now and already have made good use of such connections.

</comment><comment><USER40> As a soon to be graduate, who thought university education wasn't worth it as well, GO TO COLLEGE! It's so much more than just programming. You'll learn technical things and non-technical things. The experiences you'll have during these 3-4 years, you will cherish for the rest of your life. You can always work for yourself later, if the need be, there's no hurry to startup by throwing yourself in 100%. Take some time off, learn some core CS/Math concepts, join a few campus clubs, party hard in the dorms - remember work is never gonna get less.

</comment><comment><USER21> A college degree will give you a lot more choice of opportunities and it's hard for me to think of any it will eliminate. That said, flunking out because you are not motivated won't do you any good. So if you are really not motivated to do it, try something else first. Military service, a start up, a regular job... all will give you perspective.

Taking this path however, be sure that you are happy with what you are doing before you start putting down anchors like getting married, having kids, etc. as that will greatly limit your freedom to keep exploring.

</comment><comment><USER41> I think perhaps it depends on the school you choose. I went through 6 years of college without obtaining that piece of paper. I bounced from electrical engineering, to pure mathematics, to computer science, and eventually to network administration.

I've been doing freelance development for around 5 years now and have been a network admin for a small municipality for 7 years. All the while I've been involved in open source projects and a few tool building projects that I apply to all of my jobs.

The experience I had in college was bitter. The CS department wasn't teaching anything useful. The only two classes from the dept. that taught me anything were Data Structures and Algorithms. They were unfortunately taught in Java (the school moved from C courses to Java in my second year there). Everything else was knowledge that I had learned on my own prior to college.

I found the pure mathematics courses to be more interesting and useful. Discrete mathematics being the most useful for development. I think the course taught me better ways to approach problems, not just the mathematics itself.

People I've worked with who have degrees seem to have a very focused skillset. They know a lot of theory, but lack a lot of practical knowledge because (I assume) they don't care to educate themselves further. I'm not making a sweeping generalization here, just an observation. There are plenty of college graduates with a ton of practical knowledge.

As mentioned, I don't have a degree, but I think I'm doing OK career/job wise. I can provide for my family and enjoy what I do.

If you don't go to college, get as much experience as you can. Many employers will ask for a four year degree OR equivalent experience. If you want to be a developer, learn other disciplines that tie into development (such as system administration) while you're writing code. In doing so, you'll be less dependent on others to get your job done and you'll be better adjusted to most any position. Understand the foundations of your work. Additionally, learn to speak/write well.

Colleges seem to focus not on learning, but completing the tasks required to obtain a degree. It's mechanical in nature and you only get out of college what you put into it. If you go, be willing to go deeper than the coursework.

</comment><comment><USER42> In my [limited] experience, it's common for developers who haven't had a formal CS education to never pick up some of the important CS fundamentals. Of course it's certainly possible to learn this stuff on your own, just unlikely.

A few other things to keep in mind:

* You can build things while you're in school, and if anything starts taking off then drop out.

* Or you can just work hard and graduate in ~3 years, especially since you already know how to program.

* College is about more than just taking classes and learning the material for your degree.

</comment><comment><USER43> If you have a feeling that you can do this without going to college and that it's a waste of time, you are probably right.

Also, you should consider to do formal part time study. With some skills and knowledge on your back you will find out that taking some exams part time isn't too hard when you can focus more full-hearted than a regular student. You can cherry-pick your courses and later, when you have saved some money, perhaps finish with a degree if you feel like it. Best of luck.

</comment><comment><USER44> It's been beat to death, but everything of substance that I took away from college came from outside the classroom.

Socialize. Network. Further develop your relationship building skills.

The way I see it: I entered college as a smart, but normal guy. I had no special connections or family ties, and I subscribed to the 6 degrees of separation mentality. I'm now 23 and I'd be willing to be I could meet anyone in the world with through 3 degrees of separation.

College was that extra 3 degrees, and it was well worth it.

</comment><comment><USER45> If you __don't __go to college, you better damn well educate yourself better than anyone in college will.

That means reading big textbooks, working on hard projects, getting to know more about things outside your field of study.

This is what I've done instead of college, but I feel like I've probably studied a lot more computer science than a lot of my friends who did go to college. It's not an easier path, just a different (and possibly cheaper) one.

</comment><comment><USER46> You mention you don't want to work for the man, this sounds like you'd prefer to go freelance or start your own business. Given that and the fact, which I'll accept at face value, that you're a bad ass developer who knows big O notation and can code your own lists and trees and hashes, and you did fine in your math classes, and if you did go to college it would be to get a CS degree, then I would say no, don't go to college, it will be a waste of time compared to what you could have done by not going to college, in particular starting a business while traveling the world and not going into debt.

If you are not a trust fund child, the debt loan from college will definitely prevent you from starting your own business and ensure that you have to work for the man whether you want to or not.

If you decide to go to college later, that's fine too and maybe by then you'll have a hankering to study philosophy or russian literature or such and do so without going into debt because you are already running a multi billion dollar company that you founded yourself.

You sound a lot like me. I was designing embedded systems and writing operating systems in machine language by the time I was 16. I ran into problems dealing with concurrency, read a number of papers, had some solutions, but felt there had to be a better way, and so off to college I went, and I got into one of the best engineering schools there was (Stanford). After four years, I had not learned a single useful thing and discussions with top professors in the field taught me only that not only had almost no professors at top engineering schools have ever written and released to the public a program more than a couple thousand lines of code long, but also these jokers don't know anything about developing software. So it was a big waste of money.

If I had majored in art or history or something like that it might have been worth it because I wouldn't have been pulling all nighters to finish labs that were busy work, and probably gotten more sex with hot girls, and learned something interesting that I didn't already know.

If I skipped college, I would have gotten a 4 year head start on my career and I wouldn't have had to pay off $50,000 in loans right away, which required that I had to work corporate BS for several years to pay off before quitting and doing my own thing.

So, for your specific case, and speaking from my own personal experience, don't go.

</comment><comment><USER47> Keep in mind one thing. College isn't valuable for the collection of facts that you accumulate in the same way that armed forces basic training isn't just to teach people who will be running through tires and climbing ropes.

"Getting through it", "finishing stuff" and learning how to teach yourself are what makes college worthwhile. If you're using a different scorecard, you may be overlooking value.

</comment><comment><USER48> I don't know how the scene in Jacksonville is, but I would strongly recommend, if you skip college, to go to a strong technical hub (Silicon Valley, New York, etc). You will have fantastic networking opportunities that you won't have elsewhere, which goes inline with what tptacek's point (d).

FWIW, I am leaving college to take a full-time job at a company in the valley. I was (am) a junior in CS.

</comment><comment><USER49> I went, and recently finished ('09). I'm dissatisfied with my job for the same reasons you would be, but at the same time, the extracurriculars surrounding the college experience were overall positive. If you don't "go to college," at least go to a college town and meet the women and drink with the men. There's a certain value to being able to discuss the experience later.

</comment><comment><USER50> Nothing I can say will tell you what to do, neither will the rest of the community. This is something I had to learn the hard way, and despite my best efforts you'll probably learn the hard way too.

You're 18. Confidence is essential to success but please remember you only know a fraction of what your parents wanted you to.

</comment><comment><USER51> Definitely go (coming from a college freshman who just started). You'll learn much more than you think, meet people much more "badass" than you, and you'll have 4 years and plenty of time.

You coded in high school, you can code many times more than that in college (I'm doing the same). That's four years of cushion and no rent.

Go.

</comment><comment><USER52> From someone that learned The Hard Way- just do it. Everyone here makes great points, and the connections you make really will serve you well for a lifetime, but also consider that you'll probably have a blast.

Have you visited some of these campuses? ;)

</comment><comment><USER53> I think that the one advantage you'll gain from going to college is potentially meeting similarly driven people with similar interests :)

That group you used to have a pint with might end up being business partners one day.

</comment><comment><USER54> If I could do things over, I think I might have given economics a try. Unless you really want to do "CS" kinds of stuff as a career, you can figure out programming on your own, most likely.

</comment><comment><USER55> I think that way you laid down your thoughts asking for feedback pretty much tells you what deep down you really want to do. What are you looking for is just confirmation from other people.

</comment><comment><USER56> Sounds like you don't want to go to college right now, and want us to tell you it's okay. Do want to feel like doing right now, you can always drop out, or start college in a year or two.

</comment><comment><USER57> I would go to college for the connections. Go to college with a good CS and business network, MIT, Stanford, Harvard, etc.

Be friends with your professors especially. They can open doors for you.

</comment><comment><USER58> You're clueless. That's OK - all high school seniors are.

Go to college. You'll have fun. You'll grow up. You'll make friends that you'll have forever. You'll learn more than you think.

</comment><comment><USER59> I learnt hardly anything computer related at uni, I actually lost some knowledge. However the social side and the things I learnt about myself made it more then worth it.

</comment><comment><USER60> Based on the syntax of your post, I would suggest at least a couple night courses in professional writing. You never know when you might need to write your own copy.

</comment><comment><USER61> Provided it does not produce financial hardship, go. Maybe major in something other than CS: the next big thing (if not current) is domain knowledge.

</comment><comment><USER62> It's expensive, but worth it for the people you meet and the unexpected directions you may find.

</comment><comment><USER63> I'd say don't go to college if you think you can meet people and find jobs without it. Here's my story.

In 2007 I left high school 2 years early and went to community college. I didn't know what I wanted to do with my life; all I knew was that I hated high school. During the next 3 years at community college, I learned that I was way better at computer programming than I thought, and that I wanted to do software startups for a living.

I got accepted as a computer science transfer student to UC Berkeley, but by this time I had learned to work 6-8 hour days 6 days a week programming my own stuff. I was very ambivalent about whether to go, but a friend of mine who I had a lot of respect for said I would actually be more productive there, so I went.

Pros of going to college:

* Diverse experiences are good, right? I walked alone in the hills a few times, snuck in to one of the other dorm buildings at night, got girls' phone numbers and learned just how polite a rejection can be, tried drinking, and met a homeless guy who succeeded in convincing me he had a PhD in biology from MIT. I probably wouldn't have had these adventures at home.

* I met a designer (who was actually already my friend on Facebook) and now we're collaborating.

Cons:

* My 6-8 hour days fell apart. I now work maybe 1-2 hours a day on my projects.

* UC Berkeley students aren't really all that clever. Even among the computer science students, many couldn't program before they came here, and a solid majority of them never program unless it's for school.

* It's a bit hard to relate to the freshmen on my floor. I don't think I've ever had a really good conversation with any of them, let alone a good conversation about physics/economics/etc.

* My classes are dull. I already know what's being taught. And non-sped-up lectures are an inefficient way of learning things in general. I'll believe that educators seriously want to educate students when they write education websites that optimize for learning the way e-commerce sites optimize for conversions.

How to meet people?

* Scour your Facebook friends, gChat contacts, etc. I didn't know my friend Persia was in to web design; I had to run in to her in Berkeley to find out. That's an inefficient way of doing things.

* Go to events like SuperHappyDevHouse, meetup.com stuff

* younoodle.com? djangopeople.net? etc.

One option is to go to college and then withdraw. UCB at least offers guaranteed readmission to withdrawals. I'll probably do that if I find that I can't reconstruct my 6-8 hour days or I become ramen profitable.

</comment><comment><USER64> I would say go -- you can always drop out if you decide it's not for you.

</comment><comment><USER65> Buddy, GO to college. If you feel you're that good then prove it with your grades.

AND (more importantly) help others do some good with their lives!

</comment><comment><USER66> I won't lie to you, I built a business with no higher education, and have never regretted my choice. If you're a talented hacker, you love what you do, and you think you have what it takes, I recommend you go for it.

The fact is, you can always go back to college if you fail, and you can always do a startup later in life, but you'll never get your youth back. So you need to choose the path into which you'll be pouring those precious years.

Starting a company is a great alternative to college, but don't expect it to be an "easier" path. You're going to have to learn just as much, and on your own to boot.

The rewards are there, if you work hard. But the final decision is yours, and is largely dependent on what you want to do.

</comment><comment><USER67> I haven't finished college. Currently 23, making 80k. There shouldn't be a question, you NEED to go. Professionally it makes things just that much more difficult. You'll be climbing an uphill battle from the start. Your professional network will be smaller, and people are going to make judgments about you from the start. To deal with that you'll have to develop a personality where you project yourself smarter then you are (and hopefully you remember you're doing it).

However you're young, and probably hard headed. My recommendation, go for a year, during that year work on the idea you like. If it fails stay for another year, and work on another idea.

</comment><comment><USER68> I'd recommend going because of the opportunities for making important friends and learning things you might not otherwise have had the willpower to learn on your own. Keep in mind you don't have to stay for all 4 years if you don't want to. Stay until you feel you've gotten what you came for. I dropped out 3/4ths of the way, and was quite happy to have done so.

</comment><comment><USER69> Your view of avoiding a career in a large business organization, I believe, is fully correct: Starting at age 22, to age 70, assume 70 will be the Social Security retirement age, you will have 48 years of work, and the chances of doing all that just in big corporations are slim to next to none. One reason is that, over the past 100 years, for a single corporation to be stable for 48 years was rare. Another reason is, the strong but unwritten rule is that the subordinate must be younger than the supervisor: So, by age 45 or so you are qualified only for CEO. So, about the only hope will be CEO of a small organization, most likely yours. So, you will have to do startups anyway and should get on with it.

E.g., assume you start at age 22 and (A) join a large corporation and get fired at age 40 or (B) start a grass mowing service and grow it and expand to higher end clients and some landscape architecture. At age 40 (B) stands to be much better than (A). If being an electrician is better than grass mowing, then good. If computing is still better than being an electrician, then still better.

A career with a license, e.g., law, medicine, electrician, can be good, but you are not considering any of those.

State government jobs don't pay very well, and government jobs are much less stable than is commonly assumed, are really not stable enough to bet your career on. That you have set aside careers with academic tenure or licenses, basically you need to be running your own business. Period.

Millions of US families are supported by men who own their own Main Street businesses. If computing is a better opportunity than, say, HVAC, auto body repair, or an independent insurance agency, then so much the better, but you still need to run your own business.

A BS from Harvard, Princeton, Yale, or Stanford can bring a lot of prestige and let you meet some people who are or will become important, but running your own successful startup will make you a still MORE important person. Uh, a Harvard guy seems important because of his chances of running a successful business and the people he met that might help him run a successful business: If you are already running a successful business, then basically you are ahead; the Harvard guy may want you to hire him!

Yes, there is a joke: "If I need a Ph.D., then I'll hire one.".

So, if you don't want prestige, then you are free to go to a state school and save a lot of money.

Still, college will cost you about four years of time away from your business (likely a big problem), four years of income from your business, and enough cash out of pocket to buy a house or nearly so. Big question if college is worth it.

If you don't go to college, then work hard to pick up some of what you missed by some high quality directed reading or a few courses as a special student.

So, you need to learn some things.

===People===

For your life both inside and outside business, you need to learn some things about people.

For business, you need the basics of organizational behavior -- even at best people are goofy to work with.

More generally the fraction of badly mixed up people in society is surprisingly high, and basically you need to be able to detect, maybe diagnose, and likely avoid these people on your own, quickly.

One rule is, if talking to them leaves you somewhat or more shaken, then you just detected some bad intensity and struggles within them; stay away from them.

People can make such detections at an early age. Indeed, in:

T. Berry Brazelton, M.D., _What Every Baby Knows_ , ISBN 0-345-34455-3, Ballantine Books, New York, 1987.

is the flat statement that when a child is rejected by his peers it is because the peers detect some intensity that scares them.

For more, there are four _neurotic_ (now just an informal word) styles: paranoid, hysterical, obsessive-compulsive, and psychopathic passive. You need to understand these; once you understand, you will see examples fairly frequently. Then a lot of what they do will be understandable and predictable. A good start is just:

David Shapiro, _Neurotic Styles_ , ISBN 0-465-09502-X, Basic Books, New York, 1965.

The author has an MD.

More generally for people 101 read:

Erich Fromm, _The Art of Loving_ , Harper and Row, New York, ISBN 0-06-080291-X, 1974.

Fromm was a Freud student.

It's a classic, originally published in about 1947.

Men and women, whatever else they are, are not the same. For some insight into women, read:

Deborah Tannen, _You Just Don't Understand: Women and Men in Conversation_ , William Morrow and Company, New York, ISBN 0-688-07822-2, 1990.

Here Tannen wrote a popular book about her academic specialty; she has been a professor at Georgetown.

I am NOT an expert in psychology. If you can find a college professor who is good a expert on _people_ and teaching such material well, then at least get their reading list and maybe take their course, if only as a special student.

===Science===

Biology, chemistry, and physics stand to be of increasing importance; you might want to know more about each of these.

Just in physics, just for computing, you should be able to do basic energy calculations. Also in electronics the practical consequences of Maxwell's equations are good to know. Quantum mechanics stands to become of more importance in computing.

===Business===

You might get some benefit from accounting, finance, and labor law.

===Mathematics===

Math is the most precise knowledge we have, and knowing some of it can help provide a _benchmark_ we can try to approach outside of math.

Also my opinion is that math is the most important field, more important than computer science, for the future of computing, especially in entrepreneurship where it is good to have some powerful _secret sauce_ that delivers valuable solutions and is difficult to duplicate or equal.

I have some expertise in applied math -- a good Ph.D., a lot of successful applications, quite a lot of college and graduate school teaching, and some published papers.

===English===

Good skills in critical reading and in writing for a purpose could be crucial for you.

===Computer Science===

I am not convinced that college courses in computer science will do much for you in the future of computing.

So, we have subjects:

People

Science

Business

Mathematics

English

One way or another, you should seek to make good progress with each of these topics and maybe some more. For nearly everyone, college is the best approach.

Still, you have learned practical computing on your own. And in the rest of your career you will have to continue to learn a lot, more than people learn in college, on your own. So, it is not clear that you can't learn on your own what others learn in college.

One approach would be to compromise: Get some college course catalogs and see what the main courses are. Go to some college campuses and see what texts and other materials the courses are using. In time it will become clear what the most important texts are. Then for each such text, scan it, maybe just in a library. If a text or course looks really good, consider buying the text and/or taking the course, if only as a special student.

If as a special student you see that you actually want a degree, then go for it then.

In the end in life, you have to get the work done; you can teach yourself things that will help you and you have; college will teach you things, too; but you still have to get the work done, and college won't do that for you. Indeed, if you go to a good graduate school, then the main messages will be (A) learn the basic material for the qualifying exams on your own or nearly so and (B) do some research, mostly on your own. In the end, college or not, you have to do work of your own largely on your own. You got started early; good for you.

</comment><comment><USER70> Okay..take this test..

You have a set of music files that you want to search on a mobile sd card..

The pseudo code and math to do this is what?

Hint: Most programmers take 7 days to figure this out..

If you can come up with the code and it works, than odds are you only need a 2 year degree..or less..

Note: Question is right from an interview with RealNetworks...the interviewer could not come up with reasons why his assumptions would work(they do not) and thus I declined to interview further..as most texts have the wrong assumptions about this..

<comment><USER71> that isn't a well defined problem.</comment></comment>


Show HN: Httpq – buffer HTTP requests and replay them later - <AUTHOR> https://github.com/DavidHuie/httpq

<comment><USER2> I'm planning to write right now a service that queues a lot of HTTP requests and them send them all as one. It is curious that you put this here right now.</comment>


Billionaire Paul Singer Is Driving the Outsourcing of US Tech Jobs to Israel - <AUTHOR> https://www.mintpressnews.com/neocon-billionaire-paul-singer-driving-outsourcing-us-tech-jobs-israel/ <comment><USER2> To be honest there's not much to distinguish this article from any other ignorant "DEY TOOK ERR JERBBS" But let me speak to the specifics I'm familiar with.

>For example, Intel Corporation, which is the world's second largest manufacturer of semiconductor computer chips and is headquartered in California, has long been a major employer in Israel, with over 10,000 employees in the Jewish state. However, earlier this year, Intel announced that it would be investing $11 billion in a new factory in Israel and would receive around $1 billion in an Israeli government grant for that investment. Just a matter of months after Intel announced its major new investment in Israel, it announced a new round of layoffs in the United States.

Intel's investment strategy is to invest in its growth drivers and to cut costs in the product that aren't. So if you happen to be a team working on Intel's 5G solutions - guess what? Bad news. If you happen to be working on Intel's automotive solutions? Great news!

Guess where Intel's Autonomous Driving Group is based? That's right! Israel! Guess where they're investing? Israel! Guess why? Because the ADG is there. But why did they base the ADG there? They _didn 't_. They bought an Israeli company that was already succesful.

But just to be clear - even if the articles examples weren't bullshit, the underlying point is still wrong, no one is stealing anyone elses jobs, jobs get created where innovation happens. If jobs aren't being created where you are, maybe it's time to look at your own team.

<comment><USER3> Same with those "R&D centers" that Facebook, Apple and Google opened up in Israel, except they didn't. Google bought Waze, Facebook bought face.com and Apple bought Anobit, and they all kinda turned into "Google Israel" and "Apple Israel". Which is funny since there aren't even any Apple Stores in Israel.

</comment></comment><comment><USER3> Israeli here. Although I can't comment on 8200 since I didn't serve there, I did work with a lot of people who did. I didn't find them to have exceptional skills when it comes to coding or engineering - it's mostly hype and marketing that is designed to glorify the division.

I also have a slight issue with the article, since it claims thousands of jobs were slashed in the US - yet Israel only has about 300k people working in "high-tech", as it's called over there, with less than 10% of those in software engineering, AND there's usually a severe shortage of those (multiple job openings for every engineer).</comment>


Forget the Cellphone Fight — We Should Be Allowed to Unlock Everything We Own  - <AUTHOR> http://www.wired.com/opinion/2013/03/you-dont-own-your-cellphones-or-your-cars <comment><USER2> _Meanwhile, progress is being made to legalize cellphone unlocking. With grassroots groups leading the charge, the Obama administration announced its support for overturning the ban last week._

I'm astonished that people overwhelmingly believe this falsehood. The White House response _opposes_ legalized phone unlocking, except to phones already out of contract. When they _say_ they "support unlocking", they have a different interpretation of what that means:

 _And if you have paid for your mobile device, and aren't bound by a service agreement or other obligation, you should be able to use it on another network._

 _[...] neither criminal law nor technological locks should prevent consumers from switching carriers when they are no longer bound by a service agreement or other obligation._

[https://petitions.whitehouse.gov/petition/make-unlocking- cel...](https://petitions.whitehouse.gov/petition/make-unlocking-cell-phones- legal/1g9KhZG7)

A (very) few journalists are paying attention:

[http://www.nationaljournal.com/tech/obama-s-stance-on- unlock...](http://www.nationaljournal.com/tech/obama-s-stance-on-unlocking- cell-phones-comes-with-a-very-big-catch-20130304)

<comment><USER3> > We Should Be Allowed to Unlock Everything We _Own_

You don't _own_ a subsidised cell phone until your contract is out.

<comment><USER4> I don't "own" a car I buy on loan until I pay that off. That doesn't preclude me from replacing seats, putting in a turbo, etc. Why should a phone be different?

<comment><USER5> You can do many of those things to your car, but some of them might nullify your warranty.

<comment><USER4> Yes, they may void the warranty. That's not the same as a federal crime.

</comment></comment></comment></comment></comment><comment><USER6> "...once we buy an object — any object — we should own it."

Sure, but a purchase often comes with restrictions that you agree to before deciding on the purchase. If you don't agree to the restrictions you can avoid the purchase altogether. I can buy a six hundred thousand dollar house and still not have the right to put a garden gnome on my lawn if I bought in a community with by-laws that prohibit that.

"Because manufacturers have copyrighted the service manuals, local mechanics can't fix modern equipment. And today's equipment — packed with sensors and electronics — is too complex to repair without them. That's a problem for farmers, who can't afford to pay the dealer's high maintenance fees for fickle equipment."

So farmers are buying "fickle" equipment that is expensive to repair and the blame is put on copyright abuse? Copyright is just the mechanism used to enforce the business model. The equipment manufacturer made a business decision and this is part of their business model by choice. Any other manufacturer is free to supply equipment and compete on a different business model. If the issue is really that significant to the market then farmers will flock to the competition that provides manuals with their equipment.

<comment><USER7> Yeah, the article was over-simplifying a bit.

I doubt that Wired thinks I can buy a copy of their (print) magazine and then, since _I own it_ , I can do whatever I want with it (like scanning it and putting it online).

<comment><USER8> But Wired may think that you should be able to use what you've bought in a non-copyright-infringing manner. For example, you might scan the magazine so you can read it on your tablet. That's what's at stake here.

Btw, it's a Wired opinion piece, so it doesn't necessarily reflect Wired's own thoughts on the matter.

</comment></comment></comment><comment><USER9> Vote with your wallet. Don't buy locked phones.

Once the consumers know the power they have in their hands, change will come easier.

<comment><USER10> I'm torn on the issue of buying locked vs unlocked. I have a family to support, so I don't have $500 or more to spend on an unlocked iPhone. Even if I had the money, I live in the US, and I haven't traveled outside of the country in over 10 years. Finally, there is no monthly discount on service if you bring an unlocked phone to a carrier, so that's the third strike. I'll continue to buy a new locked device every couple of years and take the subsidy, thanks. I'll also be having my 4S unlocked when this contract is up.

Having said that, I agree that it should be easier to unlock phones in the US, even if it's just for international coverage (which would be something).

<comment><USER11> Yes, there is a discount. You can buy an unlocked GSM phone and get a SIM only plan that costs half as much as the regular plans. The total cost is cheaper compared to how much you pay over a two year contract.

<comment><USER12> Where do you buy this plan? AT&T and Verizon are willing to sell me plans that cost just as much as on-contract plans. T-Mobile is willing to sell me much cheaper plans, but randomly loses service all around my city all the time.

<comment><USER11> I use one from Straight Talk, which just resells AT&T's service.

</comment></comment></comment></comment></comment><comment><USER13> Cellphone unlocking is a step in the right direction.

For this "movement" to work, long-term, we will need these small wins first.

<comment><USER14> It's sad that this is at the bottom of the stack. Big victories are typically built on a foundation of smaller victories, and the American legal system tends to be an incrementalist one. The 'forget X, because we want X^Y!' argument of the article is self-defeating.

</comment></comment><comment><USER15> _Copyright laws were originally designed to protect creativity and promote innovation. But now, they are doing exactly the opposite..._ This is a problem with many laws. Even if unintended consequences don't ruin the effect from the start, changes in the situation a law was meant to address will likely cause problems in the end. And this is assuming the law actually passed with an intention to benefit the whole, and not just some powerful subset of it. I think laws should come with expiration dates.

</comment><comment><USER16> One "owns" (free and clear) very little in real life. Most people -- house, car, etc -- are financing their lives with debt. In these cases, ownership is a bit of a myth -- your legal rights are only contingent on your credit. With your data and your free speech-- also, this is very circumscribed in reality. Soon, the idea of "ownership" will just be made fully synthetic. We will rent the assets of our lives...just like our homes...wether this is good or bad...or just another level of clarity...is in the eye of the beholder. This will solve any debate on who "owns" a phone, or a piece of software...there will just be no more "sales"...just "leases" of the same...without the residual legal rights of true ownerhsip...nor the notion that denying such rights will be anything less than what is otherwise suspected...

</comment><comment><USER17> I'd like to know why Sony was allowed to turn off our ability to install other OS'es on the PS3's we had _already_ bought. That's like if the dealership showed up with a mechanic and said they changed their minds and want the turbocharger back.

</comment><comment><USER18> Anyone tried to request the manual/technical documents for a UConnect so you could flash your console and tinker with it?

Customer service told me tampering in any way would void the warranty on my entire vehicle.........

Needless to say I they didn't send me a copy of the manual.

</comment><comment><USER19> And this is precisely why GPLv3 was invented.

</comment><comment><USER20> Actually, companies should not be allowed to lock stuff in the first place.

Or more precisely, they should be able to lock stuff, but doing so should automatically license all their copyrights, patents and trademarks used in the thing they locked for everyone to use for free forever in any way without limits.

If they are out to fuck the public in the ass, there's no reason the public's courts and police should assist or protect them.

</comment><comment><USER21> I'm not sure exactly what people are asking for here. There's a lot of complexity in the phone network implementations out there (scroll to the bottom of this page to get an idea of what's out there: <http://en.wikipedia.org/wiki/Evolved_HSPA> )

I've owned a few unlocked phones and found that switching networks is largely useless as my phone is unlikely to support the best data features from another provider.</comment>


Diablo creator David Brevik is back with a new game: It Lurks Below - <AUTHOR> https://www.polygon.com/2018/1/31/16952652/david-brevik-it-lurks-below-announcement <comment><USER2> I thought it was weird to credit someone as Diablo's "creator" since there must've been a large team given how long I remember the credits being. But indeed if you look at the wiki he seems to be the main programmer listed: [https://en.wikipedia.org/wiki/Diablo_(video_game)](https://en.wikipedia.org/wiki/Diablo_\(video_game\))

Some other team members such as Max Schaefer and Erich Schaefer (co-designers of Diablo and Diablo II) went on to make Torchlight so many consider it to be Diablo's spiritual successor: [https://en.wikipedia.org/wiki/Torchlight](https://en.wikipedia.org/wiki/Torchlight)

<comment><USER3> I agree with your first line. I'm a coder (sometimes a game coder, even) and I'm all for giving credit where credit is due, but the main programmer on a game isn't the game's "creator". The software which renders the sprites and plays the sound effects is the game _engine_ , and Brevik is undoubtedly the _game engine creator_ , but the actual _game_ itself is in the story and characters and game mechanics and challenges that the player experiences while playing the game. These are created by the game designers (both gameplay and artwork), and it's these people, if anyone, who are the "creators" of a game.

<comment><USER4> If you read the back story of Diablo, Brevik was definitely involved in the decisions one would typically attribute to one credited with creating the game, it was certainly a team effort so he definitely wasn't the only creator. Keep in mind this was a different time and everyone was generally expected to wear more hats back then and blizzard north wasn't that big of a company at that time regardless.

Particularly he had a lot of experience with the rogues which heavily inspired the original Diablo. Because of this he was initially opposed to making the game real-time as opposed to the traditional turn based, enemies only move when you do rogue style.

However as he tells the story he programmed real time movement in a few hours on a Friday night just to see what it would be like. When he tried it out for the first time and clicked the mouse; almost magically the warrior walked over and smashed a skeleton into a pile of bones.

He was convinced right then that real-time was the right choice.

That moment may have been the birth of the ARPG genre.

<comment><USER5> > That moment may have been the birth of the ARPG genre.

Gauntlet (1985) had real-time combat, and predated Diablo by at least a decade. If that isn't RPGish enough, Ultima Underworld came four years before Diablo.

Diablo definitely perfected the ARPG, though.

<comment><USER6> I'm also mindful of an amiga game I only played the demo of, "Shadowlands" from 1992:

[http://hol.abime.net/1898](http://hol.abime.net/1898)

The first graphical game I played that leveraged the need for a lightsource similar to Moria. Not sure if you also needed food for your team.

Like a mix of rouge-likes and isometric/3d real-time with a pinch of "eye of the beholder".

</comment></comment></comment></comment></comment><comment><USER7> _It Lurks Below combines Diablo-style dungeon-plumbing mechanics with sandbox- style worlds that let players dig and construct, à la Terraria and Minecraft. In an interview with Polygon, Brevik said he's a big fan of those games (and Starbound), but wanted to add something of his own to the genre.

"I wanted more of a point to a lot of those games," Brevik said. "I wanted to make an RPG, with classes and leveling up, random items, where you get more and more powerful as you go down into the core of the world and fight baddies."_

Oh, that sounds _right_ up my alley. I might have to look up the twitch stream of it he's doing this weekend later when I have time.

</comment><comment><USER8> Is there any resources for those interested in making these kinds of games?

I'm relatively confident with programming in general, but I don't know where to start with something like this. Did he use an existing engine or framework like Unity? Is that the best place to start game development?

This game looks amazing and I'd like to try to draw some inspiration from it.

<comment><USER9> > I'm relatively confident with programming in general

Out of curiosity, why do you bother writing a statement like this? Is it to assuage your ego? If you haven't done game development before, it's safe to assume there are gaps in your knowledge and you're better off admitting it outright.

<comment><USER10> Could you please follow the site guideline that asks you to "respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize"?

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment><comment><USER11> I loved his Diablo postmortem:

[https://www.youtube.com/watch?v=VscdPA6sUkc](https://www.youtube.com/watch?v=VscdPA6sUkc)

</comment><comment><USER12> Marvel Heroes was pretty fun in its time - but recently closed down.

[http://www.pcgamer.com/marvel-heroes-is-closing- down/](http://www.pcgamer.com/marvel-heroes-is-closing-down/)

</comment><comment><USER13> Stay a while and listen...

I loved Diablo 1!

<comment><USER14> As did I. I wish it would be re-released.

</comment></comment><comment><USER15> That looks like a fun game! And of course I am a sucker for that retro-pixely look. I hope it is released soon!

</comment><comment><USER16> Was Starbound boring for anyone else?

<comment><USER17> it can be a lot of fun with a small group of friends but it's almost pointless to play it single player

</comment></comment><comment><USER18> "is back with a new game" !== "will release later this year"

<comment><USER19> He's back, he's got a new game, and he's not giving it to you yet. Works for me.

</comment></comment><comment><USER20> Looks like a Terraria clone.

<comment><USER21> You should read the article, he wanted to give terraria and starbound more of a point.

"It Lurks Below combines Diablo-style dungeon-plumbing mechanics with sandbox- style worlds that let players dig and construct, à la Terraria and Minecraft. In an interview with Polygon, Brevik said he's a big fan of those games (and Starbound), but wanted to add something of his own to the genre.

"I wanted more of a point to a lot of those games," Brevik said. "I wanted to make an RPG, with classes and leveling up, random items, where you get more and more powerful as you go down into the core of the world and fight baddies.""</comment></comment>