Monday, June 22, 2009

To MDEC: Java should be a national agenda

















I had a meeting with MDEC a few weeks before OSCONF and they reveal some startling statistics: Apparently 50.6 % of MSC companies are in need... no... are dying to find good Java programmers. So much so, they don't mind going to Indonesia, the Philippines and many other places, to recruit programmers there (offshore). These companies are willing to train them and
pay them a handsome fee just so that they can have decent Java programmers.

Now, 50.6 % is a big number. It's bigger than the need for .Net, for Ruby, for Phyton,, for PHP, for SAP.

Heck, it's bigger than .Net, Ruby, Phyton, PHP and SAP COMBINED!

In other words, most (and that's a big "most") of the projects within MSC now are Java based.

Now here's a short reality check, what if we (as a nation) do not provide our MSC companies with these much needed Java programmers? Do you think the jobs will switch to PHP? No way
Jose. What will happen is that jobs are going to go away. In this case, it'll be roughly 50% of the jobs. I've read somewhere that we want to outdo China as the second largest outsourcing destination... well, if 50% of the jobs here are going to Indonesia... good luck with that.

So what should we do. Here's a few sugestion to MDEC:

1) Take over Java education in Malaysia and don't leave it to Sun

... Heck, don't even leave it to Oracle. In my experience, Oracle is sooo not interested in small markets (where most of the jobs dwindle) They care for big multi-million dollar accounts but Oracle is almost invisible in smaller arenas. The fact that Oracle is going to buy over Sun (and thus become the steward of Java) will mean less resources will be dedicated towards Java education (and it was already bad under Sun).

OK, I know a few people in Microsoft and the Ruby/Phyton/PHP group are so going to whack me on this but listen up: MDEC has to take over Java education, not because MDEC is favouring Java over other platforms or languages, not because MDEC is some Sun/Oracle/Java/Obama hugger. No! but because it makes business sense to do so. If MDEC is not doing this, good bye 50 or so % of MSC jobs. Besides, if you are a Ruby/Phyton/PHP developer, these language s run well on the JVM too so this call make sense to all (well, almost all :P )

2) Revamp the Java sylabus

Sun's objective in Java education is to ram a dead horse down the programmers throat... and that dead horse is called "applet programming". Ask any university student who has studied Java and they will equate Java to ugly applets.

Gosh! stop it already!. Applet is dead, get over it Sun... wait a minute, they did. That is why they introduce JavaFX. So, what is with this rubbing of people's face with applet anyway? because
people are lazy ... especially to update sylabus.

We need to revamp the sylabus. Sun will not do it for us. MDeC has to do it (On a side note, I'm more than willing to volunteer my time to revamp the Java sylabus).

In my opinion, to teach basic Java and OOP, Java ME should be a better platform. First off, I can just imagine how students feel if the "Pong" game they created can run on their own phones. It's
something to show off about, it's cool, it's something to twitt about...

Game is a perfect environment to teach OOP. Objects become natural (in form of sprite and what not).

Next, come basic networking. Heck, ask them to create a twitter client. That'll be cool too eh?. Next come bluetooth, GPS and what not. Mesh that up with Google Map and voila, Java becomes cool again!

Another point about revamping the sylabus is this: stop "protecting" the students. I know lecturers who say "We can't teach them JavaEE. It's just too complex, the students will become demotivated"... puhleeezzz.

The truth is, JavaEE is intimidating to the lecturers, not the students. JavaEE (Servlet 3, JSF 2, EJB 3.1, basic security, messaging... heck, even SOA) should be taught to final year students because if you do not know basic ORM you're practically useless as a Java programmer.

If the lecturers are inadequate in terms of experience and knowledge, we need to bring in the professionals into the universities. And thus my third point....

3) Bring in Java pros into the universities

During that meeting with MDEC, I can really feel the dire need by the companies to get good Java programmers. Now, if these companies are willing to travel in Indonesia to train people there, I'm sure they are more than willing to contribute to our local universities.

Sure, these Java pros might not have a PhD and, I guess, according to univerisities, they are somehow "muggles" and "has no right to take a podium at our distinguished ivory towers".

Here's what I have to say to that: Bulls**t!

Knowledge is knowledge. If it comes not from a research work but rather from the grudge of waking up at 3 in the morning debugging a JBOSS classloader, it is still knowledge worth propagating, worth teaching. And thus these Java pros need to be integrated into universities despite their lack of a PhDs.

4) MDeC needs to work closely with the universities

... on how to teach Java. Work closely with the council of Dean of IT faculties. Get them to commit on Java BIG TIME!. Bring Neal Gafter and Josh Bloch here to teach our lecturers on the intricacies of Java. Have an unconference where any lecturer can propose his approach to teach Java. (Heck, Microsoft did it for Windows, now MDeC has to do it for Java... remember the 50.6% )


It is not too late to act if we act now... I mean like now, this very second. To my friends in MDeC, please push for this. Not for Sun, IBM or Oracle but the sake of the nation.

9 comments:

sweemeng said...
This comment has been removed by the author.
sweemeng said...

a little comment here. MDEC do have a training program for final year student, at least in UM. Which include a SCJP course.

at least at UM, java is where people learn basic OOP. For the newer batch anyway.

Otherwise I think, you are mostly right.

BTW, increase the time needed to teach programming already, add semester or what ever(could be just apply to where I am study anyway)

p.s there is no edit comment button(silly me)

Azrul said...

Thanks for your comment. The problem with SCJP is just that: it is design to sell more Sun products/training, not to solve our current needs. Ask an SCJP what's a servlet and you will get this wild stare. That is why I'm suggesting for MDeC to take over Java education (with the help of local Java professionals) and don't let Sun ruin the nation for us. (We are soo much capable of doing that all on our own, thank you)

marvinlee said...

The truth is, JavaEE is intimidating to the lecturers, not the students.

Your posts surely sums everything up on Java in the country.

From a full-time employed Java developer experience, I see a few only with real JavaEE knowledge and experience.
How many projects are there really using J2EE?
Students with some Java knowledge would still need to take the extra mile to be proficient in Java. They can do the job by jumping into programming but the framework and architecture might have already existed in a company and the "Java programmers" are actually doing a copy-paste-edit job without the need to know entirely how their program runs.

We need all parties, MDEC, Sun Malaysia, and others to help raise the standard of Java in Malaysia.

Jessica said...

Interesting piece of blog post! Perhaps, MDEC can share the *statistic* with the nation ;=)

red1 said...

Please propose this to Cosmopoint :) .. at least we get another base.

alienxp03 said...

MDeC also provide training prgram for final year student in UTeM.the best effort by MDeC was last May,where the INFOSYS programme was held at Hotel King,Melaka.its such a great programme,but not all student can participate.only 100students from all over the country will be selected.It just that MDeC need to create more opportunity to we,students..

Encik Wan said...

Anyone interested in an open source boot camp? In the boot camp, we use an open source project to teach industry best practices.

kimberly said...

When I bought my computer and I didn´t know how to use java graphics, so I decided looking for information in a webside and I found an useful information that helped me a lot.. Now I am interested in to do the best investment and I found a webside very useful and interesting called costa rica investment opportunities , I think it´s a very wonderful site.