November 22, 2012 by swri2
With the core group now located and working closely together in Northgate Street, we’re keen to start getting others involved in the strategy implementation. Over the coming months we are looking to expand our usage of Ruby on Rails beyond the core group, and a training plan is being drawn up to enable our developers to become comfortable developing in Rails and contribute to the work ahead.
Formal training has already begun, as ten of our developers recently attended a five day Ruby on Rails course. Although there were no course prerequisites, those who had already started getting their hands dirty with Rails were a lot more comfortable with the course contents than those who hadn’t. Developing in Rails is a bit of a culture shock, especially for those coming from the Microsoft world. Lesson learned for next time – a bit of grounding in key areas before the course would certainly help!
Five days is never going to be enough to cover everything, and so it proved as much of the course focused on Ruby and Object-oriented programming. Knowledge of Ruby (and indeed OOP) is a key requirement for Rails development, but having had only a brief look at what Rails can offer, it is clear there is still a lot to learn.
Discussions that followed the course indicated there are areas we need to work on to ensure our developers can adapt to Rails development. Some were using a Linux environment for the first time and would have benefited from an overview before the course, especially as a lot of Rails work is done using the command line. Due to time constraints we were unable to cover many aspects of Rails in depth – unit testing, data modelling and database management were all mentioned as areas we could do with more understanding in, amongst others. There was a lot of useful information on the course but it sometimes lacked context, and wasn’t always clear when or why we would want to do what was being demonstrated to us.
The aim then is to build upon this knowledge, provide context and assist our developers in building tiered web applications from the ground up.
We will shortly be launching our development community area on Google, which we hope will prove an important resource for our developers and will assist those developing Rails applications, especially those who are new to Rails. We are producing documentation as we go along covering all aspects of application development from the ground up, so developers will have enough information to get started in building their own applications. As our knowledge grows we will continue to update our documentation for the community, while making sure we monitor our code to ensure we are following best practice. It is especially important we document proper usage of ActiveResource (our gem for communicating between multiple Rails applications), as there is a lack of documentation available for writing tiered applications in Rails and this is fundamental to building applications that will adhere to our architecture.
Over time, as the API is developed and our developers become comfortable working in this environment, we hope that future application development will be accelerated as web services will be available and code reuse will be encouraged, with common code available to adapt and reuse as required. We also expect that individuals will naturally gravitate towards specific areas of application development, so multiple developers can work on one application and utilise their skills in the right areas. It might take a bit of time to embrace this new way of working, but we once the initial hard work has been put in we will start to see the benefits of this approach for both our customers and our developers.