Off-Topic: Should I Go to College?

April 17, 2009 · 💬 Join the Discussion

I don’t know if it was coincidence, but today I received an email asking for my opinion on this topic at the same time that Paulino Michelazzo blogged about something similar.

The short answer? When in doubt, go. Okay, let’s get to the longer answer.

Today’s Colleges

Like Paulino, most people probably have the sense that college “doesn’t prepare students for the job market”, while others will say exactly the opposite — “the problem is that colleges only focus on the job market, neglecting the academic side.”

For me there are two types of colleges: the first are the traditional serious ones like federal universities and some state ones like USP, Unicamp, UFRJ, and ITA. These are seen as “not preparing students for the real job market.”

The second type are the commercial ones — the kinds that offer fast-food 2-year courses or less, lightning-fast diplomas, do-two-courses-in-one, and so on, whose names I won’t mention because they’re obvious. These are the types seen as “only focusing — barely — on the job market.”

The goal of a college should not be to prepare a person for “the job market.” College is the final point of the formal educational process that begins in elementary school, aimed at preparing an individual “for life.” The objective should be: to prepare individuals to evolve on their own, to value self-knowledge, to value respect for others and civic duties. To develop a taste for discovery, rational and independent thought, to encourage experience through systematic trial-and-error and continuous improvement. The educational system should be a mechanism to teach students, over the course of more than 10 formal years, how to think and act on their own, consciously, with actions grounded in knowledge and the scientific method above all.

Instead, students leave the educational system with the following proposition: I’ll do whatever I’m told to do, everything I’m told is true and doesn’t need to be verified, and everything I’ve learned up to now is sufficient to consider myself a good professional. In short, the student leaves college with their values completely corrupted. Half the blame goes to the system, half I still place on the student — because I went through the same system too.

The colleges considered top-tier, like USP, still have a more academic and therefore more experimental, more challenging, and more interesting scope that — if the student is well-disposed — can truly open good doors. Students at that type of school have more time, tend to have more purchasing power, and if they have the right mindset they’ll have access to professors and material with much more depth. I’m generalizing — not all professors are good, not all students are engaged — but that’s not the norm.

Second-tier commercial colleges have as their only objective being diploma factories. They present, in an absolutely superficial and disposable way, all the technical terms and basic procedures that entry-level jobs tend to require. It’s a piece of a cruel puzzle whose only objective is to trivialize education and the craft. Of course I’m generalizing — there are good professors and some well-intentioned people — but that’s not the norm either.

The traditional educational system as a whole is based far more on dogmatization than on actual learning. All students, through the end of high school, are rote memorization machines. Commercial colleges follow the same rhythm: memorize, take tests, earn a diploma. Simple, easy, no effort (I repeat: no effort).

My Experience

I’ve mentioned this before, but about 6 years ago I decided to try a certain well-known commercial college, just to see what it was like. I scheduled my entrance exam for a Saturday, and on Friday night I went to 3 or 4 clubs, didn’t sleep at all, and took the test literally still in post-club mode. I finished in half an hour — it was absolutely trivial — and obviously passed without much effort. Let’s just say that the name of that college is recognized by every company in the market. It was so frustrating that I decided I wasn’t going to waste my time at a college that was so easy to get into, and obviously I didn’t bother to enroll.

15 years ago I applied to Fuvest, Unicamp, and Fatec — only those 3. I passed all 3. It was much harder. I spent an entire year at the same frantic pace of study, at least 10 hours every day including weekends and holidays. It took hundreds and thousands of exercises and practice tests, and even then I didn’t reach the top of the list.

I think spending some time at USP was a great experience. Even though I dropped out after 3 years. The reasons are personal and apply only to me, which is why I say I don’t recommend anyone copy me. I left because I was certain I could learn everything remaining in the curriculum on my own and faster. But don’t confuse this: it wasn’t because I thought what I was learning wasn’t important. I was already a programmer for at least 5 years before that. The first years at USP helped give a massive boost to what I already knew and helped me take much bigger steps — enough to make the rest easier.

Even though I was at IME (Institute of Mathematics and Statistics), my best friends at the time were electrical engineering students at Politécnica. Those were the people who taught me Unix — a group that played with assembler over lunch, did computer graphics in their spare time, and still had time to design microprocessors before dinner. I learned Java, Delphi, HTML, and JavaScript being born alongside that crowd, with many possibilities. I got access to broadband internet 15 years ago, thanks to the university. That crowd made a great impression on me: students who were only 1 or 2 years older than me but seemed to have 10 more years of experience.

Talent and Effort

So for me, college was extremely valuable and an enormously important step in who I am today. I didn’t finish it by choice. Now comes the hard part: software development is not a repetitive manual craft. Just like advertising, music, literature, medicine, architecture, and all the great professions and courses — they require innate talent. You don’t acquire it, don’t gain it, can’t buy it, and can’t learn your way into being a great musician. You have the talent and learn to refine it. You don’t learn to be Da Vinci, or Mozart, or Niemeyer, or Villa Lobos — either you’re born Da Vinci or you’re not. You can always learn the techniques, sure, but you won’t get very far.

College won’t make you a talented person — at best, it will help shape your talent. Many discover in college that they’re not on the right path. Many discover, much later, that they’re not on the right path. Unfortunately that’s common. Some people are aware that they still don’t know what they want, and worse, many don’t even know that they don’t know yet.

Another important thing: a talented person doesn’t stop with what the system gives them — doesn’t stop with just what college or other courses teach: the talented person always wants more, much more. They’re people like a Linus Torvalds, who creates a kernel from scratch. People like a Miguel De Icaza who creates platforms from scratch. People like a Joe Armstrong, who challenge the status quo and create languages like Erlang; like a Damien Katz who creates different ways of handling old problems like databases, creating CouchDBs. People like Raymond Boyce, who created the original SQL. People like Alonzo Church, who went deeper into mathematical disciplines like lambda calculus and led to new forms of programming. People like John Von Neumann, who literally built the first brick in the foundation of computing.

Education is far more than learning a micro-trade, a set of mechanized tasks that can be repeated. There’s a place for that kind of work, sure, but if you’re reading this article we certainly aren’t talking about house painting or brick stacking.

Many of the best programmers were already programmers before college. It’s not a requirement, but it’s not uncommon — especially nowadays — for the desire to program to arise well before college entrance exams. That should make things easier because there’s less doubt. And in that case, invest as much as possible in the talent you believe you have and enter a college that is able to shape what you know. The biggest mistake I see happening is great potential programmers entering bad colleges just to get a diploma because they believe they’re already good (and they’re not yet, they only have potential) and therefore don’t need college to continue.

Those are two mistakes. First, because a bad college is making you waste time chasing a diploma with no value. I personally don’t hire anyone based on a diploma, and neither does anyone truly serious who values knowledge. That’s the first mistake.

The second mistake is confusing software development (including web development) with a mere set of specific pieces of knowledge. Thinking that knowing JavaScript, HTML, Linux, Apache, etc. is a sufficient collection. Think again about a painter: a great painter either knows how to paint the whole work or doesn’t know how to paint anything. A good chef either knows how to make all the dishes or nothing. A musician either knows how to compose a complete piece of music or nothing. There’s no knowing pieces — even very well — and thinking you know enough.

The Worker and the Artist

That mistake is fatal, because the individual will easily believe they know enough and give little or no attention to everything else. Software Development is an art like any other. You’ll never be perfect at all aspects of it, but the peculiarity of all these creative areas is that they prize the “pursuit of perfection.” It’s not what you do today that counts, but what rung above you’ll be tomorrow — and the wisdom that this ladder has no end. What matters isn’t each individual work, but the journey. The journey in pursuit of perfection is the engine of continuous improvement. As Socrates would say, “the more I learn, the less I know” (ouk imae idenai, ah mae oido). Stop for a moment and think about that again: most of us forget this principle. Diplomas and certificates are bad in the sense that they completely discourage the long-term journey with false short-term trophies.

You think you really don’t need college? Do you know probability and statistics? Do you really think you do? Because without them you can’t build the most advanced anti-spam and anti-virus mechanisms. You think you understand linear algebra and calculus? Because without them you’ll never create anything in computer graphics. Do you really think you understand algebra? Without it you’ll never understand how all cryptography mechanisms work. Have you actually learned boolean logic? Without it you don’t understand the foundation of modern computing. Think knowing a bit of quantum physics is irrelevant? Without it you can’t even begin to imagine the possibilities of future quantum computing. Before cynics take this too literally: no, I’m not saying you need to be an expert in any of these areas — I’m not — but I know where to look to solve each problem involving each of these areas.

Many people find all this very irrelevant. After all, why does a programmer need to know all this nonsense to be a mere “form coder”? Yes, because in the end, the bulk of “the job market” is nothing more or less than building forms. Whether forms in Visual Basic or forms in HTML — it’s all forms. For that I don’t need Da Vinci; a house painter is enough.

If your purpose as a “programmer” is no more than that, this article ends here and I’m wasting my time. I build forms too. That doesn’t mean I’m satisfied with it. It doesn’t mean I don’t invent different ways to do it. A Da Vinci doesn’t choose or plan when or how his Mona Lisa will emerge. It’s the result of a long, laborious, difficult journey. To give you an idea: the Mona Lisa began to be painted in 1503. He gave it final touches until shortly before his death, around 1519, and that journey took him from Italy to France in 1516. And it only started becoming truly famous in the mid-19th century. He made hundreds of other paintings during his journey, some more well-known, others ignored.

Beyond that, knowing all aspects of the profession makes even the task of “coding forms” much more interesting. A mediocre coder will code forms the same way for life. A good programmer will always seek different approaches, experiment with new techniques, refine the ones they already know. Exactly as was done in the Renaissance. That’s how the entire school of software architecture emerged, along with best practices, the best architectures, the entire process and discipline that will later be taught as “rote memorization” to the mediocre.

Data structures, basic algorithms, relational databases, compilers, assemblers, operating systems, protocols — these are all disciplines that should be considered trivial. That’s not where the challenge lies. It’s the same for an artist knowing how to hold a paintbrush, or how to manage the keys of a piano. How you use these things is what makes the difference. That requires talent, requires experience. Even with the most talented person it will take years, a lot of practical experimentation, thousands of hours of practice, trial and error, refinement, to reach expert status. A good programmer should aspire to become a polymath.

By polymath I mean knowing programming, knowing a bit of administration, a bit of marketing, general culture, communication, and various other aspects that will add to your primary craft. The current trend of “Social Networks” makes much more sense when you become familiar with the work of scholars like Albert László Barabási on Scale-Free Networks, a discipline that didn’t originate in computing but explains with precision the evolution of this type of natural formation. For those more inclined toward a management career, know that it gives a different perspective to understand Frederick Taylor. More “modern” themes like Agility or Lean make much more sense after seeing the work of others like W. Edward Deming or Taiichi Ohno.

My point: you won’t draw anything useful from just your own head. Forget that idea. You’ll only refine what you know, and do so at genuinely high speed, by standing on the shoulders of giants. For me, I think I just absorbed that insight and consciously changed my attitude by going through college, in an environment conducive to experiencing my own smallness in the face of decades of cultural and academic evolution. You need to feel like a dwarf in order to pursue surpassing giants. Current traditional, commercial, educational and work environments are unfortunately terrible places for this — I’d say the worst in the world. You always have the illusion that you can achieve more without working harder, in a predatory environment that incentivizes speed and superficiality.

Today’s fast-food culture is completely at odds with the concept of continuous improvement that — by definition — depends on time and continuous, disciplined effort. Today everyone wants a short college that’s easy to get into, easy to pass, preferably cheap and low-effort. Courses and certifications follow the same path, where very quickly you can self-anoint yourself a “sage” in some area. Instead of a meritocratic environment that values learning and wisdom, we have an opportunistic environment that values smallness, minimal effort, and low culture.

A Recipe?

With all of this:

  • If you’re still in school, in high school, do everything you can to understand what you think you like. Be aware that it’s rare to be certain, but you need to try.

  • If you’re past school age and still don’t know what you want to do, I’m sorry — cases where someone emerges from that condition to become outstanding are rare. Sure, rare isn’t impossible, but in that case understand that you’ll need to work much harder than average, much more than most who are naturally talented. It will literally cut to the bone, it will hurt, and there’s no guarantee of return.

  • If you know what you want, go for it. But truly go for it. Understand that the journey is long and has no end, understand that you’ll never reach the top, understand that there will always be many above you and your goal is always to try to reach them — with the added challenge that those above you keep climbing fast. But if you engage in the journey, you’ll never have to separate work from fun. Let others decide whether what you’re doing is work.

Now the most complicated part of the equation: few people have the conditions for all of this. Most are not just opportunists but are in a situation of real financial unpreparedness. There are even more serious problems than financial — perhaps family-related. In short, they find themselves in that terrible situation where they have to choose between what they want and what others want, where either choice will be a bad one.

I have no magic solution for that — I don’t even have that life experience. But I know closely detailed cases of people who managed to break out of the negative cycle and became much more successful than me. But it has a price: it will hurt. No great reward comes for free. No great value comes in the short term.

What I see most are people who waste a lot of time feeling sorry for themselves. I hate that type — acting like victims of everything. The system is to blame. The company is to blame. The parents are to blame. Everyone is to blame … except themselves! There are always people in much worse situations than you. Never assume you’re at rock bottom because you have no idea how deep that bottom is (and if you’re here, reading this blog, I can assure you you’re very far from that bottom — so you have no excuse).

The old saying still applies: “No pain, no gain.” The important thing is not to be conformist. Most of those who criticize when I say these things are starting from the wrong premise: they separate what is work from what is not work. That person already is a conformist — whether they like it or not, you’ve already resigned yourself to the idea that your job is something you don’t want to bring home. And I’m not talking about bringing paperwork to do at midnight. I’m talking about the journey, the mindset, the thinking, the reflection. What’s the balance of that? Only each person knows their own.

Outliers

As Malcolm Gladwell says in his recent Outliers, The Beatles went to Hamburg 5 times between 1960 and 1962. They played 8 hours a night, 7 days a week. Trying to win over an audience that didn’t speak their language and was more interested in the strippers. They played 270 nights in Hamburg. When “I Want To Hold Your Hand” finally became a hit in America in January 1964, the Beatles had already performed 1,200 times. That’s far more experience than most new artists have ever had.

You don’t need to become the Beatles — that’s nearly impossible. Becoming a Bill Gates, a Steve Jobs, a Ray Kroc, a Henry Ford. It makes no sense to try to imitate them, follow their footsteps, take the same courses, do the same things, wear the same clothes, or anything superficial like that. It’s futile and brings no results. A biography is not remotely a recipe for success. You need to absorb what drove them to the journey, not what they did during the journey.

One thing they all have in common is talent, a lot of hard work, and a lot of experience. Mozart began composing at 6, but it wasn’t until after his 20s that he finally composed a work of art: more than 10,000 hours of practice later.

So I return to the question: “Is it worth going to college?” Certainly, if it’s a good college, if it’s with the intention of improving what you know, if it’s with the objective of learning more. Very much so, if you understand that college is only a fraction of your journey — at minimum 10 years of learning before you can finally say you know something.

My journey in computing began timidly in 1986, with more emphasis starting in 1989. My “formal” résumé starts around 1997. I’m still extremely much a novice in many areas where I’d like to know more. My journey has barely begun. Don’t think yours is already over.

Do You Need College?

After all of that you don’t expect an easy answer, do you? :-)

To be mediocre — by definition, doing what everyone else does — yes, you definitely will need college, any college, to get your diploma and be just another face in the crowd of millions. Good luck, you’ll need it.

To be above average — the only sane path — it depends. If you think you can learn everything on your own, that works too. I know several cases like that, of extraordinary people who never went to college (or went to a bad one, but it didn’t influence them — it was just for appearances) and who know all aspects of the field. Understand: knowledge is not a secret. There are no things you’ll only see after opening some secret door inside a college. All the information is available. It’s up to you to decide whether you’ll go after all of it on your own or not. If you don’t think you will, go to college — but a decent one, not one of these disposable commercial corner-store operations. I think it’s worth it.

But if the question you really wanted to ask was “Is college determinative for a successful career?” In that case, the answer is no. Success depends solely and exclusively on the individual. If you’re successful it’s yours alone, and if you fail the blame belongs to no one other than yourself. And again to the cynics (for some reason I have the impression that cynics are intelligent and always seek to take things out of context…): nothing I’ve said here is new. I’m just repeating what should already be common sense.