transitive
if you underdress, and they give you a hard time about it, you might not fit in well at that company and you dodged a bullet.
if you overdress, there is a chance you will make your interviewer uncomfortable and not get the job.
dress in what you like to wear. its as simple as that. let them hire the real you, and not a front you put on based on some perceived image you have of the company.
a low level language - C is the most important one by a million miles
a high level enterprise oriented language - Java or C#
a high level scripting language - Python, Ruby, Perl
Unix Shell Scripting (bash is the most popular i guess)
the frontend web stack - HTML/CSS/JavaScript
obviously people will have widely varying degrees of proficiency between those categories, but everyone should be at least familiar with those categories if not an expert in all of them. you probably should be an expert in one of them though. having a "native tongue" is a useful thing.
i will say this though: you get what you pay for. failures related to underpaid, hasty development in code sweatshops (indian or otherwise) is obviously going to be low quality.
He could instruct in technical subjects, but he was already over that point of his life when I got to meet him. He had written his books, done his service with the ACM, made his contributions to the profession. What he devoted himself to later in life was cultivating people. He knew exactly how to nudge a student in the right direction to make them press onward. It worked for me. I don't think I would have made it through my freshman year without his encouragement.
I'll miss him. He was a wonderful person, a great teacher, and a warm presence. We should all be so lucky to as to know someone like him.