Monday, November 5, 2012

Dear wifey - More Than Simply Java

Dear Bunda,

Did you know when my first interaction with Java? I have interested in computer since my childhood. Although I want to be a programmer since that time although I didn't know what is programmer do exactly. What I knew, that job seems so cool. And I always like be cool or at least looks cool. :p

I just interacted to them first time in junior high school. We were practicing use wordstar for word processor (this is kind dinosaur era of Microsoft World) and lotus 123 (great grandfather of Microsoft Excel) for spreadsheet and DOS (great great ancestor of Microsoft Windows) as operating system. You supposed had same experiences as well, otherwise then Jember is really far behind Jonggol. :p In high school is my first interaction time with programming language. I was learning Pascal and learning sometime with Visual Basic.

The real programming experience happened in university. We were programming from level to high level. Low level mean we were programming chip directly using machine binary language. In high level I were learning C language. And I was falling in love with it. All building block of modern computing can be said build by C and C++. C++ is classy and more sophisticated version of C. Let say for example, most operating system like Microsoft Windows, Unix family like Linux and Mac OS, include Android and iOS are built by C. Even higher level programming language runtime like Java itself is built by C. Most video game for PC and console like Playstation, XBOX, Nintendo are also built use C and its counterpart C++. C is fast. But C is difficult and not portable. That's why for other than mission critical system like operating system, flight traffic management, or system that have to be very fast people prefer to use more portable and easy code. Let's introduce Java, one of the platform that has boomed in more than 15 years.

My interest with Java is because it portability. We can run exactly same java binary in all operating system without need to recompile. Binary is machine code that can be understood by computer. Compile is a process to translate textual human code to machine code. Even Java can run in variety of devices. Mobile devices, GPS system, etc.

It was one day in 2007 when I saw one poster in my university announcement board. Indonesia Mobile Com Creativity Contest announcement in ITS Surabaya. I started thinking what kind of project that I can prepared for such contest? What kind of system that involve mobile and communication? After few days brainstorming with myself I decided to build SMS gateway system for praying time. The system will receive SMS query, parse the text and reply the requested data. The software will be installed in my server which connected to GSM modem that can receive and read SMS. Let's see by example. When user texting "Sholat Bogor", it will be processed by system and calculate 5 praying time in particular day for Bogor location. The calculation can be done using a kind of astronomical formula involving coordinate of requested city and some other special parameter. Calculation result then will be replied again to user through SMS. Btw that time is emerging time of SMS services in Indonesia. Just after I finishing the system, SMS premium services became so booming in Indonesia.

After gathering that system requirement I sent the proposal to contest committee. After couple of weeks, the committee announced participant who is invited to final, which mean have to build the system described in proposal and present it in front of judges. Although I'd never expect to pass proposal selection, I was one out of 10 finalist that is selected. Then I have to create the system.

First thing first is I have to decide which technology that I will use. The choice are between C, Visual Basic or Java. C is too complicated and too low level. It can be sophisticated but difficult. Visual Basic is not my style. VB is Microsoft minded and usually used by newbie not a geek programmer that just want to create windowed application in windows. I cross VB. Last option is Java. Actually that time I don't know too much about Java. I just know little bit from my basic in C. In syntax wise actually Java inherited many rule and syntax from C. But there is major paradigm shift that have to be learnt. C is procedural language. Java is object oriented. Don't get bothered with those terminology. Just imagine, Java is more conceptually difficult than C. After some consideration I decide to use Java.

It took only about 1 month to develop the system plus learn more advance Java at the same time. After the end of the month I finished the system and I went to Surabaya at the first time to present my project. I was not win anyway. The next year for the second time I was selected again for another contest. LCEN, Lomba Cipta Elektroteknik Nasional. I flew to ITS Surabaya again. And still not win. :p Btw those two project are always exist in my CV and my life milestone.

Few months later I was graduated with with thesis that is developed from baseline of my project in LCEN. RFID absent system using Java. After graduated I was still not sure what kind of job that I will live for. Most of my friends became teacher like what we supposed to do in our degree. But I want something different. I want to see the world. I want to start by being a young executive. I imagine myself use funky suite, shiny pantopel shoes, cozzy hair style and have office in beautiful building in Sudirman Jakarta. Later my wish granted after joining NFS for almost 2 years. But I've never use funky suite anyway. I prefer casual use jeans and simple t shirt.

I start to achieve that wish by hunting in newspaper vacancy advertisement. I was sent about 10 application via pos. I was not aiming any particular kind of job because I also don'k know yet what I want to be. I usually just sent application to management trainee opening. Because this position is opened for fresh graduate and don't bother about our major background. I have invited sometime for interview. One of notable interview is when I went to Sampoerna office in Cikarang. I get the reference from university for position a kind of auditor for their new machines for cigarette. I was interviewed by a young chinese guy in Jababeka area. After about 45 minutes of interview I went home. I've never called back anyway.

I also had attended some other interview and test. I had attend chevron selection in UI. But never had any progress as well. Other important experiences is when I called for test in Mitrais, one of software developer house that have workshop in Bali. The position is Java Developer. Because I have some experiences in Java coding, I pass the selection gracefully. Written test and oral test. It was my first job offer. But that time I didn't take it because I want to have Sudirman job and I don't want to go to Bali.

From this Mitrais experience I start to know where I supposed to head. Software development. I start to exploring internet job board. I have known about jobsdb since I was in university, but just that time I started. And I was wondered, there are so much IT job at that time. There so many Java developer job as well. I also can save my money without need to send application via pos. But just via email. I sent some and got some interviews also. Finally I took one of job offer from PT Sistema Indonesia, which I spent time to work there form more than 18 months. My first job, my first java job. At least from that time I know where I want to go next. I was starting to imagine about abroad. But just in imagination, without ever expecting one day I will write this email for my wife, from abroad, because of Java.

Before closing have I told you, one day I applied position for management trainee. But later invited to training for forex broker. :p

Wow, I have written quite many. More talking than simply Java. I think this email supposed to pay all my email debt right? Hehe. I love you for all my life.

PS: I love you

No comments:

Post a Comment