[JOB] Possible ruby job in SF Bay Area

J

Joel VanderWerf

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).

This is really just an early "heads up". You're welcome to
contact us, but the formal hiring process will probably not
start for several months, and is dependent on funding.

======
Skills
======

Ruby: 2 years, responsible for at least one project of >10K
lines. (Strong Lisp/SmallTalk background may be an
acceptable substitute.)

GUI: Experienced with some GUI toolkit, pref. in Ruby.
Completed at least one substantial GUI project.
(We have used Fox and Tk in previous projects.)

C: 1 year of professional work in C is preferred.

Edu: BA in CS/EE, or other field of engineering or science.

Also good to have:

* OpenGL

* Data modeling, database

* Experience working in science/engineering

* Interest or experience in traffic simulation (in
particular, Paramics, though that's rather unlikely)

* Interest in future of public transit

* Some Windows development experience (MSVC). We develop for
Windows, Linux, and Sun, but most users are on Windows.
For this position, most development can be done on any
platform that supports ruby and the selected GUI toolkit.

* Some basic web site design and programming.

================
Responsibilities
================

The project is to continue development of a tool for
modeling, simulation, and visualization of "bus rapid
transit" (BRT) systems
(http://en.wikipedia.org/wiki/Bus_rapid_transit). We are
applying for FTA funding for about 10 months of work. Your
role on the project will round out a team of 2 or 3 others,
and will emphasize developing GUI tools that can be used by
transit planners to design models of transit corridors and
to conduct experiments based on simulations to evaluate the
effectiveness of BRT options. Corridor models are stored in
a hierarchical modeling languag called BRTML. Background on
the project is at http://path.berkeley.edu/SMARTBRT.
(There's software there, too, but it won't do anything
useful unless you have Paramics, which is an expensive
traffic simulation tool.) There will also be a GUI to
interact with the running simulations and display event
data, graphs, etc.

The organization is California PATH, UC Berkeley,
http://www.path.berkeley.edu, located at the Richmond Field
Station, a 20 minute drive from campus. We do transportation
research on a mix of federal, state, and industry funding,
with an emphasis on using new technologies to improve the
safety and performance of traffic and transit. Our group of
about 50-60 people interacts closely with faculty and
students in the College of Engineering. Sometimes we even
get on the evening news
(http://www2.cbs5.com/topstories/local_story_039192718.html).

PATH has an interesting mix of people: engineers
specializing in real-time systems, radios and wireless
networking, sensors, automotive control, human factors;
software people, both real-time and "soft"; automotive
safety researchers; applied mathematicians; cognitive
scientists. The organization is fairly flat and relaxed;
it's about halfway between an academic department and a
small engineering R&D company.

The biggest downside of working here is the cost of living
in the bay area, but you get what you pay for. Also, all of
our funding is soft, so even "permanent" employees have no
real job security (but turnover is very low).
 
J

Jamis Buck

Ruby: 2 years, responsible for at least one project of >10K
lines. (Strong Lisp/SmallTalk background may be an
acceptable substitute.)

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
 
J

Joao Pedrosa

Hi,

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?

I don't know. But > 50k LoC is a little bit over the top I think.
Below that is reasonable. What's the biggest project in Ruby that
people have heard of? I remember Rich Kilmer's and the site that Dave
Thomas wrote. :)

Cheers,
Joao
 
L

Luke Graham

Hi,



I don't know. But > 50k LoC is a little bit over the top I think.
Below that is reasonable. What's the biggest project in Ruby that
people have heard of? I remember Rich Kilmer's and the site that Dave
Thomas wrote. :)

Im only up to 1.25k LoC in my current project, and thats my Ruby record.
I dont expect it to break the 1.5k LoC mark. Theres that much again in
handwritten xml input files though, does that count? :)
 
K

Kirk Haines

Jamis Buck wrote:

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?

Interesting question. I just went and did simple wc tallies of the ruby
lines only out of a number of my larger web applications, not counting any
of the HTML or email views, and the average non-trivial app seems to fall
in the 2k to 4k range, with an average of about 20 bytes per line. The
largest single app only has almost 8k LOC of Ruby (about 220kb of code),
though if I wrote it today, it'd be probably less than 1/2 the LOC and
1/3rd the number of bytes, leaving the largest at 7.3k LOC.

None of the libraries that I have written come up to that size, either,
unless one rolls tests into the count.


Kirk Haines
 
D

Dave Burt

Ruby: 2 years, responsible for at least one project of >10K
lines. (Strong Lisp/SmallTalk background may be an
acceptable substitute.)

Jamis Buck:
"... 8.5k lines"
Luke Graham:
"... 2k to 4k range"
"... 7.3k LOC"

And, IIRC:
Rails: 2 kLOC
Basecamp: 4 kLOC

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

Big hitters among these:
rdoc: 16 kLOC
rexml: 9 kLOC
soap: 8.6 kLOC

So the successful applicant will have written one of the (top 5?) largest
Ruby projects in existence.

Cheers,
Dave
 
W

why the lucky stiff

Jamis said:
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.)

I've always held to the old adage: If you've written 10K lines of Ruby
code, then you're using it wrong.

Wouldn't it be awesome if that were true?

_why
 
J

Joel VanderWerf

Jamis said:
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?

Hm, maybe that is not a useful criterion. A program is not better
because it is larger. But it may not be fair to compare lines of
library code with lines of application code.... you have to think (and
test) harder for each line of library code.

My current deliverable on another project (not related to the one in the
announcement) is over 21K of ruby. That doesn't count blank lines and
comments, or unit tests. It does count my own libraries, mostly written
for this project. That's with frequent refactoring efforts, too. It's
fairly dense. (And it generates 8K lines of C code.)

For the predecessor to the announced project, the figure is 13K lines of
ruby. Another project was 8.6K (some generated by racc, to be fair).

For the job, I was thinking specifically of GUI code, which tends to
inflate LOC at a faster rate than it inflates complexity, until you get
tired of typing and put some effort into metaprogramming.
 
J

Joel VanderWerf

why said:
I've always held to the old adage: If you've written 10K lines of Ruby
code, then you're using it wrong.

Wouldn't it be awesome if that were true?

Oooh... a MATLAB clone in 10KLOR. MegaGolf, anyone?
 
L

Laurent Julliard

Jamis said:
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?

FreeRIDE (the Ruby IDE) is roughly 20,000 LOC (25,000 lines with
comments)

Laurent
 
S

Simon Strandgaard

FreeRIDE (the Ruby IDE) is roughly 20,000 LOC (25,000 lines with
comments)


I have started from scratch 3 times with AEditor.
Here are the line counts:

aeditor 0: 3560 impl, 4962 test.
aeditor 1: 6204 impl, 4689 test (more than 10k of lines).
aeditor 2: 3161 impl, 3207 test.


version 2 is much simpler and more robust than previous versions,
even though its half the amount of code compared to version 1.
It took me years to realize that my data structure was too complex.
 
D

David Heinemeier Hansson

Ruby: 2 years, responsible for at least one project of >10K
lines. (Strong Lisp/SmallTalk background may be an
acceptable substitute.)

While I think its great to see the job market get into drive, it would
also be nice if we could avoid being as narrowly defined as the drone
lines.

I, for one, wouldn't fit the description above. Number of years is a
utter lackluster indicator for job performance. Rewarding the use of
10K lines in Ruby is also fairly questionable.

Johanna Rothman has this great quote for getting out of such narrow
defines:

"If you still think you need some number of years of some language
or environment, stop using shorthand and describe what deep
knowledge
you're looking for. Maybe you can find it some other way. Maybe you
don't need some number of years, but you need some kind of
application
context"

She's putting it a lot milder than I did on
http://www.loudthinking.com/arc/000409.html
 
W

William Morgan

Excerpts from Jamis Buck's mail of 10 Mar 2005 (EST):
What is the average LOC for a typical "complex" (for some arbitrary
definition of complex) Ruby project?

RubyTorrent is about 1700 loc for the libraries, and 2200 including
utilities. It's among some of the most complex code I've ever written.

I made an executive decision not to count "end" lines, so your count may
be slightly higher.
 
N

Nikolai Weibull

* Jamis Buck (Mar 11, 2005 14:10):
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?

My current project (unveiled shortly) is currently above the mark.
However, most of the code is written in C that is then interfaced to
Ruby. This is done exclusively for performance reasons. I'd say that
the Ruby code would still have reached a sizeable number of lines, but
perhaps not as many as the C + Ruby version.

Anyway, the >10K loc in Ruby is unrealistic I'd say. As you say,
Net::SSH is complex, perhaps one of the most complex public libraries
written solely in Ruby; yet it's only 8.5K loc,
nikolai
 
J

Joel VanderWerf

Michael said:
50-60k in SF? Wow.

Yes, wow. There are a lot of us trying to live at that rate, or below...

Thanks for the feedback. My management needs to know that certain salary
levels are unrealistic.
 
M

Michael Campbell

Yes, wow. There are a lot of us trying to live at that rate, or below...

There's something to be said for doing what you love.
Thanks for the feedback. My management needs to know that certain salary
levels are unrealistic.

Well, that depends. *I* couldn't live at that wage, at least not "in
the manner to which I (and my family) have become accustomed".

I mean, you're always going to be able to get SOMEONE for almost any
job at any wage, but considering what you're asking for, the salary
seems extraordinarily low to me. That said, I haven't looked at the
conditions in SF lately; the last time I was there in any sort of
employment context was 1996, so things may have changed greatly since
then.
 
J

Joel VanderWerf

David said:
While I think its great to see the job market get into drive, it would
also be nice if we could avoid being as narrowly defined as the drone
lines.

You're right. I always hated reading any job posting that was just a
hash of said:
I, for one, wouldn't fit the description above. Number of years is a
utter lackluster indicator for job performance. Rewarding the use of
10K lines in Ruby is also fairly questionable.

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.

Thank you, David, for making me be more explicit.
 
J

Joel VanderWerf

Michael said:
I mean, you're always going to be able to get SOMEONE for almost any
job at any wage, but considering what you're asking for, the salary
seems extraordinarily low to me. That said, I haven't looked at the
conditions in SF lately; the last time I was there in any sort of
employment context was 1996, so things may have changed greatly since
then.

This is heading off topic, but the cost of living in the Bay Area in the
last 10 years has gone up by a factor of 2 or so. Apartment rents have
stabilized since 2000, but house prices increase 20% every year.

So, I agree. The 50K-60K figure is low. I'll try to find out what the
hourly contract rate would be.
 

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,981
Messages
2,570,188
Members
46,732
Latest member
ArronPalin

Latest Threads

Top