I joined Quovantis about 6 months back as a Java developer. Yeah! That’s what I keep reminding myself time and again cause it has started to seem that it might not be difficult to forget this since the advent of my new found fascination – Ruby on Rails!
But on the contrary, I have a lot of respect for Java. No kidding , if you have mastered the language then for me without doubt you are the master of the technical universe. I learned Java for three years for my first organization, and it’s not like I couldn’t get anything of it but what I really did get was just a tiny portion of the big giant JAVA.
Things that I call my java experience are first of all, starting with Herbert Schildt and Kathy Sierra. Later I also indulged myself in Khalid Mughal. I have been recommended Bruce Eckel and I still have to read it. Reading all this really helped me understand the intricacies of a language, the structure and the fundamentals. No doubt I owe a great deal to these books and the language Java. Second, after having laid the foundation or when I was still working on that, was understanding why I needed jars and build.xml :). Third, why to choose the correct Java version to make it compatible to the Oracle DB version. What is even the difference between well Java 5, 6 and 7. Fourth, what the hell is Struts !!! Do not judge me but I still don’t know. I had to fight my brain to memorize all the configuration files and the flow order that went in that framework. Five, what is reusable code and integrating files from all around the team. Locating that one missing jar to remove that one error in the entire project and to be stuck till it got resolved :/ and last what is testing and testing with Junits.
The experience was not bad at all but it wasn’t satisfying either. I don’t remember thinking that I could build an application on my own however tiny and dysfunctional it might be. I was always uncomfortable by the tonnes of configuration files and heavy setting that needed to go before you can really even start. I would have definitely continued in Java as it was the only option for me at least till then and I eventually had started to get somewhere but well then something happened … was it love.. uhhh No !!
It was kinda understood that I had to invest time in learning more of either Java or a new language – Ruby! You know how situations make you take decisions and this was one of it. My first project in this company was not in Java but in RoR and am I happy about it .. Very!
So, why am I happy about working in RoR and leaving all the Java behind at least for now though writing from my heart I don’t want to leave it ! Call me an emotional fool or whatever.
First, learning ruby was easy in comparison to Java.. undoubtedly! There are standards but even more flexibilities. Cause everything, literally everything is an object. You can write so much logic in a single line ! Second, I moved on to Rails and again all it demands from you is to remain focused on the Logic, Model structure and functionality. True to its words “Convention over Configuration” and it helped a lot because it is so easy to figure out files and their role and the structure of the application. All it took me was to install Ruby and Rails on my Ubuntu system which is again simple to follow and execute and then to write this line
“rails new myfirst_onmyown_app”
From the start, all I had to think about were the models for the app and then slowly the app got its shape. Not even once had I really worried about configuration. Rails handles it all so well.
And the most important thing about rails .. Gems !! These are small pre-developed app features e.g. Sign In and Sign Up provision or upload a file/image, importing contacts from mail accounts. These are just a few from a big pool of gems. Just include them in your gemfile and you have them and they really save a lot of time 😉
From a personal point of view, and not technical, Rails made me confident and capable of developing apps on my own. It made me think like a developer, to remain focused on the idea and not technology.
Rails again is a big world and I am absolutely not underestimating it. I am a novice but my apprehensions have been removed and I now am a software developer with a new perspective. Good Luck !
Just to enjoy .. go through the following video 🙂