Proof of concept
I've recently changed my job.
I feel there's the opportunity to use some cool new technology like Grails or even better Clojure (personal taste here). I had spoken about this with my new boss and he is interested.
The main idea is to prove is that one can produce software faster with one of these without losing any of the qualities good software must have.
The idea of Twitter as an example for the proof hit the both of us.
Write a clone of Twitter in both the technologies, with the tools available out there, to obtain what you think you will use in a production environment.
Given that I know Grails more than Clojure (sad thing is I don't know Grails *that* well lol) this is how I will proceed:
- domain classes schema, this will be the general idea of how the application will look like, from a certain point of view
- look at the video above
- correct the stupid logic mistakes I've done
- I should now have a good starting point
- code in Grails
- code in Clojure
- gather informations on both projects
The last will be the most difficult part. For sure.
The coding of both projects will be timed with the pomodoro technique, since time will of course be one of the factors to count. I'll just write down a list of important things to take care of, in random order, I have time to figure this out... I think I'll use Sonar and something like that to put my technical debt under control, as they say.
I think this is a great opportunity, whichever way this thing will go at the end:
- if this goes well I'll end up writing software in Clojure, which is something I will surely get benefits from. I could say the same thing for Grails, but I feel more intrigued by Lisp dialects
- if this goes bad... well, I'll have learned a lot of new things and I can always retry in a year or so :P
Btw, here's what I've got so far (it's embarassing but who cares :)