I love solving Topcoder problems. It always thrills me. The feeling it gives it like going on a roller-coaster ride.
But when I speak to people about programming contests, the most common response I get is “When I have real job to do, why should I solve unreal problems?” This post answers this question.
When we can face the big problems, the ‘real’ problems become trivial:
When we constantly keep solving problems that require complicated recursion or multi-dimensional dynamic programming or memoization or some graph theory to crack it, the regular real world problems that hardly require more than two levels of nested loop becomes trivial to solve. Real day-to-day problems won’t be problem anymore and they will turn out to be cake-walks!
Turning real world problems to cake-walk has lot of advantages. This gives more time to think on more important stuffs like “Can this problem be solved automatically? Can I write a tool that will help this kind of problems in future? What is the real problem faced my the user and can that be solved in a better way? Can we propose any feature enhancement? Etc…”
If I rest I rust:
This is one hard fact everyone has to digest. Thinking power doesn’t decrease as we grow old. But we grow old (mentally) because we stop thinking. I’m sure the last time more than 80% of people would have strained their grey cells would have been when they prepared for a college examination or to crack an interview. Once we enter a job we get into a comfort zone and stop using the grey cells.
Nature of job can also be blamed for this. Unfortunately not all jobs require people to think hard. There is ‘process’ to break the entire work into tiny parts and individual employee needs to take care of only a very small part of a big process. With time they become so familiar with their part in the process that they can do the work without much thinking. This explains why we see freshers performing better in aptitude/programming interviews compared to experienced people. What people unfortunately don’t understand is “The lesser I think, the more rusted my brain becomes!”
Programming contests like Topcoder gives us a chance to use the grey cells and keep it conditioned so that it doesn’t rust.
Confidence can go a long way:
Much has been written about confidence by many people. Having self-confidence can make us perform above our normal limit. At the same time, lacking confidence will make us perform worse than what we actually can. And acquiring self-confidence is not very easy. I’ve heard people say “Think you can; you can”. But the first part of the sentence is not easy to achieve. It is just not just ‘thinking’. It is instead making my brain believe that I can. And brain needs solid proof to believe anything. Cracking tough algorithmic problems will help you prove to yourself that you can!
Speaking out of my own personal experience, if I start my day solving a Topcoder 500 pointer, I can be sure I have a great day ahead. It gives a kind of confidence that is hard to explain with just words!
Creating better engineers:
I think of this quite often. Why is Indian IT industry not as good as the American IT industry? Why don’t we have techie companies like Google, Microsoft, Sun, IBM etc in India. Why don’t we see ambitious startups like ‘Facebook’ growing from India? Why is none of my text books written by Indian authors? What is wrong here?
The answer is pretty easy. To get the answer, we just have to compare an average Google employee and an average Infosys employee. The differentiating factor is nothing but ‘ALGORITHMS’. Google interviews tests nothing but candidate’s algorithmic skills. Technology doesn’t matter. Somebody who is good in algorithms will be able to learn technologies overnight. Algorithms are not a part of computer science. They are the very base of computer science. They are the key differentiating factor between a good programmer and an average programmer; between Google and Infosys; between USA and India!
So, How about a roller coaster ride now!
:-)
Freedom Writers
Tags: comments, freedom writers, movie, review
I maintain two blogs. One (this) to put in serious thoughts. Another to put in not-so-serious thoughts. I never thought I’ll be writing about a movie I saw tonight in this blog!
The movie was “Freedom Writers” (based on true story). I don’t even have a count of how many times tears rolled down my eyes as I watched the movie.
The movie is about a teacher. Not just a teacher. Someone who changed a classroom filled with violence, hatred and bloodshed into a class of lovable kids who came up with flying colors.
I don’t know what to appreciate. The care she had for her children? The passion she had towards teaching? The passion that drove her to even “takeup an extra job to pay for a job”?
It is wonderful to see how love can change anything. When you really care for the kids, why wouldn’t the kids recognize it? How many can really care the way she did? Work in a garment shop to raise money to buy books for the kids…. Revolutionize teaching to fit to her audience…. Place teaching even above her own personal life…
This is one dialogue for the movie which I really loved:
Kid: I’ve never had a hero before. But you are my hero.
Miep Gies: Oh, no. No, no, young man, no. I am not a hero. No. I did what I had to do, because it was the right thing to do. That is all. You know, we are all ordinary people. But even an ordinary secretary or a housewife or a teenager can, within their own small ways, turn on a small light in a dark room.
It is true. It is not the great politicians or the great businessmen who bring about great changes in society. It is just the ordinary people… could be a teacher… could be a software engineer from an xyz company… could be a vegetable vendor… anyone… anyone who wants to turn on a small light in a dark room.
I know, this blog doesn’t convey much. I’m not a great writer to make you feel what I felt watching the movie (I wish I was). I’m just trying to say “Here is a great movie and spare some time when you are free.”
:-)
P.S: To be a teacher has always been my dream. I feel, to really bring about changes in a society, you have to be a teacher. I wish I do one day! And that remind me of another dialog in the movie - “And I remember when I was watching the LA riots on TV, I was thinking of going to law school at the time. And I thought, ‘God, by the time you’re defending a kid in a courtroom, the battle’s already lost.’ I think the real fighting should happen here in the classroom.”