Why should I bother ?
Posted by Sayamindu 10 months, 3 weeks ago
Warning: This is a rant. Feel free to ignore
I love coding in Python, and in spite of some of the occasional issues it can cause, I feel that it lets one accomplish whatever one wants to do with the minimal amount of magic incantations. So naturally, I have been trying to convince my friends from college to try out Python, but after a few incidents I’m not so sure if I have been doing the right thing. Couple of events will explain the situation:
Scene I – Interview for positions in one of the “big four” Indian IT companies:
Friend of mine has Python listed under the skills sections in his CV
Interviewer: ওরে বাবা তুমি তো পাইথন জানো। (TRANS:Wow (in the sarcastic sense) – you seem to know Python)
Friend: হ্যাঁ (TRANS:Yes)
Interviewer: আচ্ছা Java জানো কি ? (TRANS:So, do you know Java)
Friend: যতটুকু কলেজে পড়িয়েছে, ওইটুকু, তার থেকে বেশী জানি নাহ (TRANS:Not much, just whatever they have taught in college) (the college course covers Java as an example of a Object Oriented language, so it does not go very deep)
Interviewer: আচ্ছা, এটা বল তো… (TRANS:All right then, answer this)
Interviewer: pretty convoluted question from Java – involving complicated API stuff and such
Friend: বলতে পারবো নাহ (TRANS:Sorry, I can’t answer this)
Interviewer: যা, এইটুকুই জানো না, আর পাইথন ফাইথন কী সব শিখে ফেলেছ ? (TRANS:Bah! You don’t know such basic stuff, and on the other hand, you have learn’t Python and whatnot!!)
Needless to say – the guy did not get selected, and got rid of Python from his CV.
Scene II – Yet another interview, this time for a “research” position in academia
Friend of mine has been learning PIL, PyGTK, etc and has Python listed in his CV
Interviewer: আচ্ছা, এই পাইথনটা কি ? (everyone in interview panel make weird facial expressions) (TRANS:So, what is this Python “thing”?)
Friend: <explains>
Interviewer: আচ্ছা এটার এরকম বিচ্ছিরি নাম কেন ? (TRANS:So, why does this have such a weird sounding name?)
Friend: <explains, mentioning Monty Python, etc>
Interviewer: দেখো, আমরা তো এসব জানিনা, আমরা সাবজেক্ট জানি। তুমি বরং কি সাবজেক্ট জানো বল (TRANS:Look, we do not know these things, we know “subjects”. What “subjects do you know ?)
<..and the interview continued with some very standard (and stupid, IMHO) questions (most of which, I believe are lifted from this particular book). My friend answered all of the questions, except for one.>
Friend later tells me: ওইরকম মুখ বানালো – ওই দেখেই বুঝলাম হবে নাহ্ । আমি আর কোথাও পাইথন জানি বলছি নাহ্ । (TRANS:From their expression on hearing the word Python, I knew I was not going to crack this interview. I’m not going to mention Python in any future interview.)
When the first incident happened, I thought it was a isolated case. But after the second one, I don’t think it is (and there has been at least one other similar case as well). In fact, when the campus recruitment started for our batch in college, a very senior and respected faculty member told me that my chances of getting placed from college was very slim. I did not appear for any of the recruitment programs (and almost got fined by the college authorities for being “absent”), so I did not get the chance to test out his theory – but that’s a different story altogether.
For the second incident, one may claim that the interviewers were perhaps looking for someone who had a good “theoretical understanding” or had “strong fundamentals”, but I have my doubts (primarily due to the generic crappy questions that were asked afterwards). The first incident on the other hand, points clearly towards something being very wrong with the interviewer.
The question that arises after all this is, why should I ask people to learn Python, or for that matter anything that is not covered by the officially sanctioned syllabus ? On one hand, our “progressive” political leaders and leaders of our various industries speak about nurturing and enhancing “talent” to build a better India, and what not. In the real world on the other hand, at the very ground level, the same institutions that the leaders are supposed to be the patrons and creators of, encourage nothing but mediocrity. End result: each year, thousands of bright young students get turned into zombies. What a terrible waste… what a terrible waste…
Minor update: I realize that many have mistakenly assume that the requirements in the first interview had something to do with Java. It did not. It was a fresher interview, conducted during campus placements, and the students were expected to have zero experience. Many of the students who were actually selected were either placed in testing, or in .Net (mostly building/maintaining/troubleshooting ASP.Net/C# sites)
Sigh.
This is one of the things about Indian IT that I find incredibly frustrating.
Conservative is great. Good people get good jobs. The Big 4 do what they do really well.
But it’s not innovation. It’s service.
Sigh again.
Dude,
//Scene I – Interview for positions in one of the “big four” Indian IT companies: //
Says it all. The bigger and older the companies, the slower they change! May I request for the age of the interviewers?
If re-add python in the CV and try in the emerging companies. A little secret. You don’t have to join a company if you get selected. Some intelligent friends of mine(whome I don’t want to name) go window shopping for companies. When they get selected, they politely reject the offer saying they are happy with the correct job, and had come too know about the company a bit more and they liked the company and might refer to friends. If they get a bit angry you can add that ” a lot of people keep asking me for recommendations on which companies to join. over the years I have seen that the best way to know about the company and the requirements is to attend job interviews.” That usually shuts people’s mouths. Disclaimer: I never did this myself. This is what I got to hear from my friends I can’t name.Strong conversational and social skills needed.
I generally agree with you, my experience is almost similar except once.
When I started coding for my thesis, I asked my guide if it would be a problem if I code in python. He asked, what is python and why I am choosing python over other languages. When I explained how simply python handles lists and files and other things, he said, “Wow!!! If someone has already coded the list operations for you, no reason not to use it. It would be much easier to do the work.”
And for big IT companies, here is how to get a job, http://susmit.wordpress.com/2008/04/07/how-to-get-a-it-job/ Learning python does not help.
Move to Silicon Valley. Plenty of companies want python programmers.
We’ve been looking for interns at my office, and it seems like everyone comes with Python experience.
We pretty much have to ignore that as our work is all done in C .
IMO, if colleges would only teach students C and C , the other languages are trivial to pick up.
I think a lot of people don’t even understand what Python and other dynamic languages bring to the table since they’ve never had to work on “real” software, without the crutch.
I’ve never understood why the questions are based on language, and not based on any actual computer science / problem solving skills. And even the latter is taken to an extreme with all sorts of puzzles.
If the interview questions actually directly related to the everyday work, then none of these nonsense situations would occur.
My 2 paise.
Sounds like a reasonable way for potential employees to select which companies _not_ to work at. If they’re that ignorant and petty, they will be infuriating employers.
I’d still say learn python – but realize it has it’s place and learn another language too.
A friend works in 3d and while high end graphics aren’t programmed in python – python allows him to write all sorts of supporting utilties and automation quickly and easily.
It’s about using the right tool for the job; for productivity and sanity.
That being said, knowing who your interviewing for and telling them what they want to hear is good too…
You need to tailor the CV to what you’re using it for. If they’re looking for Java or C or whatever, those are the skills you need to be emphasizing. “Also familiar with Python, Perl, etc” can be dropped in at the end as a footnote.
Yep.
here is how you make your resume…
Look at the position advert (or whatever position your applying for) It will say something like:
Requirements:
* bachelor’s degree in Computer Science
* 3 years C experience
* 3 years Java experience
* 3 years SQL experience
* Knowledge in Windows, Office. etc
etc.
And here is what you put in your resume for that job:
Skills.
* Bachelor’s degree in Computer Science from blah blah blah
* 3 years C experience
* 3 years Java experience
* 3 years SQL experience
* Extensive knowledge in Windows, Office. etc
etc.
And that is just about that. I don’t know about India, but in the USA your resume has to go through the human resource department. People who run those have very little knowledge of computers or software or anything of that nature.
So what they generally do is ask your potential boss for a sheet of requirements that a person should have that matches that position. Then the manager provides that list.
The people reading the resume don’t know what most of those terms mean and even if they did then they would rarely know anything very deep about the subject.
So you just fill out your skill set to match the requirements of the job. They look down the list and if it matches up then you’re very likely to get a interview.
Of course you better be damn able to back up what you put there with facts and such.. if you end up looking a fool or look like a lier then you loose all credability with that company and later on it will be nearly impossible to apply for a different position at the same place ever again.
———
Oh, and if people ask you what Python means don’t tell them its related to a comedy group in England… Python has a double meaning.
Tell them that is the English word for those large and powerful constrictor snakes. It’s meant to reflect the power and flexibility of the language.
Which is true, of course. Double meanings are nice in that way.
@Craig: These students were quite good at C. However, mentioning Python somehow pissed off the interviewer, and the entire interview went haywire after that. I believe the second student was asked some standard C questions (eg: implement bubble sort, etc), which he did.
@Simon, @nate: These were fresher positions, without any clear-cut requirements. The only concrete requirement was a certain minimum score in the various tests in school and college.
@nate: Both the interviewers were technical people (in a typical campus recruitment, you talk to the HR person in the very last round)
One way to look at the interview processes is to look at it just like dating. You’re looking for a compatible match.
It sounds like your friend went on a bunch of bad dates.
It may be helpful to remember that administering an interview can be difficult and stressful, and some people just suck at it–just like a lot of people hate GOING on interviews.
The NEXT one will be better!
You shouldn’t. You have better things to do and, why are you pretending to be Sisyphus of your generation anyway ?
Ok, that was a good vent of frustration !
We have had long conversations where both of us have dumped super-tanker loads of sarcasm and criticism to companies who don’t seem to get it and, are a darling of the media. The (S)WITCH group in India is especially so. It is somewhat interesting that now they would be the TWITCH group
Fact remains that they followed staffing patterns which were perfectly fine in a world that was pre-2009. Now, with most of the group companies talking about “just in time” recruitment and, probably no staffing ramp-up, the honeymoon period of using mostly incompetent hiring teams to shoo in fresh herds of students is going to end. Which means that sooner or later, real competencies and talent are going to get noticed. Of course, that is based on the assumption that these folks really know what to look for and, can get out of the mindset of “we need young and able bodies and, we can train them to turn tricks”. Having said that, I also could point out various interesting bits from the Gita or, the person who asked “What do you care what other people think”.
In short, I completely appreciate the need for the students to only learn things that are relevant in an economy, however, they should also realize that the world is changing and, learning things that can allow them to look outside the closeted environment of TWITCH is possible. Talent is always appreciated. As the newspapers end up saying “Form is temporary, class is permanent”
There is a saying (and, studies) which point out that incompetent folks end up hiring or, helping to hire folks less competent than themselves. So that they can appear smart.
Hohoho, another hacker that thinks that knows more than anyone.
You know, if I went to an interview where they did know Python but not Java, I would be much angrier.
Oh, my God, the paragraph breaks have all vanished. Should one write with html tags?
can you think of a programming language with a sensible name? maybe FORTRAN (formula translator).
java is named after a programmer’s favourite drink
C is named for being the letter after B
C is an in joke about it being one better than C
PHP personal home page (very ‘business’)
Sayamindu, I agree with your point. Some 4 months back my manager asked me to interview a guy. I am not a good guy to judge a fellow. Please have a look at this http://sujithh.info/2009/01/a-hypothetical-interview/
Well I was shocked that the guy didn’t knew what is even number nor odd
Never forget that the interview is for both parties. It’s not only you that is looking for a job. It’s also them that are looking for a programmer.
The real question for your friends is : “Do you really want to work for such a company which is not curious about new technologies and which is afraid about everything they don’t know ?”
Personnaly, the answer for me is clearly “no”.
I once did an interview when they saw that my CV was full of “Linux” things. The first things they said was to convince me that “Linux is good for student but successful companies have to follow Microsoft, there is no alternative if you want to become rich. Bill Gates is the richest man in the world, you have to follow.” (their own terms). I just took my CV from their hands and said “I don’t think you need it anymore, goodbye”.
You have to wonder (well maybe not anyone here, ‘python ra ra ra’) what the situation would have been if s/python/perl.
A few years ago I met resistance at my company since the FOSS solution I was proposing is written in Python. At a meeting, a rather annoying bigshot asked "what's Python? We don't use that here". I asked him "Have you heard of Google? Have you heard of eBay?"
And my next slide included a quote from Professor Stephen Edwards of Columbia: "Python is Perl for a sane man", which everyone around the table found amusing (except the bigshot in question)
No one has ever questioned me about Python since the day of that meeting.
You seem to have some weird potential employers.
I believe I got more offers from interviewers because I took the time to learn Python — and expressed love for learning languages on my own and knowing why I like them, as opposed to the usual folks off the street that just do Java and C and stop. (Ditto Lua and Ruby).
I’d say keep trying — the companies that do value that kind of thing, even if you aren’t going to use it, are going to be better to work for — and competent team members should know anyone can pick up a language in a short amount of time once they’ve learned a broad set of others.
Ignorance on the part of someone taking an interview, I can imagine and understand. Prejudice is beyond me.
…why should I ask people to learn Python, or for that matter anything that is not covered by the officially sanctioned syllabus?…
Oh, that you should do so that the kids can have some fun – I’m sure they deserve some entertainment, given the state of the present syllabus. Besides, I think it’s generally a good idea to do least a couple of things for which you can answer the why am I doing this question with an answer like kewlness. It may not necessarily always be Python, but you get the drift!
Both instances are worse than unreasonable. If I was the one being interviewed, I’d be glad about not getting an offer (would save me the trouble of writing to them saying I’m not interested)! Of course, not everyone may have the luxury of turning down job offers. Personally, I’d prefer being jobless to being answerable to someone who depends on Balasubramania for framing interview questions, no offense intended.
It seems to be the opposite way around in Israel. I’m still too young to have been at many interviews, but all the programmers I’ve met at conferences or contests seem to be impressed with people who know python (because it’s not very widely used here) and are more likely (as far as I can tell) to hire them.
I had python and perl in my CV and the interviewer asked where I had learned those 2 languages and I answered that I had learned them on my own reading books on the internet. He was impressed and even though I didnt answer his java api questions I answered his simple ones and got selected.
http://atulchitnis.net/diary/showentry/503
Athul has a nice article on this very topic (seems he has read this post)
@sankarshan, I heard a modified version.
A’s hire A’s. B’s end up hiring C’s.
Not surprised with the interviewers at all, and 1 for #24!
I guess people only want you to continue doing something you’ve already been doing. If you’re enterprising enough you can decide what that something – be it a new language not covered in your syllabus or an interesting project, but once you make that decision and start becoming resourceful in it- languages dont matter. The best way to learn a new language if you ask me infact to port something you know well to another language.
Keep Clicking,
~B
PS: Python is still a little easier to explain that a video with two guys from ericcson talking about a a fault-tolerant functional language ; )
The most important thing is sure the good understanding of programming, not what language we know.
But still, you need to tailor your resume to the potential. If your employer really needs java, then your full of python but nothing about java resume is a bit useless IMHO. Because sometimes some problems cannot be described well in one language (e.g. multi-threading in Java vs Python), so you will need to _really_ know the language.
Benefit of higher level languages is they can make complicated matters simple. But the cons is they make simple matters complicated (plus slowness sometimes).
My last point is, each language has its own pros and cons, use it wisely
These are difficult times to think like this, but nonetheless – even if your friend _were_ hired in any of these companies, he’d probably not be happy there at all.
Not every place turns people into zombies. And one way to look at this is that it makes it easier to filter out the ones that do.
Sigh!
What u said is very very true! I am no expert in Python, but I like the simplicity of this language.
And the worst part is the IT companies here doesn’t even progress a bit; They can’t even when recognize the potential of python when a 1st year engg. student (me) (trying not to become a zombie) like it so much for it’s productivity.
For high performance appz, Python may not be very appropriate, but when it comes to complex systems, with not so intensive computation, Python is the GO as it handles stuff so simply…
I love Python, whatever those OLD Boring interviewers say…!
I am with you man!
This is sad, but I am not surprised. Enlightened students should opt out of interviews with these giant IT companies, because at the end of the day, the work there is pretty much brain dead.
It is time to cultivate an entrepreneurial culture in India. Students who are sufficiently smart should either found or join startups. The minimum that they can do is ignore all these big companies and join a FOSS-friendly company like Redhat, Yahoo!, etc.
As far as your job prospects are concerned, I doubt if you need to waste even a second on worrying about this. Just obtain your degree and get the hell out of your college.
The real world awaits hackers like you.
We are always on the look-out for brilliant python (and related LAMPPP technology) developers. Please point them to http://www.decho.com/jobs/
Why would I want to get hired by such companies anyway?
pretty sad man…considering that companies in the US are investing so much into Python!