Several years ago I went to a toy store with my 7 year old son. He picked up a toy and noticed a stamp: “Made in the USA rdquo;. He was really surprised and asked, “Daddy, I thought all toys were made in China rdquo;. I “m sure twenty years from now most people will expect to see “Made in India rdquo; on every software box. And the sad thing is that posts like “The perils of Java Schools rdquo; help this to happen even sooner. Joel states that the Java language is too simple to be used as a tool for weeding out mediocre programmers.
IMHO, we need an easier college program that would quickly prepare junior computer programmers. These days at least 95% of programmers do not do anything more complicated than writing “if rdquo; and SQL statements to populate a form with some data from a DBMS. And this is exactly what our friends in India do. They train people with ANY engineering degree to quickly become programmers. And this is smart. At the same time some USA nerds are complaining that they miss pointers, because it helps working with Linux Kernel. Just give me a break! I do not deny, we need CS college programs for people who would like to work on OS-level software or on complex mathematical modeling, but this has to be THEIR CHOICE. Currently, colleges do not offer business-oriented IT undergrad programs. We need specialized degrees like “Computer programmer for Finance “, “Computer programmer for Telecommunications “, and the like.
If ones goal is to make $50-60K a year by working as business application developers, they should have a simplified curriculum that will help them to learn the basics required in businesses and find a job. The Bubble Sort algorithm has to be the most difficult topic in such courses. On the other hand, this program has to have at least half of the subjects teaching software engineering.
In USA, people are already scared to death of CS major. Let “s not make things worse. Do you know how most of the kids pick their majors? They listen to their parents’ advice. Do you know why parents do not advise their kids to pick CS or CIS as the major? Because they hear these horror stories about how difficult it is to survive in such colleges and then it “s even harder to find the first job because of outsourcing. Why not create a simple program that would allow faster (yes, not fundamental) baking of computer programmers for businesses? After a while, some of such graduates will decide to enroll in more fundamental CS programs, which is fine, but let them make this decision.
Five years ago a mother of the CS freshmen of the state college called me asking to tutor her son in Java. This 18-year old guy told me, that the goal of the first semester “s program was to have most of the students leave the CS major. It did not sound right to me, but when he showed me his first Java project I realized that he was telling the truth.
Anyway, I helped him and he survived the first semester and after the second one he quit the college, found the job as a computer programmer, and later on slowly completed his CS degree part time. My point is that he was able to work as a business computer programmer without being a computer scientist (let’s not confuse the two).
So how long does it take to prepare a junior computer programmer with a set of skills required in most of the IT departments? 18 months or less. I can do this in 6-9 months, if the students are highly motivated. Let “s learn from India, and succeed.
I can speak about the situation in the USA only, and if we want to have people learn computer programming they should have a choice of easier industry-oriented majors. JavaLobby has an interesting discussion on the same subject and some people suggest similar solutions.
If the academia will not make required changes in the curriculums, pretty soon most of the programming jobs will be outsourced to developing countries, and this will happen not because they charge less for the job, but because you won “t be able to find any programmers in our country. Actually, I “m wrong. We “ll still have several thousands of really cool programmers who will be able to explain how the OS Kernel works hellip; if they’ll find anyone willing to listen.