Live data from Hacker News

The Apprentice Programmer

tobi.lutke.com

101–110 of 156 posts

Re: The Apprentice Programmer

#101

Earlier quoted context omitted.

There's also a bias if you look at dropouts as a homogeneous group, because they aren't. It's just as ludicrous to predict the same outcome for someone like me, who was always way ahead and bored to death of school, and a poor kid from the city or country who couldn't read at grade level. I doubt Tobi ever had reading comprehension problems and I bet he was passionate about his hobby leading up to his track switch. A…

I completely agree with you. You expressed exactly what I was thinking. I am 15, and I am planning to drop out of school. It is extremely frustrating trying to persuade my parents that dropping out of school doesn't mean I am giving up on life, and that I am not a failure. I cannot function in this artificial society that exists in schools, and I learn much better by myself. Finishing school would be complete waste o…

> There are always exceptions, but you will have to be exceptional in their eyes.

This is spot-on. People take certain prejudices to their modelling high school dropouts. These are formed by the sheer repetition of observation. Dropping out is something Bad Students do. It's low status. Even an average student who drops out will have the story of their life coloured in terms of: 'he could have done _even_ better if he had stayed in school.'

So to get social approval for dropping out, you have to be exceptional. Such that their predictions of your future outside of mainstream education are so positive, that the 'low status drop out story' can't be made to stick to you. The balance of probabilities isn't enough to get social approval for your actions, the argument has to be overwhelming.

It's unfair, in a way, that there isn't a cultural idiom to support people who, for good reasons, don't want to learn through the high school track, but who aren't amazing individuals.

But in another sense, dropping out to learn faster is in itself to state that you are exceptional--that you have a iron-clad self-belief in your capacity for self-motivated learning. You shouldn't expect anyone to believe this about you; it's a trait that habitually we assign to people after they've been successful, not before. It's natural for people to model others as falling near the median, until they've demonstrated otherwise.

I''m less productive with fewer obligations. Most people are the same. You need to be _certain_ that you are naturally inclined towards setting useful goals and then following through. (I've wanted to write a novel for the past five years. All I have to show is a thin pile of abandoned drafts and margin-doodles.)

Soft skills matter. And removing one huge social component of your life without another to fill it has been, for me, a disaster. If you are 'neuro-typical', but still believe you will be more productive by removing 'wasted' social interaction from your life, you are wrong. If you are miserable, you can't sustain productivity. (And, not least, you might go crazy.) Even anti-social might sometimes be better than non-social.

This is HN, so I share a lot of beliefs about how lousy a state high school education can be. But culturally, we're not geared up as a society to support dropping out as a genuinely equal tract to education and employment. Be careful.

Re: The Apprentice Programmer

#102
post #37
post #11

Earlier quoted context omitted.

> Yes, but you could say the same thing about people who went to traditional schools. How many people went through that system and succeeded--and then how many people went through that system and didn't? I think the whole point is that, statistically speaking, many many more people go through the system and succeed than otherwise. That's why it's the system. (I'm not saying that's still true.)

More people start an undergraduate education than finish it. If you're only looking at people who got through the system, you've already filtered out a number of those who have low motivation or low ability.

More people start _anything_ than finish it. Since starting is a prerequisite for finishing, it is always the case that a maximum of 100% will finish, and likely fewer.

If your point is that more people start school than finish and somehow that weeds people out, you could also say the same thing about apprenticeships.

Re: The Apprentice Programmer

#103
I very much doubt that he "dropped out" of "high school" and was able to get an apprenticeship, this is probably a bad translation.

He probably left a Gymnasium after tenth grade without getting an Abitur or didn't go to a Gymnasium after finishing Haupt- or Realschule. Unlike dropping out of high school in the US, this would still leave him with a diploma which would make getting an apprenticeship as a Fachinformatiker plausible, which is practically impossible to get without some kind of diploma.

btw. you can't just drop out of school as a minor in Germany as not attending school regularly would be illegal.

Re: The Apprentice Programmer

#104
post #38

I simply do not understand this anti-college anti-credentialling sentiment. I am featured in the latest Hacker Monthly ( print version of HN). So they asked me for a bio. I wrote something about how I learnt everything in college...am not a hacker...and that you should go to grad school if you want to get better at CS. So they edited out all of the pro-college stuff and just said this guy is data scientist. You don't…

>I simply do not understand this anti-college anti-credentialling sentiment

Speaking as an anti-college, anti-credentialist person, well, a lot of it, for me? is that I didn't go to college.

I mean, everyone likes to pretend to be altruistic, but in the end? we all see the world from our own perspective.

And really? most people seem to think that you go to school, you get a cs degree and you will be pretty good. And that's simply not true. I've hired people with CS degrees only to have to fire them, because it turns out, they didn't actually learn anything.

I mean, I've also worked with people who really did learn incredible things in school. Things, as you said, that I certainly have been unable to teach myself.

I also think a lot of this anti-college stuff is people who went in to debt for life, having been told they'd get useful job training and, you know "find yourself" (you know, the class thing. No matter how much money I earn? I'll never be middle class; in the eyes of most people, i'll never be a 'professional' a 'real person' unless I go get a degree. I'm the guy who fixes the pipes. Which, eh, I am mostly okay with at this point.) - but anyhow, yeah, these kids graduate and find that the market value of their degree is, well, pretty close to zero. (and yes, a lot of these kids got degrees in philosophy or fine arts... And yes, we laugh at them for expecting to turn those degrees into money. But they were 17, goddammit, when they made that decision. What kind of asshole expects a 17 year old to make good decisions, especially when they receive bad advice from every trusted figure they talk with? Then we go and say "unlike every other bad loan you will take in your life, the person giving you the loan takes no responsibility. You have to pay this one off. No bankruptcy.")

This idea that "you can do anything you set your mind to" also permeates education, and it's incredibly destructive; it's how we end up with those people with CS degrees who can't outcode me.

Re: The Apprentice Programmer

#105
post #104
post #38

I simply do not understand this anti-college anti-credentialling sentiment. I am featured in the latest Hacker Monthly ( print version of HN). So they asked me for a bio. I wrote something about how I learnt everything in college...am not a hacker...and that you should go to grad school if you want to get better at CS. So they edited out all of the pro-college stuff and just said this guy is data scientist. You don't…

>I simply do not understand this anti-college anti-credentialling sentiment Speaking as an anti-college, anti-credentialist person, well, a lot of it, for me? is that I didn't go to college. I mean, everyone likes to pretend to be altruistic, but in the end? we all see the world from our own perspective. And really? most people seem to think that you go to school, you get a cs degree and you will be pretty good. And…

You don't learn to code in college, or at least not in class. Good coders almost universally learn outside the classroom. This is true for people who go to college and those that forgo it.

So if you don't go to college to learn to code, why go at all? You go to learn the fundamentals of computer science and math which underlie everything that we do.

It's certainly possible to obtain this knowledge on your own with serious self-study. But it's a hard route (albeit one getting easier thanks to Coursera et al.) and given two candidates with equal coding ability, the one who went to college is far more likely to have a strong grip on theory.

Is theory actually useful? I would claim that it is, even for programmers doing CRUD apps and the like. Knowing the fundamental abstractions of computer science and the ways people have applied them in the past saves an enormous amount of needless reinvention. As a concrete example, parsing is a very well-studied problem in academia. But somebody without that background trying to write a parser will struggle far more than another familiar with CFGs or PEGs.

Being able to program is just scratching the surface of computer science. It's necessary but not sufficient for being a great programmer.

Re: The Apprentice Programmer

#106
post #38

I simply do not understand this anti-college anti-credentialling sentiment. I am featured in the latest Hacker Monthly ( print version of HN). So they asked me for a bio. I wrote something about how I learnt everything in college...am not a hacker...and that you should go to grad school if you want to get better at CS. So they edited out all of the pro-college stuff and just said this guy is data scientist. You don't…

College is expensive, and if you need to take out a loan to go there (most do) it is risky. Not only that, but credentialism (the idea that college exists in order to get credentials) coupled with the enormous expense has led to declining standards and quality at American schools. It is not unreasonable to ask why one should be paying so much and taking on such a large risk for an education that is of questionable quality, particularly in fields where vocational skills can be learned elsewhere.

Re: The Apprentice Programmer

#107
post #89
post #71

Earlier quoted context omitted.

So what did the OP really mean by this: Not that degrees matter anymore. They do not. Experience does.

I'm the OP. I meant that the experience that you have matters, the degree doesn't. Pursuing a degree gives you valuable experience - it would be a disaster if it didn't. There are other ways to get experience as well and some of those are better suited for certain individuals like myself. Our industry, when it works well, is meritocratic. If you are great at what you do the way you collected that experience is irrele…

The caveat to this is that having a CS degree does not guarantee that valuable experience was gained. There were people who stood next to me when I received my CS degree that were unable to craft basic HTML.

On the other hand, I enjoyed my entire time in college, and I feel that I received a great deal of valuable experience, but I also did a great deal of coding outside of school. I think in my case I would have been fine without getting a degree, but it helped to hone some of the areas that I was not very strong in.

Re: The Apprentice Programmer

#108
post #44

Earlier quoted context omitted.

Is it intrinsic to this treasure trove that the knowledge it contains must be transmitted for pay, with exercises to be completed on a deadline, and with little choice on the learner's part as to what is learned?

No, it mustn't be transmitted for pay. In Argentina, for example, public college is good and free. More importantly to your question, teaching a hard curriculum to a lot of students at the same time is a hard problem, and exercises with deadlines and relatively tight syllabus are a method that has been shown, for many years, to work for a large number of people. It certainly doesn't work for everyone, it certainly is…

I'd argue that it has not been shown to be effective. We're reaping the fruits of that today: grade inflation, disinterested professors, and new graduates without the jobs that served as the carrots to get them into school in the first place.

Re: The Apprentice Programmer

#109
God. If only the US had something like this instead of the stupid everybody go to college, everyone spend years studying vapid idiocy after already wasting years doing the same in high school. I'm not anti-college. I'm anti no choice, one size fits all, we don't care if you actually can do anything as long as you were able to put up with enough wasted time to prove you are not the type to buck the system and maybe cause problems.

And by the way, I do have a degree.

Re: The Apprentice Programmer

#110
post #105
post #104

Earlier quoted context omitted.

>I simply do not understand this anti-college anti-credentialling sentiment Speaking as an anti-college, anti-credentialist person, well, a lot of it, for me? is that I didn't go to college. I mean, everyone likes to pretend to be altruistic, but in the end? we all see the world from our own perspective. And really? most people seem to think that you go to school, you get a cs degree and you will be pretty good. And…

You don't learn to code in college, or at least not in class. Good coders almost universally learn outside the classroom. This is true for people who go to college and those that forgo it. So if you don't go to college to learn to code, why go at all? You go to learn the fundamentals of computer science and math which underlie everything that we do. It's certainly possible to obtain this knowledge on your own with se…

>It's certainly possible to obtain this knowledge on your own with serious self-study. But it's a hard route (albeit one getting easier thanks to Coursera et al.)

Now, what little math and theory I have learned, well, really, what anything I've learned... I've found that it's dramatically easier to learn from books than from a lecture. First, people talking? really, really slow. I ain't no speed-reader, but I can manage 400 words a minute, give or take, without skimming; of course, I can go much faster when I'm just skimming over the stuff I already know.

My usual strategy is to buy several books at the same level on the same subject; Preferably by very different authors. (I want at least one of the books to be a classic by the person who came up with the idea.) the idea being that each one is going to explain it in a slightly different way, and while I'm only going to retain a small portion of each book, well, books read fast, they don't cost much, and if I take away 10% of each book? I'm doing pretty okay.

(I mean, that said, my math and my theory is still pretty weak, compared to many of my educated peers who work at the same payscale, So I'm not saying my strategy is good or anything... it's just that I've never gotten much at all out of lectures. Payscale is also interesting... it seems to scale more with negotiation aggression than anything else.)

>Is theory actually useful? I would claim that it is, even for programmers doing CRUD apps and the like. Knowing the fundamental abstractions of computer science and the ways people have applied them in the past saves an enormous amount of needless reinvention. As a concrete example, parsing is a very well-studied problem in academia. But somebody without that background trying to write a parser will struggle far more than another familiar with CFGs or PEGs.

Why the fuck would you write your own parser for a CRUD app?

Seriously, that's whats wrong with the world.

I'm a SysAdmin. The way I see the industry? you hire a bunch of php monkeys to slap something together. customers don't like it. You pivot, come up with some other business idea, hire php monkeys to slap something together (usually using the same monkeys and the same code) you repeat until the market likes the output.

By this time? It's a giant hairball. It's disgusting. But you are getting users, and it's making money, so you've gotta scale.

Now, you could pay a bunch of 'real programmers' to write you something good, but that can take months or years even with competent management.

So what do you do? you hire someone like me. I show up and put a caching http proxy here, I put some indexes on the database server (and put it on a beefy server, and maybe even setup a read-only replica for the database) etc, etc.... i slap on duct tape until you get around to having a competent person re-write the whole mess. That's the "computer janitor" role.

So yeah. that's why I hate CRUD programmers trying to re-invent the fucking wheel. There are plenty of parsers out there. Use them.

This, this is why sysadmins hate NoSQL. seriously, in a few days I can make a crashy access db 1000x faster and more stable fairly easily by ODBCing the data out to a reasonable database. relational databases are incredibly easy to tune and improve, and I don't need to understand your giant PHP hairball that is full of global variables. USE A RDBMS. then you can do your job, and then if the thing takes off and you need to scale, I can come in and do mine.

Post reply on HN