Wednesday, November 7, 2007

Just because you know C# or JAVA doesn't mean you know OO, seriously!

Ask a programmer what languages they know. You'll get responses like C#, Java, ASP, Powerbuilder etc... Then ask if they know OO, they'll say of course I do, I just told you I know C#, Java, ASP blah blah blah.

I've done so many interviews where the candidate rates themselves so high on these technologies but cannot answer any OO questions. For example, I am interviewing a C# candidate, this person rates himself as a 9 on a scale of 10. I'll ask him "what is an interface in the sense of OO" He'll respond its the GUI. I'll say, "no, I am referring to the OO interface, similar to a class." I hear crickets. This is not a unique experience. What do they teach at school? Oh, ask a programmer what boxing is... silence? Weird looks? I am always happy to find that 1 out of 10 candidate that actually knows these questions, it makes me feel normal and happy again.

So back to my rant, this is just the surface of the problem, we have thousands of programmers out there who are building systems, leading projects who absolutely do not know what they are doing! I am not a negative person, I actually LOVE teaching people how to write software but programmers are for some crazy reason more stubborn when they don't understand something. The less you know the tighter you hold on to your ignorance.

Classes

If a programmer knows how to construct a class and compile they feel very accomplished. They should, it's a great feeling learning a new language but don't get so full of yourself and stop the learning there. The most common mis-conception I see out there is if the software is built with classes then it is OO based. WRONG!. I guess what cheeses me off the most is that many programmers dont think that it is very important.. That is until they need to revamp it because it isn't scalable or easily adaptable. I admit I enjoy that moment but in the end it simply results in more work for everyone....

No comments: