How would you counter the following argument for developing in Rails

So, you have a solid idea of what you want to accomplish. You know that
by using Ruby on Rails and the core engines/plugins that will help
manage your project, you will save your company money, time, and have a
full test suite in place to counter development hitches.

Before you are able to provide a complete proposal, a manager states in
an email:

… we strongly encourage the use of Microsoft IIS and using a product in
the .NET family for the code base…

Given what you know about Ruby and Ruby on Rails, its ability to use
LDAP, and that it can still function within a windows shop environment,
how would you counter this argument? ASP.NET and ASP.NET MVC - I can’t
stand them. I refuse to code in them.

How would you approach a rebuttal on this topic?

On 29 Mar 2011, at 19:57, Alpha B. [email protected] wrote:

Given what you know about Ruby and Ruby on Rails, its ability to use
LDAP, and that it can still function within a windows shop environment,
how would you counter this argument? ASP.NET and ASP.NET MVC - I can’t
stand them. I refuse to code in them.

How would you approach a rebuttal on this topic?

I don’t think there is anything to counter there, until they explain why
they prefer .net

Fred

On Mar 29, 2011, at 2:57 PM, Alpha B. wrote:

So, you have a solid idea of what you want to accomplish. You know that
by using Ruby on Rails and the core engines/plugins that will help
manage your project, you will save your company money, time, and have a
full test suite in place to counter development hitches.
Before you are able to provide a complete proposal, a manager states in
an email:
… we strongly encourage the use of Microsoft IIS and using a product in
the .NET family for the code base…
How would you approach a rebuttal on this topic?

I’d ask a couple of questions:
(1) Why do they want to use .NET?
(2) How much extra are they willing to pay in terms of developer hours
and time to market to use such technologies

I understand why managers might want to standardize on a particular
stack - especially given the training and support costs of a polyglot
shop. I find myself coding in Ruby, Groovy, Java, C#, ColdFusion, PHP
and Scala for different projects/clients. These days my “go to” language
is usually Ruby (Groovy for Java shops where I need to train up the
in-house team in the new language - they often do better using Grails as
they already know Spring and Hibernate). That said, it’s reasonable for
a manager to express a technology preference and it’s also reasonable
for you to ask why they want it and how much extra they’re willing to
pay.

I’ve often given two estimates to a client for developing something in
(say) Rails/JRuby vs pure Java with Struts or whatever their fave
framework is. Usually I get to deliver in Ruby, sometimes I compromise
on Spring Roo (a RAD tool for pure Java projects), occasionally they
decide to do the job in Java - at which time I usually decline the
project. I just can’t justify building web projects in Java at any rate.
The money is nice, but the cost to your soul is irreparable :slight_smile:

That said, even though I haven’t coded in the .net world for years, I
hear Microsoft MVC isn’t as horrible as .net used to be, some people are
now using git instead of TFS, and I’ve spoken to some very sharp people
both inside and outside of Microsoft that argue F# is better than Scala
in some of the ways that C# (at a pure language level) is better than
Java, so if someone was willing to buy me VS and pay me to do an F#
project, I’d probably give it a shot!

Best Wishes,
Peter

On Tue, Mar 29, 2011 at 2:03 PM, Philip H. [email protected]
wrote:

Given what you know about Ruby and Ruby on Rails, its ability to use
LDAP, and that it can still function within a windows shop environment,
how would you counter this argument? ASP.NET and ASP.NET MVC - I can’t
stand them. I refuse to code in them.

How would you approach a rebuttal on this topic?

What I have done which was effective was give time and cost estimates
for
both .Net and Rails. In the first case I was even open to them picking
.Net
as for me I know that as long as I work agily and have good test
coverage I
will do well on any language/framework. But they were under time
pressure
and picked Rails, which gave me the chance to prove it to them. For most
business managers if you go with some tangible bottom line figures you
have
a chance. Other than that like others say, they have swallowed the MS
kool-aid and as with any other brainwashing, nothing you can really do
to
argue with :slight_smile:

On 29 March 2011 19:57, Alpha B. [email protected] wrote:

… we strongly encourage the use of Microsoft IIS and using a product in
the .NET family for the code base…

encourage != enforce
So say “We took your encouragement into consideration, but in the
absence of any suggested, measurable benefits, we’ve stayed with RoR”

ASP.NET and ASP.NET MVC - I can’t
stand them. I refuse to code in them.

ah… well, you might need to update your CV and start looking for a
new job then, because if your company is orientated on .Net, and you
“refuse” to code in it, then you might be in the wrong company…

There are a lot of good responses here already, especially with
respect to ROI, so here’s just a different way to look at the
situation:

Has your employer considered the LONG TERM licensing costs for Windows
server several years down the road? Sure they might be buying licenses
anyway, but as load and demand scale upward (depending on the size/
nature/audience/goals of the project), licensing cost does too. This
is where FOSS really shines: cheap initial implementation, serious
cost savings down the road.

Another point: a TRULY purist technology stack, these days, is pretty
much just a pipe dream, at least in my opinion. By getting fanatical
about “stack A” vs “stack B”, your employer is missing out on the
leverage that a very cutting-edge
and capable community driven FOSS stack can provide. And aside from
that, you can really make your company’s internal or external
infrastructure incredibly fragile by putting all your eggs in one
basket, especially that of a for-profit corporation who has proven
time and again, by shipping crashtastic and buggy software, that
their bottom line is more important than their customer’s well-being.
FOSS doesn’t have the same conflict of interest.

Additionally, it’s certainly true that Rails is ONE of the most
mature, tried and tested frameworks in existence - period. I don’t
know that we can hold ASP. NET MVC in the same regard. (Not saying it
can’t “hang” with the cool kids - just that I think that argument
would be a much harder sell, even to some apparent Microsoft
fanbois.)

Good luck man! Unfortunately, it sounds like you may need it. :slight_smile:

Given what you know about Ruby and Ruby on Rails, its ability to use
LDAP, and that it can still function within a windows shop environment,
how would you counter this argument? ASP.NET and ASP.NET MVC - I can’t
stand them. I refuse to code in them.

How would you approach a rebuttal on this topic?

IMHO you will never win with a technical rebuttal. It may well be that
there’s a corporate mandate or some other reason. Everyone jokes that
“no one ever got fired for picking IBM/Microsoft” and while we agree
that’s a bad reason to pick them, it doesn’t make it invalid (from their
point of view).

What has worked for me is to put it all in terms of money, budget, and
ROI. Run the numbers. If Ruby/Rails results in a quicker/cheaper
implementation than .NET they should see the light. If they still
refuse, they have other reasons and IMHO aren’t likely to change their
mind.

Good luck!

Don’t worry about rebuttal on this one. This battle is already over,
but
the war is not.

I have much experience as a past consultant and manager of consultants
dropping out of the sky into new customers where the shop is die-hard MS
or
whatever, with my “new” technology to change the shop over. In my
scenario,
it was always a case where senior management made a strategic choice and
we
had to “change” the staff to learn, accept, and prosper with our new
development environment. It is slightly different than what you have
since
in my cases it was always a management mandate, but hear me out. It
doesn’t
matter if it is management or the developers themselves that resist, the
problem is how to address the resistance.

Tools/languages are a religion, but more importantly, they are sometimes
all
a person knows and they do not want to take on the risk and effort to
change
an entire department. It is a lot of work. They will resist until the
end
of time. They also may enjoy golfing with the MS sales rep and don’t
want
to give up the free days at the country club. Sometimes you will never
know
the underlying resistance as it may be hidden.

I found it always best to PROVE the new technology. Estimates are
voodoo
numbers and easy to be discounted by either side.

PROVE RoR by offering to develop a small prototype in parallel or
sequentially to an identical effort in MS technologies (it can be a
made-up
project). Make the duration 1 week each (or 3 days, whatever). Present
the
results after the experiment is over and offer sincere benefits and
drawbacks of each. Offer to do it in off-hours if you have to.

Do not do the experiment in a vacuum. Be very inclusive of the opposing
parties, making sure they are involved in the process. They fear what
they
are unfamiliar with and this is a way for them to dip their toes in to
the
waters. If you work in your cube alone, the “two sides” separation will
be
perpetuated. Get someone from this manager’s team to participate with
the 2
of you working side-by-side on Rails prototype and then follow it up
with
the 2 of you working the MS prototype. This person will be your
messenger.
Your message will always be self-serving in their eyes.

In every case, I had to win over the religion by letting the opposing
side
see and experience the benefits first-hand. Success, confidence and
results
talk; estimates do not, especially those delivered by someone who will
bring
a natural bias to support their desired outcome.

Failing the above, get your resume/CV together and go to a company where
you
don’t have to fight a long battle. There are many shops where you’ll be
able to focus on the business problem and not the technology selection.

Thanks for the replies everyone. There is some very encouraging input
here and I’m glad to know I’m not really alone.

The good news is that I believe I’m going to be given the chance to
develop and work on a very small management console to showcase some of
the features in Rails.

The downside is that I’m going to have to integrate it with Windows
Server 2008. I’m not getting much budge on this.

I would love to offer number figures, but unfortunately I don’t have the
numbers available for cross comparison. I’ll work on the small
management console and make it shine.