|
http://www.javalobby.org/java/forums/m91978607.html
Well this is realy very well written article but obviously as usual its was
from 10,000 feat high.
Let me explain you the fact that the success of Indians in IT is not
because of that they do low level stuff but its just a way to enter into
mainstream from where many oppurtunities will open up and than you will be
able to see the full potential of those programmers.
I suggest the author to visit india and see himself why India is doing so well ....its not because of doing low-level stuff but because of hunger and confidence to do anything that one gets..initially it will be Some if loops but that if loop is gateway to Gaming and Simulation Programming..and lot more
I totally agree to your point of view ..the only thing i wanted to address
is ultimately it will be business which will decide where jobs should
go...and business need same or marginally low quality work at VERY CHEAP
RATES.
And about your visit to India ,i hope somehow business brings you to india as i would really love to meet you ,i am regular reader of your articles and have learnt a lot from them
Great article, but I'm not sure I agree with compromising the elite
education that we get here in America. I've worked with several Indian
consulting firms over the past 10 years or so. The overall quality of work
that I've seen has been terribly low and the lack of experience very
obvious. I'm not sure I've ever encountered a consultant with a true
knowledge of object-oriented principles or design patterns. All I ever see
is copy-pasters or people writing COBOL code in Java. I'll take one
American college educated programmer over 10 offshore hacks. There are a
million IT "schools" in America where you can take the 6 month crash course
in programming and settle for the same mediocrity that we get from India
and China.
I disagree with this article. I have a quite different perspective since
I'm originally from Europe where I obtained my Masters in CS before coming
to this country. IMHO the job of a higher education is to teach theory,
whereas it is a student's responsibility to teach himself practice. If
one's want to learn Java and work as a Java progammer he could just attend
some course or better spend some time learning it himself. But such a
person cannot call himself a Software Engineer. He might learn Java or any
other technology in a month or so if he is persistent but it won't be
enough time to learn the theory behind this. As far as I know US education
is more focused on the market skills rather than on exploring CS theory. As
a result how many programmers in the US know how compiler works or how to
write a parser? If you think this stuff is not neccessary think again. You
may not need to write another Visual C++ but understanding how parser works
will be definitely helpfull. A very simple example: a command line
calculator which can compute expressions such as ((((2+3)*4)+10)*5 - any
number of nested paranthesis. How many programmers can properly implement
it without knowing what is a lexer, parser, semantic analyser? 99% of
programmers would try to implement it their own way disregarding any
principles. Their code would most likely be hard to extend etc. Again, this
is just a simple example, there could be many like this. Theory behind
writing multi threaded programs (what is a reversed counting semaphore or
similar subjects) is yet another example. This cannot be learned during a
two week course, it requires 4-5 years of college. There is always time to
learn practice, i.e. a new language, but you won't find time to learn
theory. And that's what distinguishes a good programmer from a mediocre.
That's also the reason why some US graduates in CS cannot find jobs and
find the cause of their problems in foreign labor. I suggest that you visit
Top Coder Website and check school rankings
(http://www.topcoder.com/stat?c=school_avg_rating). It is not a surprise to
me. Also, I found your statement about Indians and their lack of work
organization (the reason that they work so many hours) very inappropriate.
Many Americans have this superior feeling towards other countries
forgetting that these countries have existed for thousands of years.
America owes everything to the world.
I think the main take home point in this article is that one does not need
to be a CS major to do a business programming bog J2EE job. Having a
Masters Degree in CS I feel it is overkill and makes you overqualified in
some ways to do a typical J2EE programmer. Yes, you definately need to have
this degree if you are going to analyze NP complete problems or work on
approximation algorithms but certainly not for Business programming.