Forum: Ruby Using Ruby in a Corporate Environment

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Steve M. (Guest)
on 2007-04-27 02:00
(Received via mailing list)
---------- Forwarded message ----------
From: Curt H. <removed_email_address@domain.invalid>
Date: Apr 26, 2007 12:41 PM
Subject: Re: [stlruby] St. Louis Companies Using Ruby
To: removed_email_address@domain.invalid
Cc: "St. Louis Ruby U. Group" <removed_email_address@domain.invalid>
Curt,

Thanks for some really helpful pointers.  Love the Spolsky essay.  I'm
sending it to my boss and our project managers.

The two hurdles to using Ruby more at my company are convincing my
boss, and convincing the developers.  My boss is worried about the
usual stuff:  staffing, training, scalability, etc.   You've helped me
with the staffing and training issues, and we can do some benchmarking
to test scalability.  (Rails should scale just fine for our needs.)

Surprisingly, while most of the developers are either excited or at
least open to the idea, there are one or two developers who are
definitely opposed to Ruby.  (OK, one to be precise:  but there could
be others who haven't spoken out.)  The objections are that Ruby is
not used or accepted enough in the corporate world, and that learning
Ruby won't help them make more money or more marketable (in the St.
Louis corporate world).  If corporations start explicitly looking for
Ruby developers they'll learn it, but not until then.

I'm not quite sure how to answer this one.  While I do think that
something is going to succeed Java, I can't predict the future.  I
can't truthfully say with assurance that Ruby will be the next big
thing in the corporate world.  It *might* be, but it might not.
Personally I'm not concerned about what the next big thing might be; I
want a language that makes me and my fellow developers happy and more
productive.  That's good for us and good for the business, I figure.
I have trouble understanding the narrow, strictly mercenary and
corporate focused point of view.  Any ideas on convincing these folks?

Thanks again.

Steve M.



On 4/25/07, Steve M. <removed_email_address@domain.invalid> wrote:
>
> My company is thinking of moving to Ruby, and Ruby on Rails, in a fairly big way -- 
maybe to the point of making it the preferred language and framework for new applications. 
We've been dabbling with Ruby and Rails in one decent sized app and a few tiny apps.   My 
boss is concerned about the issues in transitioning a mostly Java shop to Ruby -- 
training, integrating with the existing Java apps, etc.  He would feel a lot better if he 
could talk to folks from another St. Louis company who have made that transition.   Does 
anyone work in a corporate environment that uses Ruby extensively, or know someone who 
does?  And if so, can we talk to you?
>
> Thanks!
>
> Steve M.

First, let me just briefly mention that we are moving mailing list to
Google G. (which I cc'd on this response). So, if you could join
our Google group and direct future messages there, it would be a big
help.

I can't answer your primary question directly (other STL-RUG members
may have more direct information for you). But I can give you some
information.

Training is available both locally and nationally. The Pragmatic
Programmer's Rails Studio (Dave T. and Mike C.) is probably the
premier nationally given Rails training. Locally, Object Computing Inc
teaches both Ruby and Rails classes through Washington University's
CAIT program (our monthly meetings are held at OCI's offices). And two
of our members, Jeff B. and Mike Sullivan, have formed a
training company (Inspired Horizons) that specializes in Rails
training.

If you need to integrate Ruby with existing Java apps, then you
probably want to look closely at JRuby (http://www.headius.com/
jrubywiki/index.php/Main_Page ).

Finally, don't be intimidated by a lack of seasoned Ruby/Rails
programmers, just concentrate on hiring good programmers (they know
how to pick up new languages and technologies quickly). Joel Spolsky
put it very well in his essay "Sorting Resumes" (the whole thing is
worth reading):


http://www.joelonsoftware.com/articles/SortingResumes.html
If I needed to hire someone to do Ruby development, someone with
extensive Smalltalk and Python experience who had never even heard of
Ruby would be a lot more likely to be successful than someone who read
a book about Ruby once. For someone who is basically a good software
developer, learning another programming language is just not going to
be a big deal. In two weeks they'll be pretty productive.

I hope that helps... good luck and keep us posted on your progress!

Curt
Philip H. (Guest)
on 2007-04-27 02:27
(Received via mailing list)
> something is going to succeed Java, I can't predict the future.  I
> can't truthfully say with assurance that Ruby will be the next big
> thing in the corporate world.  It *might* be, but it might not.
> Personally I'm not concerned about what the next big thing might be; I
> want a language that makes me and my fellow developers happy and more
> productive.  That's good for us and good for the business, I figure.
> I have trouble understanding the narrow, strictly mercenary and
> corporate focused point of view.  Any ideas on convincing these folks?

I can't see how learning a language even if it's not one actively being
recruited for is a bad thing... I'd much rather hire someone who had
used
many languages than just the currently hyped one.

Seems the more languages you know the easier it is to learn others
quickly as well

<sarcasm hidden_meaning=+1>
As for their wish to learn it only once corporations want it, that's
fine
with me, because when that time comes I'll not only have years of
experience with Ruby, but I'll also have projects that have been *in the
field* for years as well to back up my resume.
</sarcasm>

my 2 cents, -philip
Greg D. (Guest)
on 2007-04-27 02:54
(Received via mailing list)
On 4/26/07, Philip H. <removed_email_address@domain.invalid> wrote:
> Seems the more languages you know the easier it is to learn others
> quickly as well

I agree.  But it's also much easier to get confused.  Today I couldn't
figure out why in the world my calls to trim() would not work in
Python.  After a while I finally realized I meant to use strip() not
trim().  I guess working in Python by day and PHP at night is messing
with my head a bit.

> As for their wish to learn it only once corporations want it, that's fine
> with me, because when that time comes I'll not only have years of
> experience with Ruby, but I'll also have projects that have been *in the
> field* for years as well to back up my resume.

w0rd.
Philip H. (Guest)
on 2007-04-27 03:02
(Received via mailing list)
> On 4/26/07, Philip H. <removed_email_address@domain.invalid> wrote:
>> Seems the more languages you know the easier it is to learn others
>> quickly as well
>
> I agree.  But it's also much easier to get confused.  Today I couldn't
> figure out why in the world my calls to trim() would not work in
> Python.  After a while I finally realized I meant to use strip() not
> trim().  I guess working in Python by day and PHP at night is messing
> with my head a bit.

True, but that's the same with switching anything... I usually drive an
automatic truck... but one day took my wife's stick sedan... I did fine,
but I had to remember a couple of times that there was a clutch :)

And the bottom line is that if I hired you do to PHP full time you'd be
de-confused in a day or two.  How long would it take if you'd never even
seen PHP till start day?

Personally though I think there's something about PHP that is
confusing...
I tend to leave off semicolons these days and wonder why exactly it's
complaining about a syntax error :)

-philip
Justin B. (Guest)
on 2007-04-27 03:07
(Received via mailing list)
On 4/26/07, Steve M. <removed_email_address@domain.invalid> wrote:
>
> be others who haven't spoken out.)  The objections are that Ruby is
> not used or accepted enough in the corporate world, and that learning
> Ruby won't help them make more money or more marketable (in the St.
> Louis corporate world).  If corporations start explicitly looking for
> Ruby developers they'll learn it, but not until then.
>
> I'm not quite sure how to answer this one.


Sounds like pure fear or at least laziness to me, but you still have to
deal
with it. I'd say put these guys forward as those who can "maintain and
improve existing applications". I'm sure that, regardless of your
business,
there are existing applications that need to stay alive, get the
occasional
bugfix, and even have custom code applied (maybe). Hopefully, your
manager
also cringes when he hears objections like this.

Good luck!

Justin
Phillip G. (Guest)
on 2007-04-27 09:15
(Received via mailing list)
Steve M. wrote:
> ---------- Forwarded message ----------
> From: Curt H. <removed_email_address@domain.invalid>

> not used or accepted enough in the corporate world, and that learning
> Ruby won't help them make more money or more marketable (in the St.
> Louis corporate world).  If corporations start explicitly looking for
> Ruby developers they'll learn it, but not until then.

I'm channeling Catbert, Evil Director of Human Resources here:
Start looking for developers skilled in Ruby.

> I'm not quite sure how to answer this one.  While I do think that
> something is going to succeed Java, I can't predict the future.  I
> can't truthfully say with assurance that Ruby will be the next big
> thing in the corporate world.  It *might* be, but it might not.
> Personally I'm not concerned about what the next big thing might be; I
> want a language that makes me and my fellow developers happy and more
> productive.  That's good for us and good for the business, I figure.
> I have trouble understanding the narrow, strictly mercenary and
> corporate focused point of view.  Any ideas on convincing these folks?

Again the evil approach: add it to the job description. Either they
learn it (their employer *requires* it), or they should start looking
for new jobs.

If their only reason for learning a language is "corporations look for
it", they can't be that good as programmers, as they only learn the
usage of a language, but not its philosophy. Which, methinks, is key to
becoming a Great Programmer, and not be a code monkey or mercenary..

P.S.: I am not advocating to make those programmers redundant outright,
but recommending them to maintenance tasks, as has been suggested, is a
good solution, IMHO.

--
Phillip "CynicalRyan" Gawlowski
http://cynicalryan.110mb.com/
http://clothred.rubyforge.org

Rule of Open-Source Programming #9:

Give me refactoring or give me death!
unknown (Guest)
on 2007-04-27 18:47
(Received via mailing list)
I'm also looking at Ruby/JRuby in a very large corporate setting.  Those
hurdles you are talking about are very real, and in many cases, very
legitimate, so you have to do a lot of research and come up with a
plan/strategy to get everyone from point A to point B.  A roadmap.  The
parts of managing the system once it is deployed and the all the other
non-sexy, non-programmy parts of running an enterprise is where you run
into problems, and for good reason.  There is a huge investment in time,
training, blood, sweat and tears in getting all of the enterprise
systems
working.  It takes years and years to build that kind of knowledge into
the
enterprise.  While you can learn the framework and the basics and knock
out
simple things quickly, it is that last 10% that only comes with time and
experience that is the show stopper.  It might take a whole team of very
experienced developers 2 weeks to figure out a problem that only happens
when you are using version X of Linux with version Y of Weblogic along
with
Version Z of Oracle and you changed from Version 123.1 to Version 123.2
of
the JRockit JVM.

An enterprise making that kind of move is taking on incredible risk and
therefore, you really have to nail down your roadmap to get it done.  My
own strategy so far is more of a ninja approach.

1.  Start using Ruby/JRuby to do my offline work.  I was able to produce
a
log parser on the fly to grab messages that had failed processing and
requeue them in about 15-30 minutes while the other guys were still
specing
out the solution in Java.  I did this in front of the boss and a number
of
developers who were quickly impressed.  Considering I had been learning
ruby for about 3 days, it was pretty cool =)
2.  Do a lot of "water-cooler" selling.  When you go to lunch or
standing
around talking during a break, tell people the cool things you've been
doing with it.
3.  Figure out ways to get it into the environment by leveraging the
environment and not fighting it.  If you are a Java shop, look at
applications that have extensible systems and look at adding scripting
support to those systems.  I happen to have one that fits the bill
nicely,
so I'm adding that support now.
4.  Figure out a way to get ruby/jruby to deploy using your existing
infrastructure.  In my case, how can I get JRuby/Ruby into an ear/war
file
and have it work?
5.  Don't bite off more than you can chew.  A lot of learning a language
comes after years of struggling with issues, so don't use it with a full
team of new Ruby/JRuby guys who all just read the book and did 'hello
world'.  Pick a small, one-off project and get your feet wet.  Add to
existing stuff if you can.  Don't break anything =)
6.  Worry about performance.  Ruby/JRuby is so incredibly slow on
benchmarks, no one is going to take you seriously if you try to use it
for
everything right now.  When you see things like this:
http://www.javaworld.com/javaworld/jw-03-2005/jw-0...
it
is hard to make the case not to use a different scripting language just
based on speed/familiarity.  Groovy, Python/Jython, Javascript, etc, in
my
particular case.  You better have an explanation ready about why in the
heck it is that much slower than everything else and what you think is
going to happen in the next year or so.
7.  Address programmer concerns.  You can laugh and be disheartened
about
people that don't want to use your newly found cool language, but it is
their career they are worried about.  Being confrontational about it
isn't
going to win you friends or sponsers.  You are only going to convince
people to change by showing them the benefits, not telling them about
it.

You have to remember that enterprise businesses are generally there to
make
a profit and they are not primarily IT shops.  They don't care how cool
or
object-oriented or technically superior a product care.  They really,
really, couldn't care less.  They care about the
TOTAL-COST-OF-OWNERSHIP.
They don't care that the tools are free and you can learn them in 10
minutes.  They care about support costs, how it integrates with existing
stuff, how much it will cost to staff up, how they can leverage to make
more money or get more customers or reduce costs.  So most of your
arguments have to be business oriented.




             Steve M.
             <stevemolitor@gma
             il.com>
To
                                       removed_email_address@domain.invalid
(ruby-talk
             04/26/2007 05:01          ML)
             PM
cc

                                                                   Subject
             Please respond to         Using Ruby in a Corporate
             ruby-talk@ruby-la         Environment
                  ng.org









---------- Forwarded message ----------
From: Curt H. <removed_email_address@domain.invalid>
Date: Apr 26, 2007 12:41 PM
Subject: Re: [stlruby] St. Louis Companies Using Ruby
To: removed_email_address@domain.invalid
Cc: "St. Louis Ruby U. Group" <removed_email_address@domain.invalid>
Curt,

Thanks for some really helpful pointers.  Love the Spolsky essay.  I'm
sending it to my boss and our project managers.

The two hurdles to using Ruby more at my company are convincing my
boss, and convincing the developers.  My boss is worried about the
usual stuff:  staffing, training, scalability, etc.   You've helped me
with the staffing and training issues, and we can do some benchmarking
to test scalability.  (Rails should scale just fine for our needs.)

Surprisingly, while most of the developers are either excited or at
least open to the idea, there are one or two developers who are
definitely opposed to Ruby.  (OK, one to be precise:  but there could
be others who haven't spoken out.)  The objections are that Ruby is
not used or accepted enough in the corporate world, and that learning
Ruby won't help them make more money or more marketable (in the St.
Louis corporate world).  If corporations start explicitly looking for
Ruby developers they'll learn it, but not until then.

I'm not quite sure how to answer this one.  While I do think that
something is going to succeed Java, I can't predict the future.  I
can't truthfully say with assurance that Ruby will be the next big
thing in the corporate world.  It *might* be, but it might not.
Personally I'm not concerned about what the next big thing might be; I
want a language that makes me and my fellow developers happy and more
productive.  That's good for us and good for the business, I figure.
I have trouble understanding the narrow, strictly mercenary and
corporate focused point of view.  Any ideas on convincing these folks?

Thanks again.

Steve M.



On 4/25/07, Steve M. <removed_email_address@domain.invalid> wrote:
>
> My company is thinking of moving to Ruby, and Ruby on Rails, in a fairly
big way -- maybe to the point of making it the preferred language and
framework for new applications.  We've been dabbling with Ruby and Rails
in
one decent sized app and a few tiny apps.   My boss is concerned about
the
issues in transitioning a mostly Java shop to Ruby -- training,
integrating
with the existing Java apps, etc.  He would feel a lot better if he
could
talk to folks from another St. Louis company who have made that
transition.
Does anyone work in a corporate environment that uses Ruby extensively,
or
know someone who does?  And if so, can we talk to you?
>
> Thanks!
>
> Steve M.

First, let me just briefly mention that we are moving mailing list to
Google G. (which I cc'd on this response). So, if you could join
our Google group and direct future messages there, it would be a big
help.

I can't answer your primary question directly (other STL-RUG members
may have more direct information for you). But I can give you some
information.

Training is available both locally and nationally. The Pragmatic
Programmer's Rails Studio (Dave T. and Mike C.) is probably the
premier nationally given Rails training. Locally, Object Computing Inc
teaches both Ruby and Rails classes through Washington University's
CAIT program (our monthly meetings are held at OCI's offices). And two
of our members, Jeff B. and Mike Sullivan, have formed a
training company (Inspired Horizons) that specializes in Rails
training.

If you need to integrate Ruby with existing Java apps, then you
probably want to look closely at JRuby (http://www.headius.com/
jrubywiki/index.php/Main_Page ).

Finally, don't be intimidated by a lack of seasoned Ruby/Rails
programmers, just concentrate on hiring good programmers (they know
how to pick up new languages and technologies quickly). Joel Spolsky
put it very well in his essay "Sorting Resumes" (the whole thing is
worth reading):


http://www.joelonsoftware.com/articles/SortingResumes.html
If I needed to hire someone to do Ruby development, someone with
extensive Smalltalk and Python experience who had never even heard of
Ruby would be a lot more likely to be successful than someone who read
a book about Ruby once. For someone who is basically a good software
developer, learning another programming language is just not going to
be a big deal. In two weeks they'll be pretty productive.

I hope that helps... good luck and keep us posted on your progress!

Curt




.
This message and any attachments contain information from Union Pacific
which may be confidential and/or privileged.
If you are not the intended recipient, be aware that any disclosure,
copying, distribution or use of the contents of this message is strictly
prohibited by law. If you receive this message in error, please contact
the sender immediately and delete the message and any attachments.
Charles Oliver N. (Guest)
on 2007-04-28 01:11
(Received via mailing list)
removed_email_address@domain.invalid wrote:
> 4.  Figure out a way to get ruby/jruby to deploy using your existing
> infrastructure.  In my case, how can I get JRuby/Ruby into an ear/war file
> and have it work?

That works now. See the JRuby wiki for information on how. It's
basically just a rails plugin, then run "rake war:standalone:create".
Done.

> 6.  Worry about performance.  Ruby/JRuby is so incredibly slow on
> benchmarks, no one is going to take you seriously if you try to use it for
> everything right now.  When you see things like this:
> http://www.javaworld.com/javaworld/jw-03-2005/jw-0... it

That benchmark is so old man, we've improved by an order of magnitude
since then. We're faster than Groovy at this point.

- Charlie
Robert D. (Guest)
on 2007-04-28 02:24
(Received via mailing list)
On 4/26/07, Steve M. <removed_email_address@domain.invalid> wrote:
> ---------- Forwarded message ----------
> <snip>
> http://www.joelonsoftware.com/articles/SortingResumes.html
> If I needed to hire someone to do Ruby development, someone with
> extensive Smalltalk and Python experience who had never even heard of
> Ruby would be a lot more likely to be successful than someone who read
> a book about Ruby once. For someone who is basically a good software
> developer, learning another programming language is just not going to
> be a big deal. In two weeks they'll be pretty productive.

For sure, they will write beautiful Smalltalk and Python programs in
Ruby.
That does not necessarily mean that your decision is bad, but in order
to push the team towards Ruby I'd at least hire one or two charismatic
Ruby evangelists, and yes I am available ;)

Cheers
Robert
Alexey V. (Guest)
on 2007-04-28 17:02
(Received via mailing list)
On 4/26/07, Steve M. <removed_email_address@domain.invalid> wrote:
> The two hurdles to using Ruby more at my company are convincing my
> boss, and convincing the developers.  My boss is worried about the
> usual stuff:  staffing, training, scalability, etc.   You've helped me
> with the staffing and training issues, and we can do some benchmarking
> to test scalability.  (Rails should scale just fine for our needs.)

Depends on what your needs are, but with modern hardware you can
usually go a long way before you hit scalability ceiling, far enough
for most web sites and business apps.

> The objections are that Ruby is
> not used or accepted enough in the corporate world, and that learning
> Ruby won't help them make more money or more marketable (in the St.
> Louis corporate world).

I don't know about St.Louis, but personally I've been getting job
offers roughly once a month since a year and half ago. Even though
there isn't much Ruby in the city where I live, and I'm not even
soliciting those job opportunities (I mean, I'm not looking for an
indie gig for myself; ThoughtWorks is always on a lookout for Ruby
work).

There is a market for Ruby, and it is growing fast. Having Ruby on
your CV now, if nothing else, marks you as a forward-looking
technologist in the eyes of knowledgeable employers who watch industry
trends.

> If corporations start explicitly looking for
> Ruby developers they'll learn it, but not until then.

Like someone else said earlier in the thread, people with this
attitude to new technologies really belong in the legacy/maintenance
world (and will do just fine there).

Should your IT strategy be driven by an effect it would have on
someone's employability by *some other company*, anyway?

> something is going to succeed Java,

Java is very well entrenched, nothing is going to completely displace
it any time soon. Ruby partially displacing Java to a significant
degree (and perhaps  completely displacing PHP) is a trend that we are
already observing in ThoughtWorks customer base. We mostly work with
large corporations.

> Personally I'm not concerned about what the next big thing might be;

In ThoughtWorks, we are obviously betting on Ruby, but we are a
relatively large software consultancy, and it's not the only possible
Next Big Thing we are betting on. Making this sort of bets is part of
our business.

Corporate IT departments, however, do not need to speculate about such
things. The right question for you, guys, is: "(1) is Ruby big enough
and (2) will it become obsolete within the lifespan of our
application?". The answer to that question, from where I sit, looks
like a certain "yes to (1), no to (2)" since about a year and half
ago. Assuming that your planned application lifespan is less than 20
years, that is.

By the way, my personal crystal ball also says that Java will be
obsolete a good few years before Ruby. But that's just speculation
again.

> I have trouble understanding the narrow, strictly mercenary and
> corporate focused point of view.  Any ideas on convincing these folks?

Convincing late adopters to adopt is an uphill battle probably not
worth fighting. Instead, convince decision-makers that mercenary view
is irrelevant to company interests, and do not include those people in
the Ruby project team, at least not in the beginning.

Corporate-focused view, on the other hand, is entirely appropriate. In
many business IT scenarios, you really need fast time to market above
everything else. If you are like that, Ruby is presently one of your
best available choices.
This topic is locked and can not be replied to.