[JOB] Possible ruby job in SF Bay Area

J

Joel VanderWerf

Joel said:
This is an informal announcement of a possible position for
an intermediate programmer with 2-3 years of experience in
Ruby and C in the SF Bay Area.

We are not sure yet if we will hire a full-time permanent
person, or a part-time contractor for a 10 month project.
Salary level for the full-time permanent position would
likely be around 50-60K/year with university benefits. The
contract rate would be adjusted upwards accordingly, but
without benefits (AFAIK).

To follow up: if the job is offered as a contract, what sort of hourly
rate would folks be likely to accept, given all that I've said about the
work (and the cost of living in the Bay Area) in this thread?

Has anyone had ruby contract work, and if so, at what rate?
 
G

George Ogata

Dave Burt said:
How much ruby code is in the ruby standard distribution, for comparison? I'd
be guessing along these lines:
core: 100 kLOC
stdlib: 100 kLOC
total in standard ruby 1.8.2: 250 kLOC

Good guess.

g@crash:~/src/ruby$ cat `find . -iname '*.rb'` | wc -l
262738

And here's an interesting stat for the pythonists to scoff at:

g@crash:~/src/ruby$ cat `find . -iname '*.rb'` | grep '^[ \t]*end[ \t]*$' | wc -l
31166

Quite a lot, huh?
 
F

Francis Hwang

Rhizome's code is about 22Kloc. Not that I'm proud of that, really; if
I had time, I'd refactor it 'til all git-out and extract about 10Kloc
into free software libs. That does happen, from time to time.

This kind of stuff can, happen, though: Libs have narrow purposes, but
entire systems might have fairly complex customized logic. Rhizome, for
example, has a lot of complex stuff dealing with a pretty intense
system where membership can be driven by individual donations, group
subscriptions, assignation of complimentary status by site admins,
etc., etc. There's also a pretty extensive implementation of instant
runoff voting: IRV actually has lots of really strange edge cases.

Incidentally, I'm counting the unit tests, which I generally consider
to be as important a part of the code as the "production" code itself.


Just curious: how many people have written a project in Ruby
consisting of over 10K lines of code? Even my own most complex lib,
Net::SSH, is only 8.5k lines. (Well, I guess it's 16.7k if you count
the unit tests, but I'm still curious as to how common this is.)

What is the average LOC for a typical "complex" (for some arbitrary
definition of complex) Ruby project?

- Jamis

Francis Hwang
http://fhwang.net/
 
P

Phil Tomson

Regarding years: note that the announcement mentioned the equivalence of
Lisp/SmallTalk. I had hoped that the implication was for the applicant
to be comfortable with closures, recursion, metaprogramming,
concurrency, etc.: in short, a basic understanding of most of SICP
(oops, another acronym). I should have said that to begin with...

Regarding program size: I disagree. Our application is large because our
subject matter is large in an irreducible way. The app needs to interact
with 3rd party software that has its own highly complex (and often
poorly designed) input/output system. It needs to do a large variety of
geometrical calculations (not difficult ones). The programmer for this
job needs to be comfortable with managing a large number of ugly
details. That skill is distinct (though of course not exclusive) from
writing a lovely little ruby library.

It does seem to me that LORC (Lines of Ruby Code) tends to be much
smaller than LOC++C (Lines of C++ Code), for any given equivilent
functionality. In my experience LORC = 1/((4..6)*LOC++C). I can also see
that Joel might have a lot of functionality to implement.

Joel, is it possible that you would consider people who
have a good handle on Ruby and have worked on projects which consisted of
20K+ LOC where LOC could be a mixture of C++ or Java as well as
Ruby?

I've done a couple of Ruby projects for pay and in neither case did we
get past about 4K lines of Ruby. One in particular involved
some computational geometry. Most of the code base was in C++
because we needed speed (about 25K lines as I recall) which we wrapped
with SWIG so we could script our tool from Ruby. We had about 4K lines
of Ruby code (including unit tests for the C++ classes) and ~25K lines of
C++.

Joel: Just to clarify: would a project with 25K LOC++C and 4K LORC
qualify? I'm trying to figure out if you're looking specifically for
LORC or if you're looking for experience with handling large projects in
whatever language.

Phil
 
P

Phil Tomson

To follow up: if the job is offered as a contract, what sort of hourly
rate would folks be likely to accept, given all that I've said about the
work (and the cost of living in the Bay Area) in this thread?

Has anyone had ruby contract work, and if so, at what rate?

Yes. However, it started out as a C++ project going in. After a month
or so I was able to convince management that Ruby made more sense from a
productivity standpoint. The rate was of course based on C++, but it
didn't change when we switched to Ruby. The rate I was getting was
$35/hour in the Portland, Oregon area. That gig went from Dec 2003 to
June 2004 when things were still pretty dead around here and I was glad
to get anything. Now I suspect rates would be higher as things seem to
have picked up a bit.

Phil
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,046
Latest member
Gavizuho

Latest Threads

Top