RubyConf: Open Classes, Open Companies
Nathaniel Talbott, fearless leader at Terralien, drew some comparisons between Ruby’s characteristics and the way you should go about starting and managing a software development outfit. According to Nathaniel, you are saying something when choosing Ruby as your programming language. I have heard other business folks make this same comment, as to say that you are a better developer if you pick a programming language not because its the current trend in job postings but because of your passion for the language. This same statement can be made of Python programmers. Nathaniel also stated that “rails has been a great catalyst” for designers/programmers to start their own company.
Here are Ruby’s characteristics and how they should match to your business ethos:
Ruby’s succinct expressions are one of its characteristics. According to Nathaniel, succinct is power. Succinct allows you to do more with less and as a small independent company you should strive to be succinct in your code, contracts, process, and mind set.
Reflection was another language characteristic in Ruby which to learn from. Programmers should constantly reflect and introspect on their role and process. A question to ask yourself is, how does your company/business reward or panelize reflection? Relating to reflection, Nathaniel suggests that people should not box themselves in their position or title.
The final characteristic that businesses should ideally learn from Ruby is its open class feature. In Ruby a class is never closed, any Ruby code can reopen a class implementation at any time, in any file. It is Nathaniel’s belief that software entities should try to trade security with trust, close door politics with open communication. The speaker reminded the audience that legal agreements and contracts don’t build trust. Nathaniel asked that business people ask themselves what is the default for information? Deny or allow?
A final piece of advice that I took away from this session was to put off decisions as long as possible, but not forever. In essence, don’t make a final decision prematurely because it will cost you just the same as if you had made the decision too late.