It might sound trite, but the importance of communication in the success of a software project cannot be overemphasised. If given the choice between over communicating and under communicating, I'll choose going overboard every time.
There are many tools and processes to help communication levels remain high, both within the project team and with clients. This post I will talk about three of the most important:
Before I was thrown into the Ruby and Rails Community through my work at reInteractive, I had no previous development experience. So, you may be thinking, who am I to tell you that you should choose to learn Ruby, and how can I give you technical advice on picking one programming language over another another? I’ll tell you:
In most cases, you really could pick any language and build something you want with it. So, again why choose to learn Ruby? Not all programming languages were created equally, so while the chances are that you can build your application with any of them, each was created with a different purpose. The sole purpose for the creation of Ruby was for developer happiness, to create a language where people love doing what they do, writing code!
Since I started working at reInteractive earlier this year, I’ve gone from having absolutely no development experience at all, to now having a pretty good understanding of how it all works. I’ve got a long way to go before I can call myself a developer, but being surrounded by Rails devs and running events to get new developers started has helped me understand a lot! I’ve realised that learning to code can be difficult, but there are certain habits we can pick up to help us along our journey.
So, have you started learning Rails too? Let me guess, you either breezed through the first lesson, and then either skipped the next lot because these weren't “things that you needed to know” or you hit a steep learning curve and called it quits. Did you really do enough?
Recently we talked about how important communication is in the life of a project. In software engineering, a big part of the communication is delivered through documentation. And on the field, nothing beats a good README.
I'm extremely proud to announce that reInteractive made it to number 83 of Deloitte's Tech Fast 500 Asia Pacific with a 3 year growth rate of 392.11% Deloitte publish the following on how they determine the winners:
The Deloitte Technology Fast 500 Asia Pacific 2013 winners consist of the 500 public and private technology, media and telecommunications companies headquartered in Asia Pacific, that have achieved the highest rates of revenue growth over the past three years. In order to be eligible for Technology Fast 500 recognition, companies must have base-year operating revenue of at least USD50,000.
Today the Rails core team announced 5 security alerts.
Here is a full list with versions affected so you know if your app needs updating.
We created Development Hub to give those that are newer to Rails a safe environment to build on what they had learned at the InstallFest, and be surrounded by professional Developers to get any help they need. Now, six months on these ‘new developers’ have come a long way from just getting a development environment setup, to working on their own working applications.
So, what’s next for these developers?
If you depend on your Ruby on Rails application to generate more than a few of thousand dollars of revenue or service to your customers, getting a regular professional code audit done on your application is vital.
It is a truth, universally acknowledged, that as a Rails application grows it becomes more difficult to reason about side-effects. This post concerns one of the most common causes of confusion that I see within all but the most simple Rails applications: ActiveRecord callbacks.
Callbacks provide a Rails developer "hooks into the life cycle of an Active Record object". Using callbacks we could easily configure an email to be sent when a user is created:
When developing a Rails application is quite common to do it using MacOS. But at some point you will probably test that your application works well in different versions of Internet Explorer. This blog post explains a way to achieve this easily.