A letter for Sayamindu

Dear Sayamindu,

It is good to see you blogging after a break. Now that you have got the rant off your chest, I hope you are feeling better. Catharsis does work.

You ask, somewhat rhetorically, as to why you should bother ? There are a lot of layers to that question really. Should you bother about coaching your peers and juniors in the “right” things ? Or, should you be bothered about the employment bits that make all the education and years spent so irrelevant ?

I firmly believe that you should bother. In fact, I hold on to the theory that you should get agitated enough to be bothered more than you are currently. There is no escaping the fact that the world is changing and, with it, the patterns of employment. Traditionally, Indian IT companies of the SWITCH and now TWITCH group have hired freshly minted software engineers by the ark-load. In fact, there are times when I have wondered about how do they end up managing the task of the massive hires. When you hire at that quantum, the focus is less on skills and, more on whether there is “aptitude” as measured by some tests devised by the departments involved. And, since there is an extensive “training” of the new hires involved as part of the cycle, it is comfortable for them to assume that basic knowledge would be drilled into them eventually.

It isn’t really about Python. I guess the issue here is do the folks whom you guide and, for a very valid reason, feel responsible for, realize and accept that there are opportunities outside of the traditional TWITCH group ? Or, that, given accomplishments, they can actually be spoilt for choice in terms of assignments they land up with ? Sadly enough, my experiences have been somewhat negative. Since getting into a services sector job hasn’t been too difficult, students seem to have become complacent (and, yes, I know that this is a grossly general statement) and, decided not to exercise their choice to “be excellent”.

Choosing to become a zombie is an easy decision. Choosing not to and thus striking out a path for themselves requires courage. So, the question I ask is – what can we do to instill that courage in the folks we encounter ? What can be done so that they can be brave enough to reject a call to mediocrity and, embrace the discipline and strength needed to really “innovate” ?

It is a sad fact of life that B players generally hire Cs. So that they can appear smart to the outside world. How can we coach the students to aspire for nothing less then being an A and, demand the very best of their employers ?

So, the question isn’t really “Why should I bother ?” – it is “What can we do to change the system ?”

The number of comments on your blog does prove that there are a large group of people unhappy with the current state of things. The larger that group is, and, the more work that gets done, would be the starting point of things changing.

~sankarshan

ps: Be bothered. That’s the only path to sanity.

6 thoughts on “A letter for Sayamindu”

  1. Pardon me, I am awake on coffee after a night out so my brains are not working correctly, but let me still try a bit hard to dump it.

    Let me ask you the same question, a version of which I told to sayam in IRC:

    Guiding students to break out of the bonds of _only_ formal education system (I assume thats what you mean somewhat) is good idea, definitely young people will go out, explore and learn new things that will help them and will also help the community.

    But the question is; considering a CS student: Is it really a good idea to expose them to get-the-job-done-the-easy way things like Python, Ruby or similar scripting language at an early age when they are learning C, Data Structure, Algorithms etc. the hard way? A _normal_ CS grad student will definitely have no idea about real life software development that involves not just coding but testing, benchmarking, QA and what not; so when he is exposed to something like Python in an early age, he most probably won’t prefer learning various sorting/searching algorithms and will instead rely on obj.sort() from these higher level scripting languages which definitely is not a good idea.

    Am I totally out of my mind? or this sounds sane?

    Reply

    sankarshan Reply:

    Nope you and your mind are in the same zone. So, that’s why I’d ask you to read the blog again. Although I claim to respond to Sayamindu, I make it pretty much clear that the issue isn’t really about “Python”. In fact, I am too much of an agnostic to be fixated by language, Operating Systems and the like. The issue, as I see it, is whether we can provide a comprehensive guidance to the CS (and, other students) to become better persons/students/employees. There is a drastic and dramatic need for that. The students have become complacent and, fail to benchmark themselves against excellence. Instead, they tend to use their little knowledge to be hypocrites and frogs-in-wells.

    I would very much like them to be well grounded in fundamentals – and, that means really understanding programming meta fundamentals. In fact, going down to the level of comprehending how programming choices and hardware architectures inter-mesh and may or may not lead to best paths to solution. My gripe isn’t that the hiring companies don’t value Python. It is more that the culture of hiring that we have, somewhat encourages and rewards mediocrity, provides incentives to herd mentality and stifles any reasonable modicum of intellect or insight. Admittedly, the current system of education also ensures that the students don’t actually “learn” much, but the context to learn and the scope is always there. I believe that telling the students about the need to learn is what we should be working more on, rather than just being too concerned with the language.

    Reply

  2. Heh, ‘frogs-in-wells’, ‘herd mentality’. Man, there is just way too many of you guys who think you are cool, creative, lone thinker, not part of the herd and how all these cattle should be transformed and how you should heal the masses from this disease.

    You will not admit it, but let me tell you that at the end of the day this is just sheer arrogance. Not benevolence or some kind of love to spread knowledge and creativity. It’s a way you cope with your life.

    If you give up your arrogance, you will understand why these people ‘working in herds’ are so important for _your_ existence. If not for these people, you won’t have the opportunity or options in the IT world that we have today in India. We are part of the herd and they are as important to this whole structure as we are to them. No point trying to transform each other.

    That said, I spend more time thinking and talking of how arranged marriage is a sophisticated form of cattle breeding. To me, changing people to not have an arranged marriage than learn cool new languages is more important to our society.

    Reply

    anomit Reply:

    Girish, no, people working in herds have never been more important than just helping things trudge on, one day at a time.

    The real push towards advancement comes only when people dare to think different, not being content with what’s already available.

    It was a homosexual who challenged the society’s fidgety attitude towards his sexuality to give us what we know as Computer Science today. Machine intelligence, algorithms et al. What if he was to take the advice of someone like you who pretend to be something like a hardened cowboy, scarred by the ordeals of real life, throwing around priceless pearls of wisdom like the ones above? Yeah, right. You wouldn’t even have the internet, leave alone typing a pile of BS in a comment box.

    There have been a lot of personalities like him not only in Computer Science but all spheres of life, throughout history. Looking back at all of them and assuming if they all had decided to play it safe, we would have been still gouging each other’s eyes out with sticks for sure.

    Reply

  3. SM: So true. I think the main problem here is that the students really aren’t enlightened enough about the Industry and about things that really matter.

    I call it the “Cause & Effect” situation. Most students are confused about what the cause is and what the corresponding effect is.

    For example, they think that “Job” is the “cause” and the “effect” is “study hard, learn C/Java/Foo”, whereas, it’s the exact opposite.

    I have, for the record, never met anybody in my college life who understood this relationship. They were all behind “marks” & “grades” so that they could secure a job at the end of the course.

    They would rather learn “wrong” things and copy incorrect programs to get good marks than to really investigate and learn the real thing.

    Some of them were really interested in learning “Linux” and that was mostly because they thought “Linux” had a good “market” and so on.

    I think that is the main problem. Student don’t really know why they should be studying CS. When somebody like Sayamindu had been hacking away since he was a teenager, learning new things, having fun, fixing things, others in his age-group would have been busy taking tuitions, doing homework, so that they could get into a “good” college. But why? Because everybody else is doing so.

    This is a very complicated problem to solve. I think the roots of this problem is in the Indian culture itself.

    I have absolutely no idea how to fix it. And no, preaching to the students, etc. doesn’t work.

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.