You are currently browsing the monthly archive for February 2011.

Vithun Kumar Gajendra is a recent Masters Graduate. In this short post Vithun recounts how software went from being a skill to a passion. It is well worth a read to discover how all of a sudden things started to click and how that has already started to make a difference in his work.

Barry Cranford

My name is Vithun Kumar Gajendra. I am originally from India, and completed a Master’s course in UK under a student visa. Before coming to UK, I worked as a Software Engineer for about 15 months, and I was very much in the thick of action. This work experience would also go on to help me to understand the stuff I studied in the Master’s course even better. My experience here was like a typical recent graduate who enjoyed doing quick programming tasks at college level. I used to solve problems very quickly (I used to be the quickest in my batch at office!), and would go on accomplishing a lot of things within these 15 months. I worked on problems and mini-projects in fields ranging across Shell scripts, CSS, JSP, Servlets, Oracle PL-SQL, SOAP Web Services, a bit of Spring etc. I had a good time working as part of a team making use of tools like CVS, Bugzilla etc. I also got introduced to how tools like Eclipse, Maven, Ant, Hudson etc. were being used in a development environment (I had no idea about the existence of some of these tools before!). In short, this was a period where I was a really good jack of all trades, but unfortunately the master of none. I now look back at that time, and feel that my speed was actually a curse. I did not have the patience to stop and look in detail at some of the things I had done and understand them in depth. I just thought I could do anything and did not worry about how I did it.

I then came over to the UK to do my Master’s course. I did an MSc in Advanced Web Engineering in the University of Essex. It was here that I had my first “eureka” moment. I had this module called “Software Design and Architecture”. In this module, I was formally introduced to the concept of “coupling” in software engineering. And I suddenly realised that I had never thought about writing code in a clean way before. All that I focussed on before was to write code that would get the job done. Now I suddenly realised that there was a good (“artistic” if you might) way to write code. I suddenly realised what a fool I had been! And all of a sudden, I began realising the role of concepts like refactoring and design patterns. (I had been part of a “refactoring” team in my previous work experience without having this knowledge). And now, I turned wise. I realised there is always much more to learn (and apply).

Once I completed my Master’s, I had to wait a few months. I could not find a job as I was still under student visa. And I wouldn’t get my work visa until I got my degree results. So it was in this period that I decided to have a look at Spring. You might ask: Why Spring? I had been introduced to Spring at Mformation. I was required to rewrite existing DAOs using Spring templates and thereby eliminate boilerplate code. I just followed the instructions of my team lead: “Rewrite the code using Spring methods. Declare something in some XMLs and it would work.” It did work, and I did not care at that time how it worked. For some reason, after my Master’s, I thought I’ll have a look at how this worked. And then another eureka moment struck me. Spring was not something that just helped in simplifying DAOs. It was LOTS more than that. I began studying it in detail from the basics(Dependency Injection, Aspect Oriented Programming). The more I read about it, the more I started getting excited.

By this time, I got an internship offer. They required someone with HTML and MySQL skills, and although I wanted to work with Java, I tried to keep myself occupied until I got my work visa. But my interview here went rather well, which in turn made them think about my position as being somewhat permanent and not just an intern. However I joined on a temporary contract (as I still had just a student visa). I was given an in-house problem (of reasonable complexity) to solve. I came up with a concept, which I thought would work. I wrote a proposal, and my manager suggested me to implement it using PHP. I requested him if I could do it in Java, and after a bit of reluctance (because PHP was used mainly for development within the company) he agreed. I now got the platform to use my Spring knowledge (gained mainly by reading and doing small examples). I developed a proof-of-concept within 7 days. Through this course, I made use of Spring, Hibernate, Maven and Eclipse. I created a well-structured and organized code-base. My manager was impressed with the solution and the speed at which I implemented it. He considered it an “elegant” solution to the problem. And this time I was satisfied that my speed had not come at the cost of learning. I understood more about Spring and my interest in Spring has increased even more. I informed the management that I did not intend to take up a permanent position (because they were looking for someone who would do more with PHP, and I did not want to give up Java and Spring, and I also wanted to relocate to London). So towards the end of my tenure, I had to explain the application I had created to a colleague who had a good understanding of Java, but no knowledge of Spring/Hibernate. Within the next couple of days, I managed to impress her with what all Spring had to offer. She was also able to easily pick up the code I had written (and the best practices I had followed). She also decided to use my proof-of-concept as the base and extend it to completely satisfy the requirements. I left the place with a very good feeling and a sense of accomplishment, and with good relationships forged.

Vithun Kumar Gajendra

Advertisements

On Tuesday 22nd February 2011 Packt Publishing is releasing four brand new IBM books on a range of different subject matters:

This follows the success of Packt’s 2010 IBM range, which includes bestselling titles the IBM Lotus Notes 8.5 User Guide and IBM Cognos 8 Report Studio Cookbook.  James Lumsden, the Packt Enterprise publisher, states “IBM books represent a vitally important and significant part of Packt’s publishing strategy.   2010 was a good year, whilst 2011 and beyond will see more books across more technologies being published.  IBM Tuesday represents just the beginning.”

IBM Tuesday also emphasises Packt’s commitment to providing top quality books for a range of IBM software users.

To mark this special occasion Packt is offering a 20% discount off all Packt IBM books throughout February.  There is also a chance to win a PacktLib subscription, worth $220, every Tuesday in February with the IBM Tuesday Competition.

For further information on this, and other books published by Packt Publishing, please visit www.PacktPub.com

Packt Publishing are a unique publishing company specializing in highly focused books on specific technologies and solutions – please visit their site to find out more about them: http://www.packtpub.com/

Each month we run a promotion with Packt in which GDC members will be selected at random to receive free books. This month we are offering 2 LJC members the chance to win;

First Prize Winner will receive 1 print copy of his/her choice
Runner Up Winner – 1 ecopy of his/her choice

Here are the books on offer this month, the winner will be picked at random and announced at the end of the month:

Microsoft Dynamics AX 2009 Administration
Moodle 1.9 Testing and Assessment 
Microsoft Dynamics Sure Step 2010   
Moodle as a Curriculum and Information Management System  
Moodle 1.9 Top Extensions Cookbook
Mastering phpMyAdmin 3.3.x for Effective MySQL Management      

To take part in the promotion all you have to do is send an email to me at b.cranford@clearview-itrs.co.uk with your name, your book choice and the address you would like your book to be sent. Please mark ‘GDC Packt Publishing’ as the subject title.

Please visit the Packt site at www.packtpub.com

Congratulations to the winners of our our January draw – Chris and Mashhood!

Good luck,

Barry Cranford

What is the GDC?

The GDC, or Graduate Development Community is an independent community of undergraduate software developers. Our goal is to bridge the gap between the worlds of Academia and Business. We organise and host presentations and events with senior members of the development community as well as offering advice, guidance, internships and jobs through our community site.