Monday, August 4, 2008

How I became a web developer (2)

My cover letter to Spiragram

Nguyen Tien Dung


Before came to Singapore. I planned to be a PhD student, then a researcher. I had experience in Speech / Text / Language processing. My brother is a PhD, most of my roommates are PhD students too. You can say that I lived in an academic environment.

I will not change my mind if Web apps didn’t come into my life. I liked Gmail at the first glance. It’s so cool, simple and easy to use (mails are sorted in threads according to their titles...) I moved from Yahoo mail to Gmail immediately. Then came Writely, Meebo, Google Reader, … I didn’t need Yahoo Messenger, MS Word … anymore. My browser becomes an operating system, and there are a lot of cool apps out there in the WWW. I heard about Web 2.0. “Web 1.0 was about commercial, Web 2.0 is about PEOPLE” I liked this quote the most. Then Web 2.0 technologies and frameworks: AJAX, Ruby on Rails …

Is it hard to create a Web app? Spent time to study HTML, CSS, JavaScript and Rails and I known that it is not hard, technically. It was about the March 2007, my last semester at NUS, I was studying master of computing there. Why don’t create some web apps to master the techniques and create my own business (like many web 2.0 startups I’ve read) that server PEOPLE in a better way? I have an idea that utilizes my research experience. I will combine language technologies and web 2.0 technologies to create web apps for Vietnamese people. These apps will help people deal with Vietnamese language problems (like Chinese, Vietnamese has problems with input method, encoding, searching ... ), help them understanding English better... They will be the bridge between Vietnamese and English that is absolutely necessary for Vietnamese to join and survive in a “flat world”.

After finished the last examination, I and two friends created a TEAM to make our dream become true. We had a hard time to start because two other guys have day-time jobs and only free at weekends. Our first priority is TEAM building. We believe that when we can work together in harmony and master Web development techniques, we can do whatever we want. Since May 2007, we come to NUS lab every Saturday to work together, each of us become the team leader in a month. We’ve finish the release in July, it’s an English-Vietnamese Dictionary Web App with some cool features: auto suggestion, spelling checking, dynamic content (AJAX v.s static HTML). Dictionary is very first and important weapon to attack language problems.

Here is what I’ve done with Rails and JavaScript that you may be interested.

· Create a Rails toolbox for myself called “Minimal Win32 Rails Development Environment”. It’s a combination of Ruby, Rails, Mongrel, SQLite, GNUWin32 tools, SVN, e-TextEditor (TextMate for Windows) that can be compressed to less than 10MB so I can send it via email.

· Trained myself about JavaScript Programming by reading some best books and videos (of John Resig and Douglas Crockford). Used and like jQuery very much.

· Choonkeat sent an email that he needed a web developer for sharedcopy project. I hacked JavaScript code (the only part I can access) and proved that I can improve his code base.

· Joint sharedcopy project, did JavaScript programming for more than a month (refactor source code, improving highlighting function, replace Mootools by jQuery, rewrite draggable and resizable functions )

· Meanwhile, developing Dictionary Web App with two friends. Involved in database design, information architecture, server side coding (Rails), for client-side, I did get text under the mouse function and now I’m developing a new Vietnamese input method function because I want to add spelling checking in current open source ones but can’t understand their code (the code is not written for human, I guest :)

I planned to work for sharedcopy but not everything happens as you wish. Now I’m looking for a new job. Last Friday, I had an interview with Ingenico, a French company providing secure payment solutions, for a C++ developer position. I’ve used C++ for more than 3 years so I have no difficult with their tests and hand-on exercises (I had to write two small programs using Turbo C made in 1989 without an Internet connection, it was like the old days in school). After the interview, I know I’m a good candidate for this position. But immediately I had a sad feeling. I missed my Web development job at sharedcopy.

Now I know it’s great if I could continue doing Rails / JavaScript development. That’s the reason I would like to join Spiragram.

I do not have rich experiment in web development. But I have a strong background in computer science and programming. I can learn fast and always learn from best practices. I hope that my CS background, enthusiasm and fresh mind will be my strength as someone said “In times of rapid change, experience could be your worst enemy”.

Thank you very much for reading!

Tien Dung

No comments: