How much should I charge for fixed-price software contract?

  • Thread starter Robert Maas, see http://tinyurl.com/uh3t
  • Start date
G

Gerry Quinn

It's like the old joke about the ocean-going vessel that broke down
at sea. The ship's engineer--no slouch--just couldn't identify the
problem, so they had to call for help.

Guy arrives on a helo, spends some time walking around the ship, takes
out a large wooden mallet and bangs on one particular pipe a few times.

Ship starts working, and the guy gives the Captain a bill for $10K.

"Ten thousand dollars," exclaims the Captain! But all you did was
pound on a pipe.

"Ah," replies the guy, "it's knowing where to pound."

Probably based on a similar story about Picasso, who was asked to make
a drawing on a handkerchief. He did so, and was asked how much he
wanted for it. "10000 francs", said Picasso.

"But it only took you two minutes."

"No", said Picasso, "it took me thirty years."

- Gerry Quinn
 
D

Duane Bozarth

Gerry said:
Probably based on a similar story about Picasso, who was asked to make
a drawing on a handkerchief. He did so, and was asked how much he
wanted for it. "10000 francs", said Picasso.

"But it only took you two minutes."

"No", said Picasso, "it took me thirty years."

No, it's a classic in which shows up in a million guises. The original
prototype supposedly was Westinghouse.
 
R

Robert Maas, see http://tinyurl.com/uh3t

From: Scott Ellsworth said:
Your attitude, from the outside, _appears_ to be one that will offend
many potential employeers.

I have 22 years experience in writing computer software, including
assembly or machine language for several different CPU types, including
several mid-level and high-level programming languages, including
utilities and applications in many different fields. I'm currently
available for work and seeking employment or contract work. In your
personal opinion, what part of that would an employer find offensive?
Employers want to see eagerness to do the work,

Before I respond to that remark, I need clarification: Are you
referring to paid or unpaid work? Are you saying employers want to see
people eager to do unpaid work or paid work?
combined with an awareness of how what you do will make them more
money,

I'm sorry but I'm not privy to the internal financial affirs of various
companies. It's the job of the hiring manager to observe what software
I can produce and then decide whether such software would or would not
result in profit for the company.
or will let them accomplish their goals.

Tell me what their goals are, and I might be able to say whether my
softare wuold contribute toward accomplishing those goals. But I can't
guess what the goals of some company might be, at least not in any way
relevant to deciding whether my software would help that goal. Is the
company interested in generalizing floating point arithmetic toward
guaranteed accuracy via interval arithmetic? Yes I can do that. Is the
company interested in automating the process of training new employees
how to use their equipment? I can help there too. I can help toward
many such different kinds of company goals, but until somebody suggests
such a goal to me, or responds to the many ideas I've posted already on
newsgroups about things I'd like to work on, there's no way to know if
there's a match or not.
You are implicitly asking them for money, even if you are not holding
out your hand the moment you walk in the door.

There's a subtle but important difference between what you say and what
I do. Consider the difference between the high-pressure car salesman
who drags you to a "special" car and virtually insists you buy it,
compared to a customer service representative at Macy's who is
obviously there available to help you but who waits for you to ask a
question about something or upon noticing you fretting around like
you're frustrated trying to find something might ask if you would like
some help finding something.

When I am contacting some company about employment, I'm merely saying
that I'm available, presenting a summary of what I can do, and leaving
it to them to take an interest and express that interest to me and ask
for more info. I don't harass the employer like a car salesman trying
to insist they should pay for what I offer.

I'm not directly asking them for money, like **expecting** that they
would be the next company to hire me, and getting angry if they don't
say yes. I'm simply stating that I'm available if they happen to want
to spend money to hire me. It's a hypothetical, I'm available if
you want to pay for my services, rather than GIVE ME GIVE ME GIVE ME.

So do you understand why it pisses me off when you express it in a way
that makes it seem like I'm demanding to be hired instead of merely
offering my services contingent on suitable pay?

As I said several times, RSA Data Security was the only company where I
really expected to be hired, because I had already on my own time
developed software exactly like their main line of business, and I was
quite unpleasantly surprised when they didn't hire me. With every other
company, I think of it as a chance, maybe they'll hire me and maybe
they won't, and I have no expectation either way.
Part of your task is to convince them that you are someone they want
to give money to, in return for what you offer them.

I don't understand the difference between what you're asking me to do
to potential employers and what the high-pressure car salesman, or the
door-to-door salesman, does to the poor customer. I'm just not the kind
of person to treat people with such disrespect. If you mean something
else, you're not communicating it well.

From a scientific or aware-consumer viewpoint, that is the policy that
actions speak louder than words, that proof is in the pudding, that
evidence weighs a lot more than what you say, the only way any
potential employer could be really sure I can do the job would be if
they gave me an "audition", some small exercise where I could prove my
muster. I've offered to do auditions but no company has taken me up on
my offer so-far. (If any potential employer is reading this and wants
to audition me, connect to my login page:
http://shell.rawbw.com/~rem/cgi-bin/LogForm.cgi
log in as guest1 with password free, and send me a short message
introducing yourself. Or send me e-mail to my Yahoo! Mail address,
where your e-mail will be mixed in with tens of thousands of spam, then
connect to my login page to let me know you sent me the e-mail so I'll
be able to sift through ths spam haystack looking for your e-mail
needle by searching specifically for your particular e-mail address.)
If someone calls

How would anyone know to call you? My contact info has been posted on
the net many many times in my search for employment and nobody has
called me for many years. They obviously don't bother to read the
online resumes, or they would have found me and called me already, so
why would they call you?
I would not go below $15 an hour, and something in the $30-$50 sounds
a lot closer to what I would expect for a reasonably experienced and
competent software guy.

Well that's about the range I would expect, but given that I have never
gotten any such offer, it seems silly to turn down any lesser offer if
it appeared. I'd much rather earn $15/hr than remain unemployed due to
holding out for $30 and refusing to take any less. The highest offer I
ever actually got was $25/hr 1099, and I took it.
If you do not know what your skills are worth, find an open source or
a volunteer non profit, and do some work for them.

I've already spent several years doing that sort of thing, and it never
turned into any chance of money in that area, and I'm pretty much
burned out giving my free labor and getting neither money nor any
social benefit in return, just take my labor and throw shit back at me.
Fool me once, shame on you. Fool me twice, shame on me.
Sorry if you don't like my current attitude, but I tried your idea for
quite a number of years and it didn't result in any money, ever, and
I'm not willing to continue making the same mistake just because you
beg me to and plead that it won't be so bad this time.

So anyway, you say I should demand $30-50 per hour, and the other guy
says I should demand at least $80-100 per hour and not take anything
less, because anything less than $80/hr shows I'm completely worthless.
(Yes, I'm paying attention to the various advice I get in this thread.)
 
C

Chris Sonnack

Robert said:
....what part of that would an employer find offensive?

Speaking as someone who's spent part of his time interviewing prospective
new hires recently....
Before I respond to that remark, I need clarification:

That's offensive. Just answer the question. If the answer depends,
then provide two conditional answers.

Or learn to ask for clarification more politely. You imply the question
was poorly asked. It wasn't--you weren't able to parse it, so assume
the burden of seeking clarification *politely*.
Are you saying employers want to see people eager to do unpaid work
or paid work?

Learn to use your head. What do you *think* employers want? What makes
sense? If you can't figure out something that trivial, you're not someone
I'd want on *my* team.
I'm sorry but I'm not privy to the internal financial affirs of various
companies.

That's an offensive answer. Again, use your head. If you don't have a
clue how you can be valuable to me, then you probably aren't.
It's the job of the hiring manager to observe what software I can
produce and then decide whether such software....

I don't care just about "what software [you] can produce", I care about
your skills in several areas. Many of those areas go beyond your ability
to hack. Your ability to think for yourself and to work with others is
of great value. We can teach you a technique or a language, if necessary,
but we probably can't teach you to think or work well with others.
Tell me what their goals are,...

Why are you interviewing with us if you don't have a clue what we do?
You are implicitly asking them for money, even if you are not holding
out your hand the moment you walk in the door.

There's a subtle but important difference between what you say and what
I do. Consider the difference between the high-pressure car salesman
who drags you to a "special" car and virtually insists you buy it,
[snip]

There's a big difference between "implictly" and "high pressure".

By applying for a job, you are saying, "I'm worth the pay." Or did you
expect to volunteer your services?
I'm not directly asking them for money, like **expecting** that they
would be the next company to hire me,...

Do you really not perceive the difference between "expecting" someone
to hire you and the fact that, by applying for a job, you ARE asking
to be paid?
So do you understand why it pisses me off when you express it in a way
that makes it seem like I'm demanding to be hired instead of merely
offering my services contingent on suitable pay?

No, because I doubt anyone else perceived it that way. That you did
is (1) rather typical of the behavior I've seen from you here, and (2)
exactly why you're one of the last people I'd ever consider hiring.
As I said several times, RSA Data Security was the only company where I
really expected to be hired, because I had already on my own time
developed software exactly like their main line of business, and I was
quite unpleasantly surprised when they didn't hire me.

So,.... If I made widgets and you showed me a widget you made, you'd just
expect me to hire you? And you'd be pissed if I didn't? What if I had
no openings or no budget? What if I didn't care for how you presented
yourself?
I don't understand the difference between what you're asking me to do
to potential employers and what the high-pressure car salesman, or the
door-to-door salesman, does to the poor customer. I'm just not the kind
of person to treat people with such disrespect.

There is considerable middle ground between treating people with disrespect
and selling yourself to a prospective employer.
If you mean something else, you're not communicating it well.

THAT's pretty offensive. A much nicer way to put it is to say that you
don't understand.

You have a tendancy to blame others for things that you should change
in yourself. Until you recognize this, odds are strongly against your
finding employment.
...the only way any potential employer could be really sure I can do
the job would be if they gave me an "audition", some small exercise
where I could prove my muster.

What do you think a job interview is? Exactly that. Only you are being
tested on your ability to pass muster in areas besides just hacking.
I've offered to do auditions but no company has taken me up on
my offer so-far.

I've read you write here something to the effect that, if you audition
and "pass" then the employer agrees to hire you. That's absurd. Once
again, hiring is based on many factors besides hacking ability.
(If any potential employer is reading this and wants
to audition me, connect to my login page:
http://shell.rawbw.com/~rem/cgi-bin/LogForm.cgi
log in as guest1 with password free, and send me a short message
introducing yourself. Or send me e-mail to my Yahoo! Mail address,
where your e-mail will be mixed in with tens of thousands of spam, then
connect to my login page to let me know you sent me the e-mail so I'll
be able to sift through ths spam haystack looking for your e-mail
needle by searching specifically for your particular e-mail address.)

Do you really think any employer will bother to jump through your hoops?
If you're this demanding *before* I hire you, I shudder think how you
might behave on the job.
How would anyone know to call you? My contact info has been posted on
the net many many times in my search for employment and nobody has
called me for many years. They obviously don't bother to read the
online resumes,...

Or they do and found yours lacking.

Based on your apparent attitude, as expressed here, I think you'd be
a nightmare to employ.
 
C

CBFalconer

Chris said:
Robert Maas, see http://tinyurl.com/uh3t writes:
.... snip ...


Or they do and found yours lacking.

Based on your apparent attitude, as expressed here, I think
you'd be a nightmare to employ.

If you have a lockable basement room, with suitable provisions for
sliding in food and drink and extracting produce and offal, it
might work out.
 
S

Scott Ellsworth

From: Scott Ellsworth <[email protected]>
Your attitude, from the outside, _appears_ to be one that will offend
many potential employeers.

I have 22 years experience in writing computer software, including
assembly or machine language for several different CPU types, including
several mid-level and high-level programming languages, including
utilities and applications in many different fields. I'm currently
available for work and seeking employment or contract work. In your
personal opinion, what part of that would an employer find offensive?[/QUOTE]

Let me re-emphasize that this is just my _personal_ opinion, and that I
was commenting on how it _appears from the outside_, not anything about
how you actually work.

That said, I found the cluster of comments around "I've been begging
people to look at my software I've already done, but they say they don't
have the time or interest" to be negative. No problem with that, of
course, on usenet, but negativity offends hiring managers. Since I tend
to be the team pessimist, this is a problem. I am never going to be a
rah-rah cheerleader, so I try to be more balanced than my wont.

I might have taken "Your comment is irrelevant because I don't ask for
money from anyone, not minimum wage, not any amount whatsoever. It makes
no sense to ask money from somebody who has never indicated any
willingness to pay me whatsoever" and "From a false premise like that,
anything you say next is worthless" to email. Then again, I might not.

Again, _personal_ opinion. Use it, or ignore it, as you like.

By the way, all of what follows only applies when you are doing job
networking, and trying to move towards an eventual job or contract.
Talking to my next door neighbor at the 4th barbeque has different rules.
Before I respond to that remark, I need clarification: Are you
referring to paid or unpaid work? Are you saying employers want to see
people eager to do unpaid work or paid work?

Paid work.

Sure, they are giving you money for it, but my experience has been that
they want to see some amount of excitement. Glee, even. (Sound's
hokey, but the best ones want to see you enjoying yourself, because they
usually find the job fun. When the fun ends, the job usually does too,
IME.)

Unpaid work is rather different. Enthusiasm still matters, but often,
that enthusiasm is focussed on the organization's goals, not the code.

For something like ANT, it can be treated much like paid work, save that
the 'how much will it make' is not as important.

For something like, oh, the donation tracking software I worked on for a
local charity, they were far more interested in how much I liked the
charity and its work than in how the software would save them time.
I'm sorry but I'm not privy to the internal financial affirs of various
companies. It's the job of the hiring manager to observe what software
I can produce and then decide whether such software would or would not
result in profit for the company.

Right, but if you have a good idea how they make their money, then you
can adjust your pitch. For example, if a client of mine is working on
drug discovery focussed on lab work, I do not really push how much time
we can save their IT staff, or how we have written robot control
software.

Thus, part of your goal in pre-interview research is to figure out what
is going at the company, and what kinds of things they might be doing.
You also likely want a set of interview questions designed to test those
assumptions.

For example, one company contacted me about mysql and access, as they
were having trouble with their customer contact database. I came in
with a list of commercial products, and a list of 'is this why you want
a custom job' questions. Had they responded that these programs would
solve their problem, I would have talked myself out of a job, but I
would have slept better.

It turned out that they did not want commercial software because they
had people in house who wanted customizations on a daily basis. Ok - I
can help with that, and that was one of my theories going in.
Tell me what their goals are, and I might be able to say whether my
softare wuold contribute toward accomplishing those goals. But I can't
guess what the goals of some company might be, at least not in any way
relevant to deciding whether my software would help that goal.

[...]

Very true. After a certain number of years, we all have done enough
that we have to pick and choose what to talk about during the interview
process.

That said, I can guess what their goals are. Before an interview, I
usually have read the last few annual reports, just to get a feel about
what the top level guys have been talking about. I can then at least
start with 'ok - your company seems to be really pushing the federal
grant angle. Do you have a lot of custom software handling that
paperflow', assuming I want to write grant software.

My point was that I come in with a guess about what they are doing, and
try to refine it at every contact. This way, even if I do not get the
job, I come away with a better model of what that company does for the
next time I talk with them.
There's a subtle but important difference between what you say and what
I do. Consider the difference between the high-pressure car salesman
who drags you to a "special" car and virtually insists you buy it,
compared to a customer service representative at Macy's who is
obviously there available to help you but who waits for you to ask a
question about something or upon noticing you fretting around like
you're frustrated trying to find something might ask if you would like
some help finding something.

Thing is, there is a wide range, and not just in one dimension, between
those two examples.

A pushy used car salesman driving you to a 'special' car is rarely
trying to solve _your_ problems. He is trying to solve his. In the
case of employment, it is a bit different. I am selling myself, not
code I have already written. Part of what I bring to the party is the
code we have developed in house to solve certain problems, but really,
the thing being sold is problem elimination. I guess your problems, I
propose general solutions, and if I have guessed right, we discuss how
to turn the general into the specific, and what it will cost.

At the end of the day, my job is to help my clients get their work done.
If they could do all the work themselves, they probably would not be
calling a consultant. We do cause sticker shock, and we can be
terminated at any moment. Salaried employees can as well, but some
bosses feel guilty about that, which is not the case for someone you
hired for a few months of work.

When I have been in the salaried side of the house, I saw my job as
shipping working software. The reason for the difference? They had
committed to a longer time horizon, God willing. Contractors are less
likely than a salaried person to last an entire project, so contractors
are more likely to be hired to make a specific person's life easier.

So, think of it like a custom tailor. One who hits you up the moment
you walk in the door with '$50 minimum' is not going to deserve your
business or your time. It is, though, incumbent on him to tell you that
a bespoke suit runs about a grand (I think, never bought one personally)
early enough that if you were after a Men's Wearhouse price, you know.
When I am contacting some company about employment, I'm merely saying
that I'm available, presenting a summary of what I can do, and leaving
it to them to take an interest and express that interest to me and ask
for more info. I don't harass the employer like a car salesman trying
to insist they should pay for what I offer.

Harass, no. I do, though, try to get across what kinds of problems I
can solve, what those problems usually cost, and what I cost by
comparison. Ideally, this comes up early in the process, because if I
am charging way more than they want to pay, why waste either of our time?

Let me be clear - I may not express it right away, but I go in to most
such networking situations thinking 'what can I do for this person', and
'what is that worth'. If I get 'nothing' and 'nothing' I still want to
know more about them, because people are interesting, but I am not
likely to be working for them.
I'm not directly asking them for money, like **expecting** that they
would be the next company to hire me, and getting angry if they don't
say yes. I'm simply stating that I'm available if they happen to want
to spend money to hire me. It's a hypothetical, I'm available if
you want to pay for my services, rather than GIVE ME GIVE ME GIVE ME.
So do you understand why it pisses me off when you express it in a way
that makes it seem like I'm demanding to be hired instead of merely
offering my services contingent on suitable pay?

I suspect we have hit the core of our difference here. You feel that
you are not asking them for money, because asking for money means being
pushy and demanding, and getting pissed off if they say no. I feel that
every job interview is asking them for several hundred thousand a year,
once you count benefits, and thus it is implicitly asking the potential
employer for a lot of cash. Not much up front, but a bunch down the
road, so I have to let them know what they get out of the deal.

It is far from the first thing we talk about, because we have to figure
out what needs to be done before we can talk about what it will cost.
That said, once we have some idea of scope, they deserve to know what my
solution will run.

I do not get pissed off when a contract falls through, as long as
everyone acted in a reasonably professional manner. They do not owe me
a job, but since custom software does not have a price tag on it
explicitly, they have to ask me what I am going to charge. Better, in
my mind, if they have a pretty good idea early in the process.

Since we are not likely to agree on this, I suspect we should drop it.
As I said several times, RSA Data Security was the only company where I
really expected to be hired, because I had already on my own time
developed software exactly like their main line of business, and I was
quite unpleasantly surprised when they didn't hire me. With every other
company, I think of it as a chance, maybe they'll hire me and maybe
they won't, and I have no expectation either way.


I don't understand the difference between what you're asking me to do
to potential employers and what the high-pressure car salesman, or the
door-to-door salesman, does to the poor customer. I'm just not the kind
of person to treat people with such disrespect. If you mean something
else, you're not communicating it well.

Only you know what you can do for them, and only they know what they
need. You have to guess, based on insufficient information, what they
need, and what that is worth. The entire negotiation process is an
attempt to work that out.
From a scientific or aware-consumer viewpoint, that is the policy that
actions speak louder than words, that proof is in the pudding, that
evidence weighs a lot more than what you say, the only way any
potential employer could be really sure I can do the job would be if
they gave me an "audition", some small exercise where I could prove my
muster. I've offered to do auditions but no company has taken me up on
my offer so-far. (If any potential employer is reading this and wants
to audition me, connect to my login page:
http://shell.rawbw.com/~rem/cgi-bin/LogForm.cgi
log in as guest1 with password free, and send me a short message
introducing yourself. Or send me e-mail to my Yahoo! Mail address,
where your e-mail will be mixed in with tens of thousands of spam, then
connect to my login page to let me know you sent me the e-mail so I'll
be able to sift through ths spam haystack looking for your e-mail
needle by searching specifically for your particular e-mail address.)


How would anyone know to call you? My contact info has been posted on
the net many many times in my search for employment and nobody has
called me for many years. They obviously don't bother to read the
online resumes, or they would have found me and called me already, so
why would they call you?

A fair question, with a complicated answer. Online, I try make my posts
technically useful, in hopes that they will solve someone else's
problem, and make them want to track me down.

I do happen to have some space on my dance card, so I am calling people
I have worked for and with, and letting them know. One of them may have
something, or perhaps one may need something from me. Bread on the
waters.

I am also spinning up my involvement with some projects I want to get
better at. If I make a useful contribution to a project, I would hope
that work will result. If not, at least I have a new tool.
Well that's about the range I would expect, but given that I have never
gotten any such offer, it seems silly to turn down any lesser offer if
it appeared. I'd much rather earn $15/hr than remain unemployed due to
holding out for $30 and refusing to take any less. The highest offer I
ever actually got was $25/hr 1099, and I took it.

Sure - I have taken contracts all over the map when I needed to, where
the pay, or the work, was not my ideal. Part of effort of finding good
jobs is to let you not have to take the bad ones.

(NB - bad for me is not bad for you, and vice versa. I hate Perl, but
like Java and ObjC. I am starting to like Ruby. For our Perl master,
there are jobs that are wonderful which I would find hellish, and vice
versa.)
I've already spent several years doing that sort of thing, and it never
turned into any chance of money in that area, and I'm pretty much
burned out giving my free labor and getting neither money nor any
social benefit in return, just take my labor and throw shit back at me.
Fool me once, shame on you. Fool me twice, shame on me.
Sorry if you don't like my current attitude, but I tried your idea for
quite a number of years and it didn't result in any money, ever, and
I'm not willing to continue making the same mistake just because you
beg me to and plead that it won't be so bad this time.

Where, in the above, did I beg and plead? You suggested that you had no
idea what your skills were worth, and I suggested that an open source
project might give you that information, by showing you how your skills
compare with others currently getting paid. If you have another path,
by all means use it.
So anyway, you say I should demand $30-50 per hour, and the other guy
says I should demand at least $80-100 per hour and not take anything
less, because anything less than $80/hr shows I'm completely worthless.
(Yes, I'm paying attention to the various advice I get in this thread.)

Fair enough.

Scott
 
P

Phlip

Scott said:
Right, but if you have a good idea how they make their money, then you
can adjust your pitch. For example, if a client of mine is working on
drug discovery focussed on lab work, I do not really push how much time
we can save their IT staff, or how we have written robot control
software.

My goodness. That sounds like my advice (via /Parachute/) to research and
respect your interviewer's potential concerns.

However, I think Robert has successfully pissed off every head-hunter in
town. Recruiters can be a close-knit community, meaning "incestuous",
_especially_ in a post-apocalyptic region like The Bay Area.

If Robert's interactions with this newsgroup are similar to his interactions
with them...
Fair enough.

I have started charging per line-item in the feature request list. That
means if I estimate X to take 30 minutes, and it does, I win.

This fits the strategy of coaching the client to produce a steady stream of
small feature requests.

And it shows my confidence in my estimates.
 
M

Martin Eisenberg

CBFalconer said:
If you have a lockable basement room, with suitable provisions for
sliding in food and drink and extracting produce and offal, it
might work out.

Whoever has seen "Office Space" knows it ultimately won't ;)
 
C

CliffMacGillivray

Not for nothing but you sound kinda nuts. Like, pretty mentally
unstable. Seriously, do you have social or mental health issues which
may be hindering your job search?
 
R

Robert Maas, see http://tinyurl.com/uh3t

From: Scott Ellsworth said:
I found the cluster of comments around "I've been begging people to
look at my software I've already done, but they say they don't have the
time or interest" to be negative.

I was just being honest. In 1969 I developed a really good algorithm
but didn't have anybody to show it to. In the 1970's I implemented it
in Algol but didn't use it much at that time. At the start of 1995 I
adapted it to run on my Macintosh Plus and found it very effective at
teaching my children how to read and spell when my son was in
kindergarden (when I first wrote the program) and later when my
daughter was not yet in kindergarden. I impressed everyone around with
their abilities that exceeded their classmates, but I couldn't get
anyone to come over and witness the program itself, up to mid-1999 when
my Mac Plus blew the power/video board and I didn't have enough money
to get it fixed so I had to retire the program. Meanwhile I had
developed a lot of other useful software on my Mac Plus and I couldn't
get anyone to look at them either. Then in late 2000 I discovered that
my Unix shell ISP had CMUCL, so I started porting some of my software
to Unix, but again I couldn't find anyone to sit with me for a
demonstration of my software on my Unix shell account. Then at the end
of 2000 I discovered how easy it was to make my software run in CGI
mode, so that it'd be accessible to just about anyone anywhere on
InterNet, so I set up some CGI demos of some of my useful software
modules that had been previously ported to Unix shell. I was hoping
that with CGI, people wouldn't have to come to my apartment to see a
demo, I could now take the demo to whereever they had a Web browser. I
hoped I could show what I had already, then interface more demos with
CGI and show that too, and pretty soon somebody would see so much good
stuff they'd decide I'm worth hiring me. But it didn't work out that
way. I could only get one person in Real Life to take a serious look at
my CGI demo. He really liked it, but didn't know of any jobs he could
refer me to. So I'm frustrated that nobody (except that one person) is
even interested in looking at a free demo of even a tiny portion of
what I've accomplished in software.

I'm not the kind of person to toot my own horn, to brag and brag and
brag incessantly until somebody takes a chance and hires me without any
evidence except my bragging. I'm a shy kind of person who would rather
show a demo of my work and let the other person decide if it's good or
not. But if nobody will ever look at my work, then nobody will ever
have any reason to hire me.

So if I can't brag about my abilities (because I'm not the braggart
type), and if I can't show demonstrations of my work to people, then
what's your advice how to ever get somebody to hire me again?
all of what follows only applies when you are doing job networking,

I've never been able to do that, because I've never been able to find
anyone willing to refer me to anyone else, with one exception: A few
weeks ago I was trying to get a roll of quarters for bus and laundry
but the bank had closed earlier than I expected, so I dropped by the
post office but they were closed too but somebody referred me to the
post office annex around the corner that was open on Saturday, but they
didn't carry any significant amount of money. Before leaving I happened
to ask if they knew anyone in the area who might hire me for computer
programming. They referred me to a guy who had an office very close to
the annex. I checked there, met the guy, and indeed he is working on
projects where he might need a CGI interface to some standalone
software he'd already written and was marketing. So the referral from
the post office annex to the guy needing CGI was one instance of
"networking". But so-far that has been a dead-end because he hasn't
gotten any contract to do the CGI stuff so doesn't yet have any money
or need for my services, and he doesn't know anyone else to refer me
to.

All other times I've asked anyone if they knew anyone hiring, they
either knew their own company definitely wasn't hiring and didn't know
any company that was, or they didn't know about anything specific in
their company so I should check the Web site, which I did only to find
it devoid of any job ads except the ones that require 3-5 years
fulltime paid experience in each of ten or twenty technologies that
didn't exist more than five or ten years ago, the same as I get from
Monster.com or CraigsList or any other regular job site, all worthless
to me.
Right, but if you have a good idea how they make their money, then you
can adjust your pitch.

OK, let's work on on a single example: I'd like to work for Sun
Microsystems, implementing some new ideas in Java. But Sun doesn't make
money from Java, they give it away for free. How does Sun actually make
its money, and how can I make a pitch in that direction if I'm actually
intending to develop Java further, or at least that's what I'd like to
work on, actually I'll do whatever they pay me to do, but if I'm to be
excited about my work it should be something I'm personally advocating,
or something else I haven't thought of which somebody there mentions to
me which makes me interested in it. So anyway, how do I learn how Sun
makes money?? I have no idea. I don't a Google search for "how Sun
Microsystems makes money" would give me the info. OK, just to cover all
bases I tried that search just now, and saw comments about how Sun
ought to make money or is trying to make money, but nothing about how
they actually make money, not even on selling operating systems.
So do you know how they make money?? Or even if they do?
Before an interview, I usually have read the last few annual reports,
just to get a feel about what the top level guys have been talking
about.

OK, back to Google: Sun Microsystems annual reports
Done, none of the matches provide any online access to Sun's annual report.
So I guess I don't have that option unless you know of a secret place
where their annual report is available that Google doesn't have indexed.
In the case of employment, it is a bit different. I am selling
myself, not code I have already written.

I assume you mean to say you are selling what you can do in the future,
not your physical biological flesh, right? So how is it possible to
sell something that doesn't exist until the future, with no reference
to what I've already done that is indicative of the range of things I
could do in the future?
Part of what I bring to the party is the code we have developed in
house to solve certain problems, but really, the thing being sold is
problem elimination.

Please clarify what you mean by "problem elimination". It sounds like
"pest extermination", but I don't think that's what you mean. Do you
mean like if they have a business procedure involving five steps, but
one of the steps is taking an inordinate amount of time, but if that
one step were automated in a way that fit in with the other steps
nicely then that one step would take much less time without any bad
side effect on the procedure as a whole? Or one of the five steps is
producing very inaccurate results which is messing up the next step
after it, and if that one step were made more accurate then the whole
procedure would come out better? Or am I guessing wrong?
At the end of the day, my job is to help my clients get their work done.

That's what I'd like to do. How can I find somebody who needs help and
is willing to admit it to a total stranger like me?
think of it like a custom tailor. ... It is, though, incumbent on him
to tell you that a bespoke suit runs about a grand (I think, never
bought one personally) early enough that if you were after a Men's
Wearhouse price, you know.

I suppose you could characterize my work as custom software at Men's
Wearhouse price.
I do ... try to get across what kinds of problems I can solve, what
those problems usually cost, and what I cost by comparison. Ideally,
this comes up early in the process, because if I am charging way more
than they want to pay, why waste either of our time?

I have no idea how much other people charge for custom software on a
per-use-case basis or per-function/method basis, so I wouldn't know how
to compare their standard charges with my (hopefully) more-affordable
charges.
I go in to most such networking situations thinking 'what can I do
for this person', and 'what is that worth'.

I have no idea how it's possible for a person such as myself seeking
employment (in the generic sense of *any* mode of formal paid work, not
necessarily W-4) to have any reasonable idea whatsoever how much a work
of software will truly be "worth" to the company hiring me. So all I
can honestly claim is what capabilities my new (future) software will
provide, now how much additional profit it'll produce for the company
using it.
I feel that every job interview is asking them for several hundred
thousand a year,

Shit, that's an order of magnitude more money than anyone ever paid me
for my work. I would feel like an idiot even mentionning the
possibility of so much money from a new employer. Now I've made a few
significant inventions, such that I think I deserve about a million
dollars for rights to each, but that possibility is just pie in the
sky, not anything realistic.
It is far from the first thing we talk about, because we have to
figure out what needs to be done before we can talk about what it will
cost.

OK, we're in complete agreement on that. I personally need to know
enough about what is needed that I can assess whether it's even likely
I can do the job with reasonable effort in the first place. I don't
want to talk myself into a job where I just sit there frustrated that I
can't figure out how to accomplish the task, and get fired for
incompetance after two weeks or a month. I'd rather let somebody more
qualified have such a job, so I don't get a reputation as somebody who
talks his way into jobs he can't handle. Note that in all my past jobs,
I *could* handle the work, I *could* accomplish the objectives. I
*could* produce software that did what was expected of it. The only
borderline case was a pure A.I. research job (designing software to
convert sloppily-phrased typewritten English-language instructions into
precise algorithms, by having the "robot" recognize ambiguities and
resolve them by not by asking the human what he/she means by the
ambiguous instruction but instead by actually single-stepping the
algorithm up to the point where the ambiguity in instruction means
ambiguity in what micro-step to perform next, and at that point asking
the human which of the various micro-steps he/she intended at that
point, and then reflecting that decision back into resolving the
ambiguity of the original English command). In that pure-research
project, it wasn't necesary to produce useful software, merely to
explore the idea and see how it worked in test cases and then publish a
paper in some computer-linguistics journal. The title was "English
Language Interface for an Instructable Robot", but it was in some
obscure journal I never heard of and can't remember now. I wonder if
Google has it indexed:
English Language Interface for an Instructable Robot Patrick Suppes Robert Maas
Ha ha, the only match it finds is my resume where I mentionned that,
sigh. Is there a good search engine for finding articles in
computational linguistics journals?
Only you know what you can do for them, and only they know what they
need. You have to guess, based on insufficient information, what they
need, and what that is worth. The entire negotiation process is an
attempt to work that out.

I was going to amend that to say that sometimes from knowing what they
are doing and how they are doing it I can sometimes say what they need,
but then I guess you'd consider that guesswork on my part, which you
already covered. But sometimes my guesses are very educated or
knowledgeable or informed or expert, for which the word "guess" seems
off-base a little. As I said, I can't guess at all how much it's worth
to the company's "bottom line" (net profit).
Online, I try make my posts technically useful, in hopes that they
will solve someone else's problem, and make them want to track me down.

I do that too. A couple people have contacted me privately about some
hairbrained idea of the moment they felt a desire to do, such as using
a programmable logic array to emulate a Lisp-machine CPU, and I'd start
talking with them regarding more specifics of what they wanted to
accomplish and how to do it, and I'd start brainstorming a prototype
(strawman) design as a starting point for the analysis/design stage,
but within a few days they'd realize their original idea wasn't a good
one and they'd close off communication on that topic. I've never had a
serious contact from somebody who had a serious workable business idea.
I have no idea why the serious people contact you but not me. I've
proposed a heap of good ideas for future R&D projects, regarding Java
libraries, abiogenesis research, whatever, but none of it has triggered
anybody wishing to hire me to develop some of those ideas nor even for
developing their own business plans that were similar enough in general
ways to my proposals that they would think I might like their ideas and
be able to implement them. So why do you get such offers, but I don't?
I've done more than my share of helping people online for more than
thirty years, in the Stanford and MIT and ARPANET communities way back
then, and over the InterNet since early 1991.
I do happen to have some space on my dance card, so I am calling
people I have worked for and with, and letting them know.

I don't have that option. I don't know how to contact anyone from my
former work except Patrick Suppes who retired about ten years ago, my
supervisor there who got laid off at that time when Pat shut down IMSSS
where we had worked, and some people from the Stanford A.I. lab who
have all retired. None of them know of any current or recent openings
to suggest to me, and none of them have any connections to anyone else
who could talk with me about employment etc.
I hate Perl, but like Java and ObjC.

I like Java but Lisp better for most purposes. I hate Perl, for one
precise reason, that it mixmashes lots of datatypes together so you
can't tell what type an item is supposed to be and you absolutely can't
distinguish two different types that happen to have the same print
representation such as strings whose characters all happen to be digits
at the moment and actual numeric values, so a+b could either add or
concatenate depending on what characters happen to be in the two
strings at the moment. I'm curious as to your reason for hating Perl.
I am starting to like Ruby.

% whereis ruby
ruby:
It doesn't seem to be available here on FreeBSD Unix, unless there's
some other name it's called here, do you know the correct filename to
look for on Unix? Anyway, AFAIK I've never had access to any system
that supported Ruby, so I'm jealous of your situation of getting a
chance to try it.
You suggested that you had no idea what your skills were worth, and I
suggested that an open source project might give you that information,
by showing you how your skills compare with others currently getting
paid.

The whole point of open source is that nobody is getting paid one dime
for all their work, and the work will be given to the world at large
absolutely for free, right? I don't see how that kind of environment
will produce any data whatsoever about how much people get paid in
their employment if any they might have elsewhere than open-source
projects. In the past, open-source projects I've worked on never had
any hint of money anyone was getting from anywhere. I don't see why
it'd be any different now. What am I missing about the argument you're
trying to make? Oh, are you saying the project wouldn't tell anything
about pay rates, but might tell something just about raw skills and
abilities and productiveness of variuos people as they contribute to
the project? It didn't work out that way either. Each of us was working
on totally different implementations, and it was impossible to compare
one person's work on one system compared with another person's work on
another system, and no record was kept of how many hours anybody worked
so there was no way to compare per-hour-worked productiveness of the
various people. Just at one group meeting somebody would say they were
working on something, and then a month or so later at another group
meeting they'd announce they had their implementation partly working
and they'd pass out printouts of their source code (8080 assembly for
example). I had no idea how many hours of work it took them to write
and debug ten printed-pages of code. I didn't even keep track of my own
time on such free projects, so I didn't even know my own rate of
production per unit work time.

So, I ask everyone, how can I find somebody with money for hiring who
would interview me for serious consideration for some kind of paid work?

Is there any value in showing work I've already done as a sample of
what I am capable of, toward the goal of getting a serious interview?

Is there any online software-piecework morket where I can make bids on
small (*) tasks somebody wants done, and if I'm the lowest bidder then
I have one week to finish a fixed-price contract per my bid?

* (expected 20-30 hours work needed to complete such a software task)
 
P

Pascal Bourguignon

So anyway, how do I learn how Sun
makes money?? I have no idea. I don't a Google search for "how Sun
Microsystems makes money" would give me the info. OK, just to cover all
bases I tried that search just now, and saw comments about how Sun
ought to make money or is trying to make money, but nothing about how
they actually make money, not even on selling operating systems.
So do you know how they make money?? Or even if they do?
[...]
OK, back to Google: Sun Microsystems annual reports
Done, none of the matches provide any online access to Sun's annual report.
So I guess I don't have that option unless you know of a secret place
where their annual report is available that Google doesn't have indexed.

finance.yahoo.com is better to answer this question.
http://finance.yahoo.com/q?s=SUNW

See the SEC Filings: http://finance.yahoo.com/q/sec?s=SUNW

In the Net revenues. you'll note that it gets twice more revenues from
products (computers) than from services (programmers?).

From the Operatin gexpenses, you'll see that they don't send too much
on programmers anyway: most is spent on "selling, general and
administrative" (become a seller or an accountant), and the rest on
R&D (get a PHD).

So, I ask everyone, how can I find somebody with money for hiring who
would interview me for serious consideration for some kind of paid work?

Is there any value in showing work I've already done as a sample of
what I am capable of, toward the goal of getting a serious interview?

Is there any online software-piecework morket where I can make bids on
small (*) tasks somebody wants done, and if I'm the lowest bidder then
I have one week to finish a fixed-price contract per my bid?

* (expected 20-30 hours work needed to complete such a software task)

http://www.codelance.com/


By the way, you don't need to limit yourself to $200 tasks. Microsft
offers $5M to track virus writers (you'd need a good Internet
connection to do that though).
http://money.cnn.com/2003/11/05/technology/microsoftbounty/?cnn=yes
 
P

Phlip

So if I can't brag about my abilities (because I'm not the braggart
type)...

I'm not sure how you are taking my posts here, because they might sound like
cheap shots. They are not. Please understand what I mean when I point out
you are _very_ good at bragging about what a bad time you are having.

Done right, that's called The Blues. Just keep it short!

Now, about setting yourself up for impossible expectations...
OK, let's work on on a single example: I'd like to work for Sun
Microsystems, implementing some new ideas in Java.

What the hell does working in Java have to do with working for Sun? Do you
really expect them to drop what they are doing and declare a permanent
corporate holiday on the day you arrive and announce you want to experiment
with their toy language??

If you _really_ believed in this new idea, you would write it up, give it
away for free on the Java communities, and generate some buzz. Never think
for a minute that getting money has anything to do with preserving your
intellectual property. That ways lies madness.
...But so-far that has been a dead-end because he hasn't
gotten any contract to do the CGI stuff so doesn't yet have any money
or need for my services, and he doesn't know anyone else to refer me
to.

One more thing. If you ever get near the negotiating step again, offer to
pay per "story point". (Look it up.) That means the customer requests a
line-item for a feature ("put a button here that..."), and you estimate in
hours how long it will take.

Then you charge to the estimate, not the actual. Demand the _smallest_
possible line items - 2 to 9 hours each - to make them easy to estimate.
This technique simplifies the hell out of client negotiations and
discussions. If the cost is high, the client redacts line-items from a
feature. If the estimate is low, you learn something and coast for a while.
If the estimate is low, you spend time cleaning up the codebase. So you and
the client have a compelling motivation to efficiently converge on the
minimum feature set that maximizes value.

The reticence at the "now I need funds to put you on this job" step is
because so many of your peers have destroyed your potential customers' faith
in programmers. Yes, they would rather hire an idiot freshly graduated to
use the latest buzzword-compliant crap, rather than a senior who knows how
to prevent bugs and stabilize development. Then they must have a huge cash
reserve to retain this idiot, because they never know which feature request
will cause long expensive bug hunts. Charging per estimate flattens all that
overhead and puts you in front of the whole bad scene.
It doesn't seem to be available here on FreeBSD Unix, unless there's
some other name it's called here, do you know the correct filename to
look for on Unix? Anyway, AFAIK I've never had access to any system
that supported Ruby, so I'm jealous of your situation of getting a
chance to try it.

What the hell? You have no Win32? The Ruby distro on RubyForge has a
standard installer, easier than falling off a log!

You really need to work on the positive thinking angle!!!
The whole point of open source is that nobody is getting paid one dime
for all their work, and the work will be given to the world at large
absolutely for free, right?

No. It's to get them hooked and then charge for the upgrades. Nobody said
you couldn't start charging if someone starts using your code, then needs a
new feature. Do you think the GNU license prevents you from charging for
that?
 
S

Steve O'Hara-Smith

On Thu, 11 Aug 2005 21:42:30 -0700
strings whose characters all happen to be digits
at the moment and actual numeric values, so a+b could either add or
concatenate depending on what characters happen to be in the two
strings at the moment.

Perl doesn't do that, a+b will always add and a.b will always
concatenate. If there are no leading digits in the string it turns to 0
for the adding.

perl -e 'print "fred" + "jim"';
0

perl -e 'print "fred" . "jim"';
fredjim
 
?

=?iso-8859-1?Q?Tiarn=E1n_=D3_Corr=E1in?=

% whereis ruby
ruby:
It doesn't seem to be available here on FreeBSD Unix, unless there's
some other name it's called here, do you know the correct filename to
look for on Unix? Anyway, AFAIK I've never had access to any system
that supported Ruby, so I'm jealous of your situation of getting a
chance to try it.

% pkg_add -r ruby

HTH

Tiarnán
 
M

Matthias Buelow

% pkg_add -r ruby

and:

$ pkg_info -R ruby*
Information for ruby-1.8.2_4:

Required by:
portupgrade-20041226_3
ruby18-bdb1-0.2.2
....

Odd that his ISP's sysadmin doesn't have portupgrade installed on the
FreeBSD box (which sucks in ruby as a dependency)... I'd think that's
pretty standard but then again, some of those people just setup the
box once and then don't bother about it anymore...

mkb.
 
J

jonathon

Let me make sure I understand this... you are looking for Ruby on
FreeBSD? If so, it's a fundamental part of the portupgrade system.
Ruby works great on FreeBSD.
No. It's to get them hooked and then charge for the upgrades. Nobody said
you couldn't start charging if someone starts using your code, then needs a
new feature. Do you think the GNU license prevents you from charging for
that?

Don't forget about the wonderful BSD license. You can do whatever you
want with it, pretty much. You can take it (it's not stealing to take
something given to you), modify it, and then either keep the changes to
yourself, contribute them back to the project, or use them for
competitive advantage for a time, and *then* contribute them. That's
the one I like. Keep in mind, if you keep the changes to yourself, it
becomes harder and harder to maintain the codebase and keep it in sync
with the original project. So the incentive is to merge your
improvements before that happens. The BSD model is great, IMHO.
 
J

Joe Wright

Robert Maas, see http://tinyurl.com/uh3t wrote:

Sorry Robert, I have snipped everything. Now, do I have this right?

You are a highly skilled programmer located in Silicon Valley and out of
work for how long? A year? More?

You can't find a job in Santa Clara County even at minimum wage? There
are thousands of programming jobs in the Valley. The turnover is on the
order of hundreds of programmers a day.

What's your problem, Body Odor? Are you really Ugly?

Do you want cheese with your whine sir?

It's called Selling. Do it!
 
R

Robert Maas, see http://tinyurl.com/uh3t

From: "Phlip said:
I think Robert has successfully pissed off every head-hunter in town.

Are you talking about after I patiently waited more than ten years for
even one of them to find me an interview, and finally after more than
ten years of their total incompetance, finally I start speaking out in
public and they don't like me telling the world how incompetant they
are? Frankly I don't care if I piss them off at this point.

Or are you saying that somehow I pissed them off way back in 1991 when
I first started the current sequence of asking them if they can find me
a job because I have just recently (1991.Sep.01) become unemployed
after being steadily employed for ten years? If you're making that
claim, please present evidence of something I said or did way back in
1991 to piss off all appx. hundred of them such that that's the reason
they haven't gotten me even one interview in all the time from 1991.Sep
until the more recent time when my patience was exhausted and I started
my public complaining about their incompetance.
If Robert's interactions with this newsgroup are similar to his
interactions with them...

My interactions with them during the first several years since I became
unemployed was totally different. I was totally polite and patient. I
never contacted them unless there was a job ad that I wanted to respond
to, except for some cases where I used the Yellow Pages to call them at
random to ask whether they knew of any openings in my area and might be
able to help me find a job. Never a complaint about them for quite a
number of years. I was the total nice guy who is ignored by everyone in
favor of the squeeky wheel that is irritating enough gets noticed.

Even now my interactions with them are non-complaining, merely sending
my tailored resume in response to their job ad, and waiting patiently
for them to respond, and occasionally when I have a new general resume
I FAX it to a whole bunch of them to alert them that I'm still looking
for employment and to get back onto their "hot list" of resumes at the
top of their attention spam, and only one responded in any way, to
complain that they're accepting resumes *only* via MicroSoft word
attachment to e-mail, which I have no way to send from my Unix shell
account, so it took several months before I could find a way to get a
resume to that agency, and then it just went into a black hole.
(Does anybody want the name of that MS-Word-only agency?)
I have started charging per line-item in the feature request list.
That means if I estimate X to take 30 minutes, and it does, I win.

I would really like to bill that way, but I've never found anyone
willing to contract or otherwise pay for my services on that basis.
By the way, how much money (US$ please) would you charge for a feature
that took you only a half hour to implement and debug and test and
integrate with the overall program and fully document as addendum to
the regular program documentation?

I especially like that idea during the initial stages of working with a
given client/employer, when I am not sure I'll ever get paid, and they
aren't sure I can really do the work, so we incrementally build trust
by my delivering and their paying for a little bit at a time.

But nobody has any money to pay for any custom software, only packaged
software from the big vendors. I can't even find somebody to let me
implement something for free as a demo of my ability to do the
particular kind of software work. For example, there's a guy with
offices near here who has written a desktop C++ application that he
would like to interface to CGI. I explained how I like to write CGI
applications, and it'd be easy for me to write a CGI front-end to his
C++ application if he just tells me which two or three use cases to
start with as my demo and then after I get a toy version of the
interface running he tells me the actual C++ function/method calls into
his program so I can convert my toy interface into a real interface
into his real program. But he hasn't been able to get any new buyers
for his program, CGI or otherwise, and he's spending all his time
looking for buyers, so he doesn't even have time to spend ten minutes
writing me an e-mail listing the use cases he'd like to see in my first
free demo, and as far as I know he hasn't even had time to try the
CGI/C++ demo I already have online as part of my how-to-HelloPlus
tutorial project, wherein my demo calls a routine to decode the
URL-encoded.form contents, then fetches the various fields by name to
demonstrate that it really does have them decoded individually. That
guy is the closest I've come to finding anyone interested in
contracting/hiring my services in the past several years.
And it shows my confidence in my estimates.

Actually I interpret it oppositely to you: If I bill on the basis of
half-hour tasks, then it means I need at the end of a half hour to get
feedback whether my estimate was correct or not before I proceed to the
next half hour, that I don't trust my own estimates longer than a half
hour into the future. This is great for me just starting at contract
work like this, where if I make a horrible mistake in estimation, it
takes me five hours instead of the half hour I estimated, off by a full
order of magnitude, still it's only 4.5 hours of unpaid work for my
mistake, no big deal, less time than I spend responding to newsgroup
posts in the average day. It's not like if I contract for a job on the
basis it'll take me a half year and it actually takes me five years of
which I get paid only for the first half year, and I don't get paid one
penny until after the product is finally delivered 4.5 years after
promised, if the buyer hasn't found a way to back out of the contract
already by then.
 
P

Phlip

Robert said:
Actually I interpret it oppositely to you: If I bill on the basis of
half-hour tasks, then it means I need at the end of a half hour to get
feedback whether my estimate was correct or not before I proceed to the
next half hour, that I don't trust my own estimates longer than a half
hour into the future. This is great for me just starting at contract
work like this, where if I make a horrible mistake in estimation, it
takes me five hours instead of the half hour I estimated, off by a full
order of magnitude, still it's only 4.5 hours of unpaid work for my
mistake, no big deal, less time than I spend responding to newsgroup
posts in the average day. It's not like if I contract for a job on the
basis it'll take me a half year and it actually takes me five years of
which I get paid only for the first half year, and I don't get paid one
penny until after the product is finally delivered 4.5 years after
promised, if the buyer hasn't found a way to back out of the contract
already by then.

Here I am, brain the size of a planet, and they ask me to take you up to the
bridge. Call that job satisfaction? 'Cause I don't...
 
G

Guest

You are a highly skilled programmer located in Silicon Valley and out
of work for how long?

Delete the "higly skilled"
His idea of skills is displaying his Hello World programs
on his web site.
A year? More?

Fifteen years or more.
You can't find a job in Santa Clara County even at minimum wage?
What's your problem, Body Odor? Are you really Ugly?

Appears to be emotional/mental.
 

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,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top