Showing posts with label society. Show all posts
Showing posts with label society. Show all posts

Thursday, March 21, 2013

Off With Their Heads: The PyCon Incident and Our Society

Fair warning: If you've come here looking for a quick validation of your arguments for or against Adria Richards, you can go on elsewhere. I'm not interested in "winning a debate" here. Also, I'm a white male, so if you think that makes me unfit to have any opinion on this topic, I also invite you to move on. Still here? Good, let's have a civilized conversation.

If you're part of the software development industry and have looked at the social media over the past two days, you'll have heard of Adria Richards and what happened at PyCon. Just in case you haven't, though, here's the short version: two guys working for some of the sponsors were sitting within the earshot of Adria and making crass jokes involving "forking the repos" and "big dongles". I invite you to read Adria's blog post about it before going on.

Right off the bat, let me tell you that I'm not writing this post to condemn either these guys or Adria. Like I implied at the top, I don't see things black and white here and I think that too many people currently participating in the conversation -- including Adria -- are looking at this as a battle to win. This is something that bothers me a lot and I think something needs to be done about it. Before we get to that part, though, we need to discuss the incident a bit.

What Happened?


The first I heard of this incident was this very morning, when I looked at Hacker News front page and noticed that there was a story that had over 900 points and more than 800 comments. It was a link to a Pastebin text that paints what turned out to be a rather one-sided picture. My first reaction was outrage: just one paragraph into the text, my imagination conjured a vivid scene of two guys talking in a hallway and someone sneaking up on them to take a photo. I instantly developed a strong dislike for Adria and had to fight that dislike all the time while I was looking for more information. There's still a part of me that wants to hate Adria and I say that to illustrate the importance of not acting out on your first impression.

Here's the thing you need to keep as first and foremost in your mind whenever you stumble upon a situation like this: you don't know enough. I don't know what the words of the joke were. I don't know if their joke had anything to do with what was being discussed on stage or not. I don't know if the guy that got fired had a stellar record within his company or was considered problematic. Those are just some examples of things the vast majority of us don't know even now.

So let's start by sticking to what we do know:
  • If you're at a convention, you represent your company and your actions can reflect on it.
  • If you're sitting together with a bunch of people arranged in rows of seats, your expectation of privacy drops rapidly.
  • It is not acceptable to ruin someone else's experience for them with your conversation. It's like talking in a movie theater.
All in all, it was definitely not okay for the guys in question to do what they did and neither Adria nor anyone in her position should be expected to tolerate it. For the record, I also agree that just talking to the guys directly would most likely been ineffective. I've seen people deflect the complaint too often to keep believing that this approach works.

That said, things turned ugly on more than one level and this is what I want to discuss here.

Off With Their Heads!


If you look at Adria's Twitter stream and at some of the blog posts around, you'll notice something interesting: people have taken sides and are arguing against the other side. It's like we've dug two huge trenches and people in each are now taking potshots at the other trench.

Let's take a step back and look at the outcome of the incident, without foaming at the mouth. One good thing is that the PyCon Code of Conduct got upheld and it's been made clear once again that those aren't just words. Another good thing is that unacceptable behavior, got punished.

On the other hand, one undeniably bad thing that happened is that a person lost a job. I say "a person", because it should not matter whether it was a man or a woman or what their skin color is. I agree wholeheartedly with Avdi Grimm when he says:
We need space between "you're fine" and "you're fired".
Did the guy from PyCon deserve to be fired for his jokes? It depends on a number of factors: whether his joke was downright sexist or just immature, whether he was fired just for that or he had other problems at work, and so on. If we assume -- as most people seem to -- that his jokes were merely immature and that he was fired only for that, then I would argue that such a drastic disciplinary measure was out of proportion.

Another bad thing that happened is that a huge controversy has been made out of this and the rift between men and women in tech -- a ridiculous rift that shouldn't exist in the first place -- has likely been made wider.

Nearly everyone is out for blood. Some people are viciously reveling in the fact that one of the guys lost his job, while others are furiously demanding an apology from Adria and SendGrid.

It's like we fell down the rabbit hole and everyone is either the Queen of Hearts, screaming "off with their heads", or a part of her army of card soldiers.

It's too easy for things to spiral out of control and out of proportion and I find it worrying that, in our society, you can cause a social media avalanche with one tweet and set loose a mob on someone. Regardless of whether you feel righteous about it, you should step back and consider all the possible consequences before committing to an extreme action.

Punishment, Fear and Empathy


Trigger Warning: this section makes references to a high-profile rape case, so you might want to skip to the notice that says "End Trigger Warning".

Events at PyCon are really just a reflection of our society's attitude in general. One recent example that illustrates this attitude is the Steubenville rape case. In case you're not familiar with it, go Google it, because I'm not going to describe any details here. What I do want to focus on was the way certain media comments were handled.

CNN reporter Poppy Harlow made the following comment about the case:
It was incredibly emotional, incredibly difficult even for an outsider like me to watch what happened as these two young men that had such promising futures -- star football players, very good students -- we literally watched as, they believe, their life fell apart.
The public reaction was one of outrage. Again, my first reaction was similar. However, I later stumbled upon an honest and humble questioning of this reaction by a writer I admire greatly and that made me stop and try to think more critically.

There is no question whatsoever that these two youths deserve their punishment. I believe there's no defense or justification of their acts. That doesn't mean that the situation isn't tragic, not only for the rape victim, but also for them. These are two people that could have had a much better future, if only we, as a society, could have detected early the flaws in their upbringing and corrected them. It really is tragic to see all three lives damaged so profoundly. That's why we call certain things tragedies: the net outcome is negative.

Yet the society at large seems to value only the punishment and no one is allowed a modicum of human compassion and empathy for the bigger picture.

End Trigger Warning

The problem with the PyCon incident and with our society in general is that we manifest disproportional care about punishments. It's certainly necessary to punish inappropriate behavior, but is it enough?

As a father of a six year old kid, I can emphatically claim that it isn't. Believe me, it's a mistake I made earlier and the result was that my son was afraid of me. When he said so, my heart nearly broke. I've been careful ever since not to repeat the same mistake.

Another thing I had to learn was that not every offense deserves the same punishment. If your kid peed his pants because he didn't want to pause the damn video game, it's not the same thing as throwing a temper tantrum because you told him he can't play before he does his homework.

You cannot solve a behavioral problem by simply punishing the bad behavior and stopping there. You need to look at the bigger picture and you need empathy. Fear is a poor problem-solving tool.

I applaud Adria Richards for not tolerating unacceptable behavior and standing up to it, instead. I also disagree with her methods and believe there were better ways of dealing with things.

Most of all, I strongly feel that, instead of glorifying the outcome of the PyCon incident, we should focus and keep looking for ways to change our culture, so that the history doesn't repeat itself. 


UPDATE #1 (2013-03-21, 15:02 CLST): Continuing the trend of punishment-oriented overreaction, it appears that SendGrid has decided to fire Adria Richards. I am still hoping that they were simply hacked and that this is false information spread by the misogynist mob of script kiddies, but that hope is fading fast. I've never been more depressed about people illustrating my point for me.

UPDATE #2 (2013-03-21, 19:29 CLST): SendGrid has just posted an official explanation of their decision. While I still disagree with two people losing their jobs over this whole situation, I wholeheartedly agree with SendGrid's statement that Adria's "actions have strongly divided the same community she was supposed to unite".

Sunday, March 17, 2013

Mrs. Mayer's Major Misstep

I can't help feeling that a lot of us have had some rather wild expectations from the 21st century. We watched "Back to the Future" in our teenage years and fantasized about flying garbage-powered cars. We read Asimov and fantasized about having robots throw out our trash while we colonize other planets. We watched Star Trek and the idea of a post-scarcity society filled us with hopes and dreams.

The reality has yet to catch up with science fiction, but we did get to see quite a few technological advances that were nothing short of amazing. Unfortunately, it seems we expected to see the society change for the better at an equal pace as technology and that's why we keep getting disappointed on a regular basis.

Take telecommuting, for example. The very idea that you can be in a large team doing a complicated job and contribute your part from home would have been considered fantastic when I was a kid. Indeed, it was a fantasy back then: Asimov's novel "The Naked Sun" describes a society where almost every social interaction is done via holographic telepresence. Since then, the availability of telecommuting as an option has improved many lives and quite often resulted in a net gain for everyone involved.

Then came Marissa Mayer's decision to ban telecommuting at Yahoo. Unsurprisingly, the initial reactions across our virtual global world were largely those of outraged criticism. A furious debate sprung up between those who condemn her move as oppressive and those who see in it a logical necessity for Yahoo as a company to catch up with the competition. More than two weeks later, the discussion has slowed down fractionally, but it's far from stopping, as new articles and posts keep popping up all over.

Although much has been written about benefits and drawbacks of working from home and about whether Marissa's strategy is good or bad for Yahoo, that's not really the crux of this debate. Much like the assassination of the Archduke Franz Ferdinand was just a pretext for World War I, but not the real reason for it, the outrage about Mrs. Mayer's decision stems from its potential effects on the society at large.

It's amazing how many people still get this wrong. For example, Rebecca Greenfield of The Atlantic Wire writes that we should chill out, because Marissa Mayer's memo is not about us:
But when Mayer declares an end to working from home, it does not in fact put an end to working from home elsewhere. Which is a relief because, if we've learned anything, some people really don't want to work in an office all the time.
It sounds reasonable on the face of it, but it's either downright disingenuous or just misguided optimism, depending on how generous you feel when you read it.

If you really think Marissa Mayer's decision is only about Yahoo, then you're living a sheltered life. Regardless of its position in the Silicon Valley's pecking order, Yahoo is still a large, prominent company and, as such, it can and does influence the society at large. Right off the bat, there were places where Mayer's move was taken as a sign that working from home should be banned.

Take, for example, this article from The Economic Times. Here's a choice quote:
"Flexitime is a utopian concept that is not going to help anyone," says K Ramkumar, Executive Director, ICICI Bank. "Whatever is not natural to the market and commerce, will not work. Customer is the king."
You might doubt the quality of the source, but it does not matter whether Mr. Ramkumar really said that or not. What matters is that there are numerous companies and managers who think like that and who must have been elated by the implicit validation they received from Mrs. Mayer's decision.

Here in Chile, the prevalent management style has been given a colorful name: "The Ranch Owner". What that means, in short, is that a lot of managers here expect their commands to be taken as divine law. For them, the topic of employees' happiness can be summed up with "I pay you to work. Whether you're happy or not is your problem."

What I'm driving at is that high-profile decisions in a company like Yahoo have an effect on much more than the company itself. The ripple effects of those decisions can affect a large part of the world.

To mitigate the impact of her decision, all Marissa Mayer had to do was make her telecommuting policy a bit more moderate: allow working from home on a case-to-case basis and, perhaps, choose a better wording that acknowledges telecommuting as an option that can enhance the quality of people's lives in general.

Instead, she's being defended and even praised for making a tough, controversial choice for the good of her company. The effects of her decision are being swept under the carpet of "fostering innovation", by people like Rebecca Cooper in her article for Washington Business Journal:
If she thinks bringing all her workers together in one place to innovate is the way to rebuild the brand, then I think we should let her try. I'm all for companies trusting their employees and giving them the ability to perform anytime and anywhere they can flourish. But I also think we shouldn't react so quickly to condemn this CEO for trying some old-fashioned togetherness to reboot Yahoo.
Even more chilling are the stories that praise her for "basing her decision on data". There's nothing wrong with consulting VPN logs and finding out that a lot of people are abusing their telecommuting privileges. Getting from there to outright banning telecommuting with no case-to-case considerations has nothing to do with data. Promoting the idea that you can make any decision infallible given enough data is downright irresponsible, especially when supported by flawed arguments such as this one:
Once, a Google designer quit the company in a huff because he was tired of how Mayer, in charge of how Google.com homepage looked, would choose design elements like color or font not based on taste, but raw data.

For every design variable, she looked at how users interacted with Google with one design — and then the other.

If the data showed users were using Google.com faster one way instead of the other, that particular design choice won out.

It's hard to argue that Mayer's process didn't work for Google. It was not the first search engine on the market, but it's just about the only one anybody uses now.
Conflating Google's success as a search engine with Mayer's decision making process about Google home page design is naive, but it takes a whole new level of self-delusion to use that as an argument to blow Mayer's analysis of VPN logs out of proportion and defend her decision as "data-driven".

Big companies nowadays parade their social responsibility initiatives and milk them for all they're worth. Yet when it comes to having a care about how your words might influence the lives of workers across the planet, many people seem to think it's not such a big deal.

After all, why should we care about the power of words? "Sticks and stones will break my bones, but words will never harm me." If that's what you subscribe to, then maybe you should reconsider.

Thursday, May 15, 2008

Piracy is Here to Stay

"With great power comes great responsibility." Wise words, Uncle Ben, but someone at BioWare wasn't listening. For those who hate following links, the short version of the story is that BioWare was going to implement draconian anti-piracy measures in Mass Effect and Spore for PC. In the end, they won't be doing it, but it wasn't for the lack of trying. Indeed, I tend to agree with Penny Arcade when it comes to predicting the next step in the war on piracy, a war that has a long history of going overboard.

What's interesting is the widespread reaction among the gamers:
Not only does this not make me want to buy the game, this makes me want to download a pirated and cracked copy even more
Funny, isn't it? I mean, when someone mentions using RFID for shoplifting prevention, you'll hear all sorts of privacy concerns and doubts about usefulness of such a system, but you won't hear people say they'll go shoplifting in protest.

So what is it that makes us perceive and react to piracy in such a different way? Let's take a look at some of the factors involved. Be warned, though: there's no magical happy ending to this story. Whether the hero defeats the villain and gets the girl remains to be seen.

Thou Shalt Not

Back where I originally come from, some 15 years ago, shops didn't have any shoplifting prevention mechanisms besides humans and, if the shop was large enough, mirrors. We all knew shoplifting was wrong, that it was stealing, that it was crime. We also knew that getting caught would have serious repercussions. Yet there were kids who did it. Not out of necessity, either. They did it for fun. It was challenging. It was a game.

Where am I going with this? There are several points I'm trying to make here. First of all, crime has a lot to do with perception. Sure, there's law, with its letter and its spirit and a bunch of lawyers and politicians to play with it. If you break the law, you're a criminal and that should be it. And yet, none of those kids saw themselves as criminals.

Second, it's in people's nature to do as they wish and rules be damned. You can try to educate them, to impress upon them that such behavior is wrong, but there will still be those who will do it and for a variety of reasons, too.

It might sound like I'm trying to justify piracy, theft and crime in general. I'm not. I'm trying to point out that they will always exist and that reasons for it are not as monolithical as we would like to believe. After all, it would be a lot simpler if people committed crimes because they're evil, but the world doesn't work that way. And if we want to do something about a problem, we have to understand the cause.

Can't Touch This

Every time I rent a DVD, I have to watch one of the MPAA's anti-piracy videos. There's no way to skip it, of course, so each time I'm freshly reminded of the first and foremost difference between stealing and piracy: intangibility. In order to steal a car, a handbag, a television or a DVD, just like in the video, you have to reach out and grab something tangible. There might be a lot of objects like that one, but there is only one of that particular object and it's not yours. Taking possession of it is clearly identifiable as a crime.

Things are not as intuitive with music, movies and software. Sure, if someone invites me to their house to watch a DVD with them, it's not a crime. They're sharing their property with me of their own will. If they offer to give me a lift in their car, it's the same sort of thing. But you can't copy a car like you can a song, can you? You can't parody a car, either, or quote it.

Intellectual property is a complicated and muddled concept and requires an equaly complicated and muddled definition of fair use. With the massification of the digital content and media, things got even more complicated and muddled, which brings us to the chaos we're living nowadays.

And chaos it is. How else would you call it when in one corner you have people who demand that all the digital content be free, as in free beer, and in the other corner you have giants like RIAA suing random individuals?

The Age of Middlemen

So far we've looked at some of the factors causing the piracy. But what about the effects of it? Organizations like MPAA and RIAA are claiming that they are losing money. Publishers like EA are complaining about the same thing.

Let's get one thing clear from the start: developers need game sales to survive. They develop games for living and their money comes from sales, just like your money comes from the job you're doing. There is no doubt that if you install and play their game on your computer without buying it, you're using the products of their work without them receiving your money for it.

Notice, however, that I haven't mentioned publishers in previous paragraph. What does RIAA stand for? Recording Industry Association of America. The keyword here is "recording". The people RIAA represent are those who make money by selling sound recordings of music. That used to be very straightforward: they used to sell records.

Vinyl records are a bitch to duplicate. As long as they were the medium for sound reproduction, the recording industry could control the music industry by controlling the medium itself. The advent of magnetic tapes brought the first crisis. The big guys freaked out, tried to defend their territory and lost. That was the major turning point in the history of copyright.

Evolution

Notice how MPAA is making a lot less fuss than RIAA? You know why? Their industry kept evolving. Sure, nowadays you can watch DVDs on your HDTV in your home-theater, but nothing beats seeing the very first screening of the long-awaited movie in your theater of choice. Besides, everyone and their grandmother will have seen the movie before it comes out on a DVD.

The first important factor here is that movie industry still has a meaningful experience to offer to their customers, beyond merely distributing the medium on which the content is stored. The second important factor is that there's ample segmentation. You can choose how much you care about a movie: will you go to a theater or buy a DVD? Or you might rent it before deciding whether to buy it. Or you might just wait for it to come out on cable. Plenty of options out there.

RIAA, on the other hand, got stuck. They just sat there while their golden goose spread its wings and flied away. Well, they didn't just sit. They kicked and screamed and made a hell of a fuss. They're still doing it, in fact. But they failed to adapt and are paying the price for it.

It's something I realized when I went to a Dream Theater concert in March this year. These guys didn't only play their instruments and sing their songs. No, they staged such an impressive multimedia spectacle, that I didn't even mind the fact that they didn't play most of my favorite songs. After a show like that, which in itself must have made them a pretty penny, they could've sold me their newest album without needing the middleman at all.

Or could they?

Eye of the Beholder

Piracy, like I said, has a lot to do with perception. You can call it culture or mindset or education, but the fact is that I don't know many people here in Chile who buy their music. If you look at it from their point of view, the reasoning is simple: why should they? It's out there on the Internet, for free. We all use MP3 players these days, so why should anyone pay for an overpriced lump of plastic that later you have to insert in a drive and rip and transfer to your player before you can listen to it comfortably?

Musicians, that's why. People who make that music need the money. Then again, the record industry screwed things up on that front too. The public perceives them as people who take huge cuts of profits and exploit the authors. It doesn't make piracy right, but it makes it justifiable in people's eyes. We come again to perception.

And perception is a lot bigger problem than most of us would like to admit. Could Dream Theater really have sold us their music directly, without going through the recording industry? Why would we buy it, when we're so accustomed to getting our music for free?

Detox: Rehab or Jail?

A habit is formed. How do we break it? MPAA seems to think the answer lies in the propaganda. The effects remain to be seen, but I personally doubt it will have any significant effect. RIAA, on the other hand, thinks the answer lies in the law enforcement. We've all seen how that's working out so far and I think we can agree that the idea is laughable.

What about software? Specifically, what about games? The software industry in general is not as monolithical as recording or motion picture industry. For example, applications targeted at big corporations don't have to worry about piracy too much, but their target is not as big as the home user market. Each type of software has its own worries, but games are in a particularly hairy situation.

The problem with the games industry is that it resembles the recording industry. As the saying goes, the developers make the game and the publishers make the money. They're not limited to being middlemen, though. Often they also finance the development, which gives them a bit of versatility when it comes to surviving the paradigm shifts. However, the fact remains that the online distribution channels will be making the publishers' role as middlemen increasingly obsolete as time passes. Of course, online distribution brings its own middlemen, as casual game developers are discovering.

Safe Hex: ACME Copy Protection

So how does the software industry fight piracy? We geeks tend to believe that everything can be solved by technology. Thus the copy protection mechanisms.

Now, wiser geeks know that technology is not an answer to everything. As Fravia used to teach, there is no copy protection that cannot be broken. The one time I thought I found an exception to that rule was when I used Kali. I was wrong, of course. The program itself is just a client for the centralized service and, as such, it can be copied as freely as you want. It's semantics, I know, but it's important.

The reason why it's important is because that solution doesn't apply to most games. The most notable exception are the MMOs. Incidentally, it's a pretty important factor for the popularity of this genre among the developers.

The rest of the genres have to choose whether to use copy protection mechanisms or not. If they do, they have to decide how strong to make it. Unfortunately, strong often means "problematic for the legitimate customer" along with "difficult to circumvent". This is what creates reactions of outrage, such as the reactions to the abortive attempt to "secure" Mass Effect and Spore.

No Silver Bullet

Okay, so the neither the propaganda nor the law enforcement nor the technology solve our problem. What's the answer, then?

Unfortunately, nothing worth doing is ever easy. First of all, there is no silver bullet. There's no magical solution to this mess. You can bet that the real solution won't bring you quick bucks and instant happiness.

I'm no expert on these matters and I can't say with certainty how to deal with this. However, I have a hunch and I'm willing to bet it's a good one: nurture the market.

Take the situation here in Chile. For one thing, games are outlandishly expensive. It's not just the price itself, it's how that price compares to people's earnings and other products. Second, there are too few stores selling games and their selection usually leaves a lot to wish for. There are too many obsolete games and too many crap games and too few hot items. Third, the same comments apply when it comes to renting games. Still, there are people who buy games. We do it because we like those games, we appreciate the effort it took to make them and proud to own them. But there's a lot of room for improvement.

What about countries like United States? Adapt. MMOs are just one trend. The Sims games are innovative in that they introduce a social component and allow people to create whole communities around them. Episodic content is another idea that has yet to be fully explored. Who knows what interesting new idea will come along next?

Above all, nurture the market. I don't know any comic book fan that opted to photocopy a comic book instead of buying it. They love comic books. They're quite fanatical about them. Games need the same kind of fans. And they sure as hell won't get them by treating their customers like criminals and making games even harder to install.

And Yet It Moves

So, what, piracy is here to stay and we have to learn to deal with it? Is that it? All this writing and I have no groundbreaking solution?

Yes, that's more or less it. I did warn you at the beginning that the future is still uncertain. Yet I'm sure it's not a dark one. Consider the fact that Sins of a Solar Empire has no copy protection and doesn't seem to need one. Consider the fact that casual games are successful enough to make Rockstar VP nervous.

Are "hardcore" PC games a dying market, then? Not at all. There will always be market for them and, if the industry does its homework, it won't be just a niche market. Though the lessons to learn may be hard, failing to learn them won't be fun, neither for the industry nor for the gamers.

Tuesday, February 6, 2007

Uneducational Crisis Pt. 3: Approach

Most of the things I wrote in the previous two posts can be disputed with counter-examples: not every professor is a Prima Donna; not all things they teach you at the university are irrelevant; there are great places where smart and likable people teach you good stuff; everything else is just "bad luck" and you "have to take the good with the bad". Let me tell you what I think about that:

I don't buy it.

There's a big problem with education as a system in general, not just in the CS field. And that problem involves the relevance of what we learn, from kindergarten to university. How many things did you learn in the ground school that you have completely forgotten? Let's face it, as a society we are doing a shoddy work of teaching our kids.

Why is education so bad? There is probably a variety of factors that enter the whole equation, but I think there are only two of major importance. One of them is the fact that teaching is not the number one motivation behind the existence of schools. Paul Graham has put it succinctly in his essay "Why Nerds are Unpopular":
Teenagers now are useless, except as cheap labor in industries like fast food, which evolved to exploit precisely this fact. In almost any other kind of work, they'd be a net loss. But they're also too young to be left unsupervised. Someone has to watch over them, and the most efficient way to do this is to collect them together in one place. Then a few adults can watch all of them.
The other major factor is that the basic approach to teaching is wrong. And that's what I want to explain here, so let's delve into it.

What Do You Want to Be When You Grow Up?

Whenever someone asks me how I came to be so obsessed with computers and programming, I tell them to blame my dad. No, he didn't teach me how to code, nor did he teach me anything important about the computers beyond turning them on and off and washing my hands before touching the keyboard. In fact, he can't code to save his life, which is perfectly fine, because he's a writer. What he did do, though, is much more important: he introduced me to computers.

How did he know I would like computers? That's the whole point: he didn't. When I was 5 or 6 years old -- I don't remember clearly anymore -- he started showing me the basics of photography. I found it entertaining, but I didn't take it too seriously. Then he tried with cinematography and the results were more or less the same. But then he showed me a computer and since that first look I am completely and totally fascinated with computers and the programs they run.

Why am I telling you this? Because I think I was extremely lucky. From that moment on, I knew what I wanted to be when I grow up; I had an interest that didn't pass and fade and I always had a new goal to achieve and a new way to improve myself.

I do know a few other people who have a passion in their life. I also know many more who never discovered anything they really like and lead largely disoriented lives. It sounds harsh, but it's true: having a spouse and kids cannot replace the feeling of having your own dreams. You can share your dreams with your family and complement one with the other, but in the end they are not interchangeable.

Nosce Te Ipsum

Here's the interesting part: I think everyone can and should have the chance to discover what they like. That's one of the most important things in our personal development and we usually don't have much help with it.

That's why most of the stuff they teach us at school is useless and irrelevant. How do you know something is relevant? You don't. You have to discover it. It's not something you can be taught, it's something you have to find out yourself. But that doesn't mean you shouldn't have help.

Educational institutions are ostensibly there to impart knowledge we will need in order to be useful and productive members of the society. But we don't know where and how we fit into that society. And the society doesn't know it either, so they just try to pour all sorts of stuff on our developing minds, hoping that after a while we'll get an idea where to head and how to specialize.

Optimism is good, but that's not optimistic: it's plain ridiculous. Imagine you had to pick what kind of food you want for your wedding party and the way to choose is to first learn by heart the recipes for a whole lot of different dishes and then use that to decide.

Yes, you will have an idea what each dish tastes like and yes, you might even make a dish or two to check out the taste. You might even get lucky and choose well. But if you made a mistake, there's no turning back: your wedding party will have food you don't like and that's it. You might get married again later and have another wedding party, but this one is gone for good. And the food sucked.

Of course, in real life you can get help from dedicated experts who specialize in that sort of stuff.
Imagine if you could get help with discovering your own talents and interests. Imagine if you could get that kind of help from people who specialize in it. Wouldn't life be a whole lot nicer?

Rat Races

Instead of that, what do we have now? We have to assimilate a considerable quantity of knowledge in a fixed time period, at the end of which our performance is rated and, if it is found satisfactory we can proceed to the next period and the next batch of knowledge.

There's a name you can slap on that description: competition. Our educational paradigm is based on competition and that makes it not merely misguided, but downright harmful. Instead of helping to find what our kids can do well, we force them to become "good enough" at doing a bit of everything. Worse, after passing through our educational maze, the kids are still not really good at doing anything of real worth.

Consider the most notable effect of our educational model: cheating. I really like how Wikipedia hit the nail on the head in their article:
A common venue for cheating is in education settings, where it takes a number of forms.
Of course it does. If you're competing for something that could bring you a gain you can clearly perceive, you might be tempted to cheat. But if you're forced to compete at something that you don't even perceive as lucrative (and nobody else really believes it either), you won't be tempted to cheat, you will consider it a natural option.

I'm not against the competition in education. Competition can be good, because it fosters a drive towards self-improvement. But you have to want to compete. And that happens either when you're competing at something you like or for something you perceive as lucrative.

Silver Bullet?

Of course, the solution is certainly a lot harder to implement than to propose. And I didn't even propose a complete solution, I just gave an idea. And I'm probably not the first to have it or even to voice it. And it certainly wouldn't solve all the problems and cure all the diseases and stop all the wars.

But don't you think it would be nice to try it?

Friday, January 19, 2007

Uneducational Crisis Pt. 2: Subject Matter

When I think about these last four years, I don't usually think about the university. Much more important and interesting things have been happening in my life. I think that says something about the quality of education as a life experience: you only consider it important when you're forced to do it during the better part of your day.

But when I do think about the university, the first thing that comes to mind are the professors. I've had a few excellent professors who were a pleasure to study with, but the rest ranged from merely disinterested to downright inept. In my previous post, I covered this topic in detail.

The second thing that comes to mind is what I learned. Or rather, what I was supposed to learn. Now that the things are drawing to their unceremonious end, it's amazing to look back and see just how many things I've been told were
  • misleading
  • wrong
  • obsolete
  • stupid
  • some or all of the above
With a lot of real-life experience in software industry, you can afford to be told such things because your brain will reject them automatically after a brief examination. But the reason I started writing about the educational problems in CS is not because I feel cheated out of my money, but because of the kids who go to the university to try to learn.

You see, I love programming and I like doing it for a living. And I enjoy the company of other people who do it. Sure, school might not matter if you're good enough (and infatuated enough). The knowledge is out there and you can learn it all by yourself. But you might not find it soon enough and you might get the wrong ideas at school and you might come out of it all utterly confused or frustrated or suffer some other damage. There's enough stuff in real life that will confuse and frustrate you, no need to start out like that.

So what's wrong with the stuff they teach you at the university?

Obsolescence

I agree that learning about the past is important. You need some context if you want to understand not only the how, but also the why of the things you see today. But that's no excuse for teaching obsolete stuff.

Take waterfall model, for example. For a big enough project, as most of real-world projects are, it simply does not work -- there are too many things that can go wrong and will go wrong. And yet the universities insist on teaching it as the way to execute software development projects.

Another good example is the insistence on Design Flow Diagrams. I'm not implying that DFDs are obsolete. Nor am I saying the same about any other concept from SSADM. Had any of our professors bothered to teach us SSADM well, I might have learned enough to compare it to what I'm used to working with.

As far as DFDs go, I find them stunningly imprecise and uncomfortable, compared to UML. This, of course, is a topic for a discussion that goes beyond the scope of this post, but it's also a bit beside the point. The point is that if the course is called Systems Analysis and Design, I don't think it can stay locked in time forever, covering SSADM in depth and merely mentioning the existence of UML and iterative processes and the myriad of other techniques that evolved in the mean time.

Scope

The problem with SSADM vs. UML is just an specific case of a bigger and more general problem: the scope is all wrong. If you are going to give an OOP course, you should take care to explain what OOP is, what OOP isn't, why it's been invented, how it works, etc. Sounds reasonable, but it doesn't happen. What you get instead is a Java course, where in the first few classes you get a very brief, confused and inaccurate summary of OOP concepts and then you delve into the language specifics.

I love learning new languages. As Kevin Kelleher notes, each language tries to solve some problem. That means that each new language you learn might teach you about a new class of problems or a new class of solutions. The thing is, you have to realize what the problems are and why they are problems before you can benefit from learning a new language. Otherwise you're just learning syntax.

You could do it the way I did it: learn a new language, compare it with the one you knew before and gradually become aware of the new problems. After enough time and enough new languages, you'll be able to think of languages in terms of problems and solutions. Indeed, nothing can completely replace the process of learning from your own experience. But that doesn't mean you aren't entitled to decent formal education.

It's like your parents telling you not to play with fire. You might heed their advice and still get burned by something you didn't know was hot. Or you might disregard their advice and get burned. But if they didn't tell you not to play with fire you would surely get burned out of ignorance.

Specialization

The problem of scope is what you'll see on the individual course level. But when you take a step back and examine the entire course curriculum, you'll find yourself facing the opposite extreme: breadth. The sheer breadth of subjects covered combined with the scope of each course makes you wonder why you got yourself into this at all.

Here's a bit of news for the guys who design the educational program: most of the software developers don't need to know about the implementation specifics of the datalink layer in ISDN. Nor do most network experts really need to know how to design a database in the third normal form.

I understand why the universities do this. It's a lot more manageable to have your courses flow sequentially and give everyone who survives the same diploma. Teach them all and let job sort them out. The question is, should ease of management excuse the poor results? Let's put it to a test: what would you think of a manager who told you, before the project started, that you'll have to implement a web-based user interface, a Swing GUI and an interactive textual interface, because it's easier to plan the project that way than to plan for capturing the UI requirements?

Relevance

All of the problems I've described here could be easily summarised in one word: relevance. Obsolete subjects are irrelevant to what you'll be doing. Courses with wrong scope teach you irrelevant things. Lack of specialization ensures you'll be learning a lot of irrelevant stuff. I postulate that every problem with the subject matter in CS education can be filed under relevance.

So how do we solve this? I hate doing this, but I'm afraid I have to do a Robert Jordan and leave you hanging. By now I've built enough context to engage in a discussion that I wanted to start from the beginning, but that discussion merits its own post. Therefore, I have no choice but to say RAFO.

At least I promise to finish in the third post.

Tuesday, January 16, 2007

Uneducational Crisis Pt. 1: Human Factor

If there's one thing worse than a bad programmer, it's a failed programmer turned professor. I don't know how common this is in United States, but here in Chile you see it a lot. And try as I might to pretend that I don't care, it's actually driving me nuts. Quite understandably, too: I could be doing interesting things instead of trying to guess what the latest in a row of brain-dead dilettantes wants me to write as a solution to his "ingenious" exam exercise.

On the other hand, this way I get the first-hand insight into the problems with education in CS field. Some of these problems, I suppose, are local and owe their existence to a variety of economic, political and technological factors, but I'm convinced that some are universal. Nonetheless, I shall not discriminate: I'll go over them all and a plague on both their houses.

This article, the first in the series, deals with the professors themselves.

Two Roads Diverged in a Yellow Wood...

Over the time, I learned to distinguish two types of CS professors:
  1. The Geek. This guy knows his stuff, because he actually works in computer industry and does his job well. Sometimes he is motivated by a genuine desire to teach new generations, but often he is teaching just to make a bit of money on the side or to lend a bit of academic weight to his name. More often than not, he is wonderfully inept at imparting his knowledge to the students, because he's a computer geek, not a teacher. All in all, he's guaranteed to be relaxed, easy-going and flexible. Mostly harmless.
  2. The Prima Donna. Who needs knowledge when you have Orwellian authority? This is the guy who will typically boast at least 20 years of experience in computer industry, who has a prominent consulting company and is certified by Carnegie Mello [sic] University. His classes are pure poetry. Vogon poetry, to be precise.
The Prima Donna is the type that does the most damage, so he merits detailed dissection.

Spot the Prima Donna

A Prima Donna professor is rather easy to recognize. He will exhibit a combination of several seamlessly coupled behavioral patterns from the following list:
  • Smugness. Usually one of the first signs that you're dealing with a Prima Donna is that self-satisfied attitude aimed to make you feel that some day, with lots of effort and a divine intervention or two, you'll get to be as good as this guy.
  • Hand Waving. One of the most valuable techniques for explaining the unknown is the hand waving. To those who came to learn, it seems that the Prima Donna is making a herculean effort to explain the concept and that they are simply too dumb to understand him.
  • Stating the Obvious. A good presentation slide will show only the key concepts and leave the explanation to the presenter. A bad presentation slide will show all the information in a pile of text you won't bother to read. In both cases, the Prima Donna will repeat the contents of the slide, with lots of Hand Waving, and you'll be left no wiser than before.
  • Exasperation. Sometimes a braver student will ask the Prima Donna to clarify something previously "explained" by Hand Waving and Stating the Obvious. If the Prima Donna is not in the mood to do it all again, he'll inform the audience that he explained it several times already.
  • Selective Hearing. If there's a student willing to press the issue despite the Exasperation, the Prima Donna might choose to answer another student's unrelated query or to simply go on to the next topic.
  • Condescension. You never know when you might get lucky: sometimes a Prima Donna will even give away unearned points when correcting an exam. But don't worry, he will make sure to inform you about it.
  • Objective Subjectivity. He might be teaching you how to solve problems that have more than one correct solution, but you better make sure you solve the problems the way Prima Donna taught you to do it.
  • Asserting the Authority. The Prima Donna will make sure you don't forget that he's the professor and you're the student, which means you owe him certain respect. He'll be especially sensitive about certain forms of disrespect, such as disagreeing with him.
  • Showcasing the Merits. In case you don't seem to be convinced of the Prima Donna's authority, you'll be informed of one or more of his certifications, nominations, recognitions, citations, publications, you-get-the-idea-tions.
Occasionally, you might get really unlucky and wind up with an embodiment of the archetypal Prima Donna. If there is an option to get the authorities to replace him, go for it.

Damage Done

It's becoming increasingly popular to be a nerd. Sure, you're still going to be bullied in school, but at least now you know you might be in store for a bright future. And those around you know it too. People tend to pay attention to things that might make them rich and when one of the richest persons in the world is downright nerdy, you can bet it won't go unnoticed.

The net result is that you get a lot of CS students who are in it for the glory and riches. These people don't know a lot about computers, but that's okay, because they're there to learn. The problem is that a lot of them also lack the talent. They're simply not good at computer science or any natural science at all.

Imagine all these people trying to learn about pointers from a Geek professor. Confusion abounds, chaos reigns supreme and in the end a lot of them will either fail the course (and hopefully change major) or pass the course having learned nothing.

Now imagine them trying to learn about pointers from a Prima Donna. Apart from becoming utterly frustrated and dejected, they'll learn a lot of garbage. The things that will stick the most are the parts that the Prima Donna invented or misinterpreted, because those are the most vivid explanations the Prima Donna will offer. That's the core of what makes him an "eminence" in the "computing world".

And now imagine yourself working with them on a project. Imagine working on a piece of code that has to traverse a tree with a co-worker who believes that "recursion is for programmers who have no style." Imagine hunting down an interoperability bug caused by bad handling of character encoding in a code written by a person who has been taught that "ASCII table is physically implemented in the microprocessor." Imagine writing business logic that has to use a database designed by someone convinced that a transactional database must satisfy the fifth normal form.

Not a cheerful thought, is it?