The Story So Far …
Wow, it’s been more than a year since my last post. I intended to keep on writing after going back home to Indonesia. A combination of laziness and having no broadband connection has managed to prevent me from doing so (which is the bigger factor bty
). Anyway, now I have a mobile broadband connection and thus, I’m determined to continue on writing. Most my posts have been about a bunch of random stuffs happening in my life. I’d like to start writing about technology and programming. I am after all a computer science graduate.
So first thing, where have you been dude? Here, so much and so little things have happened. Got home just before or during ramadhan last year. After 5 years of living in the UK, I finally did fast again back home. It’s quite different as the fasting period is constant over here. The sun rises and sets about the same time everyday which differs a lot from a four seasons country like the UK. I celebrated eid at my home town in Bandung with my extended families something that didn’t happen for a long time.
I start looking for a job after eid as I originally intended. The biggest hurdle for me was passing the psychometric tests. They were rock hard unlike the tests in the UK which usually were limited to verbal and mathematical reasoning. In here, the tests take a day to complete and I don’t get most of them. WTF is the point in drawing things? Hello, I have long realised that I don’t get art. Thanks to all the psychologists that designed the tests
In the UK, the biggest hurdle was passing the initial application form and if we’re lucky the assessment center. The assessment center is the final and toughest test to be passed. In my opinion it is the fairer way to assess a candidate as he’s assessed on a variety of conditions. Anyway, assessment center is expensive and I realised that most companies here don’t have the resources to do that.
I was close to getting two jobs that I badly wanted; a job in banking as a management trainee and a job as an IT auditor. But, I failed at the final hurdle for both jobs; an assessment center and the final interview
To be fair I didn’t even know how I pass the latter psychometric tests as I didn’t have a clue on most of the questions on accounting. They asked the Indonesian version of Generally Accepted Accounting Principle (GAAP). How the hell am I supposed to know that? One thing for sure, the assessment center was great. It was held at a five-star hotel for a start and the lunch buffet was superb.
Finally I get a job as a software engineer at a national courier company in February. Started the job in March and have been doing so ever since. I took the job because the company is looking to develop an Enterprise Resource System that will replace their current system. The project is hugely challenging and I believe I will learn a lot from it. I ended up with a purely technical job. After university, I planned two career paths: start with a purely technical job or start with a half technical and half business job. Both converged on the same path though as I don’t want to stay pure techie for a long time. Doing different things interest me. Let’s see how it ends up.
Upon starting the job, most of the analysis and design has been finished. Ended up with the human resource part of the system. It was interesting as I got to know the inside out of HR. The payroll sub-system was challenging as we wanted to make it really flexible. Over time I learnt the whole of the system and it’s fascinating how they interact with and complement each other.
It’s the end of the year and the analysis and the design part has now been completed. The fun part which is the implementation / development part will start from the beginning of next year. It will be a web-based system which will be implemented using Java as the programming language. The problem is, there are so many Java web frameworks out there and choosing the right one is tough. The only web framework that I had serious experienced with was Ruby on Rails. Ruby on Rails is a simple, elegant and yet powerful framework. It doesn’t get in the developers’ way and it gets job done.
Naturally, I began searching for the web framework that provides similar productivity gains as Ruby on Rails. In the end, I managed to shrunk the list to two frameworks: Stripes for action oriented framework and Wicket for component based framework. I really have soft spots for those two.
Stripes is a really clean and simple framework that gets the jobs done. I seriously doubt anyone will have any trouble in understanding Stripes. Too bad it’s not as widely supported as the other big boys. Hopefully it’ll change with the recent release of a book on Stripes.
Wicket is a component based framework like Java Server Faces and Tapestry. It’s a bit weird to get your head around at first, but once you get their model concept then the rest will come to pieces. Also, it’s very Java centric as all the logic is placed on the Java code with HTML ONLY responsible for presenting the view. It’s a departure from the norm where in other frameworks the view usually has some logic for presenting data. We might end up with a bit more code to write, but we’ll be more productive in the long run as all the logic is placed in one place. It will be a hell lot easier to debug the program and we’ll be able to fully utilise the power of our IDE for example in refactoring stuffs.
The thing that I like the most about Wicket is its Ajax support. We don’t have to write any Java script at all. Everything is done in Java. Ajax in Wicket is conceptually clean and simple.
In the end, it seems that the project will be done using Spring MVC because it’s the framework preferred by our partner which does half of the project by the way. I think Spring MVC is a decent framework but it’s way too bare. It doesn’t provide support for things we take for granted in modern web framework like Redirection After Post pattern and even Ajax. We’ll sit again some time to finalise the things we’ll use and hopefully, I can persuade them to change the web framework
It’s late and I have rant quite a lot. So I guess it will be it for now.