Java Forum / General / September 2005
How much should I charge for fixed-price software contract?
Robert Maas, see http://tinyurl.com/uh3t - 09 Jul 2005 05:31 GMT In recent years I've been unable to find anyone willing to pay me an hourly rate for my fine work writing computer software. Apparently no company is willing to hire anyone who has been out of work, for fear of paying even minimum wage and getting somebody nobody else wanted and now they know it's because they can't get any software working within a reasonble time (hence for a reasonable amount of wages given hourly pay). I have been offering to do trial work first, then get paid if they like my work, but no company is willing to do even that because of problems getting me covered under their liability insurance policy if I'm not a legal employee yet I'm on their premises a lot. And of course Stanford University (*SU*) was the only place that ever allowed me to work remotely and keep track of my own hours worked, so working off premises now is not an option. Telecommuting is a fantasy, an urban legend.
*SU* (where I used to work before the Loma Prieta earthquake absorbed all their university funding for damage repair, while their president Donald Kennedy used governent research funds for his personal pleasures such as yacht and summer home so we lost all our grants as soon as the 1990-91 fiscal year grants expired, and a recession hit about the same time so IBM and other companies which had been funding us until then cut off their funding.)
A while back some people on the net suggested I work for a fixed-price contract instead of an hourly wage. That way the company can tell me what they need, and I can do all the work on my own time, and then when I have something fully working I present it to them and they pay me that fixed amount, and they don't have to worry I'll bill lots of hours without getting the job done. But I never did that before, so I had no idea how much to charge for any given program. I would like to get at least Federal minimum wage, just as if I had an hourly job, but I have no idea how many hours a project should cost hence no idea how much would be a fair asking price.
During the 2005.Spring school term I took a course in distributed java. One thing the instructor emphasized was writing up "Use Cases", and agreeing to them with the customer, before starting any of the rest of the design. After doing this (*UC*) for a few class homework assignments, it occurred to me that given each Use Case specification, I might be able to easily brainstorm with my customer (*RC*) and we could agree to a specific list of methods needed to implement that single Use Case in a nicely structured manner (*SP*), and I'd write up that two-level list of use cases with methods of each. From my experience with the homework assignments, I had an idea how long each method took to write and unit-test (about one hour), so if I charge a flat rate of ten dollars per method that would be fair. So putting this all togethe, as soon as I write up the methods for each Use Case, I could then immediately state my fixed price for each Use Case, and hopefully the customer would be pleased at my resonable prices and agree to the contract.
*UC* (just on my own, the instructor playing the role of "customer" never had time to really look at my Use Case document much less discuss it with me)
*RC* (a *real* customer, who actually *wanted* my software, and would be paying money for it, so he/she would be willing to spend the time necessary to make sure we were in agreement about what I'd be implementing)
*SP* (no method that does more than one primary task, rather a bunch of single-task methods and a bunch of task-controller methods that merely call the various single-task methods without doing any significant algorithm themselves)
I have found anyone anywhere around here who wants any software work done, and all the job ads have required skills or experience I don't have, making it a shot in the dark to send a resume to any of them, and precluding getting any fixed-price contracts or even interviews about such possibilities so-far.
Recently I've been working on a software project that is so large that I couldn't keep track of it all without breaking it into modules in a nice organized way. Each module implements all the software for handling one kind of data, and typically provides what I call a "weak enumeration" (*WE*), and related software (such as getting a whole list of elements per some range specification i.e. sub-sequence, or doing the whole process of constructing a new enumerator and getting one element if any and discarding the enumeration within a single call, etc.).
*WE* (instead of one method to say whether there is another element of the collection available later, which requires look-ahead to make that determination, the lookahead needing to actually calculate the new element in a way that changes the state of an inner enumeration, so the element must be cached or lost forever, and a second method to actually retrieve the next element of the collection, which was already cached during the lookahead, there's just a single method which returns either the next element if it finds any or an EOF value if it ran off the end before finding any new element. By the way, what I'm doing in many cases is having the outer enumeration be a "filter wrapper" or just a reference wrapper (*RW*) around the inner enumeration, and in some cases there are several levels of one enumeration acting as a filter for the next lower enumeration, and shortly when I'm nearly finished I'll have recursive loops in these enumeration wrappers)
*RW* (Whereas a "filter enumeration" simply returns the same elements that the inner enumeration returns, but filtering, i.e. passing some but nullfiling others, a reference wrapper builds a whole new kind of enumeration but requires some inner enumeration to feed it data to process to make that outer enumeration. If you like the word "continuation" instead of "enumeration" that's fine. An enumeration is nothing more than a particular kind of continuation, namely something that successively returns the elements of some collection, virtual or real, whereas a general continuation might return something else such as successively more narrow ranges around a single approximately-computed value. In my particular application, the dynamic nesting of reference wrappers will be recursive! I.e. there will be reference loops, where one large enumeration is defined to include a smaller enumeration of the same class, possibly going around the reference loop several times, and possibly branching in a tree structure of references, until the leaves of that kind of enumeration get small enough to use a more basic class of enumeration instead, finally bottoming the recursion).
Now that I've broken the program (so-far) into separate files for each class of data being processed and the one or more enumerations dealing with that kind of data, I can step back for a moment and see what I have so-far, sorted by size:
8 -rw------- 1 rem user 6591 Jul 8 18:27 2005-7-ranpri-gpsq.lisp 12 -rw------- 1 rem user 11310 Jul 8 18:31 2005-7-ranpri-gp.lisp 14 -rw------- 1 rem user 13319 Jul 7 18:10 2005-7-ranpri-mf2.lisp 16 -rw------- 1 rem user 14910 Jul 7 20:43 2005-7-mbbt.lisp 16 -rw------- 1 rem user 15653 Jul 8 18:35 2005-7-ranpri-mf1.lisp
(Those sizes include: code, per-method and per-enumeration documentation, and unit-test rigs.)
I notice the modules range from 6591 to 15653 bytes, a factor of 2.3[7..8] (*II*), which is not very wide. After seeing this, it occurs that I could offer a fixed price per class that I write, estimating near the high end of 15k bytes, and if it turns out that the class wasn't as hard as I estimated so the file didn't turn out as large as I estimated, I could offer the customer two choices: - Get a discount from the originally quoted price. - Think of additional features to include in the class or in any other class within the same billing cycle, covered under the original price quote.
*II* (Hmm, as long as I keep talking about my proposals for Interval Arithmetic, and my proposed notation to represent known digits and range of unknown digits for output, I might as well use the same notation whenever I post an approximate real-number value in a newsgroup, and here (above) is my first such usage!)
So why am I posting this? Please anybody who has ever billed software via fixed-price contracts, if you produced Java classes or Lisp modules of approximately that size range I cited above, how much did you charge for each such appx.-fixed-size class/module? I need your advice how much I should state as my going price for fully working code with unit-test and software documentation included. What's the going rate for professional fixed-price software contracts of approximately the size cited above.
P.S. If anybody has looked at the filenames listed above, and it whetted your curiosity to know what big project I'm working on, just ask and I'll tell. But if you read what I was posting about this topic in sci.math a few weeks, you can probably guess, and I encourage to post a followup making your guess public.
Phlip - 09 Jul 2005 07:47 GMT > In recent years I've been unable to find anyone willing to pay me... We have been around this bush. What open source projects have you started patching since I suggested it?
 Signature Phlip http://www.c2.com/cgi/wiki?ZeekLand
Roedy Green - 09 Jul 2005 09:50 GMT > I would like to get at >least Federal minimum wage, just as if I had an hourly job, but I have >no idea how many hours a project should cost hence no idea how much >would be a fair asking price. There are websites where people offer contracts and bid on them. check these out to get an idea the going rates.
 Signature Bush crime family lost/embezzled $3 trillion from Pentagon. Complicit Bush-friendly media keeps mum. Rumsfeld confesses on video. http://www.infowars.com/articles/us/mckinney_grills_rumsfeld.htm
Canadian Mind Products, Roedy Green. See http://mindprod.com/iraq.html photos of Bush's war crimes
IchBin - 09 Jul 2005 14:57 GMT >> I would like to get at >> least Federal minimum wage, just as if I had an hourly job, but I have [quoted text clipped - 3 lines] > There are websites where people offer contracts and bid on them. > check these out to get an idea the going rates. Example would be http://www.getafreelancer.com
 Signature Thanks in Advance... IchBin, Pocono Lake, Pa, USA __________________________________________________________________________
' If there is one, Knowledge is the "Fountain of Youth"' -William E. Taylor, Regular Guy (1952-)
Tim X - 09 Jul 2005 10:27 GMT Nobody nowhere on the planet is going to pay for software based on the number of bytes in the source files! Software is not like potatos, you don't get more money for providing more. Besides, most of the time, the better you understand the problem domain and the higher your skill and experience, the more you achieve with less.
If you are going to write software for a fixed price contract, the only way to determine the right price is to have an accurate idea of how long it will take you to do the work. The only way you can know this is through a combination of knowledge/understanding regarding the problem area and an accurate and honest estimate of your level of productivity. It is also very important to have a clear and agreed scope which not only includes specific deliverables, but also what is not to be delivered and what the costs would be for changing the scope.
To work out how much to charge for some software you write, you need to know -
1. How many hours it will take you to complete the job. A useful trick is to make your estimate and then multiply it by pi. This often gives a more accurate figure once unexpected factors come into play.
2. Determine how much you want to earn a year
3. Work out how many hours you can work a year. A useful formula is
(52 - holidays) * workdays_in_week * hours_in_workday = year_hours
Note that this is meant to be hours you can charge for, so you cannot have 7 wordays in a week because there are lots of things you need to do which you cannot charge for (chase down work, marketing, taxes, general office admin etc). I've found that if you are doing long term type contracts, you can generally work 3 days out of every 7, but if your doing short term contracts, you need to do more admin and therefore can only work 2 days per week. Its also important to put a real number on the hours you are prepared to work in a day - don't put 16, put 8 or maybe 9. Note that I'm assuming a 5 day working week with two day weekends.
4. Calculate your hourly rate by dividing your year_hours into your targeted income for the year. Then multiple that rate by the number of hours it will take to do the job and you have a figure you should charge. Simple.
 Signature Tim Cross The e-mail address on this message is FALSE (obviously!). My real e-mail is to a company in Australia called rapttech and my login is tcross - if you really need to send mail, you should be able to work it out!
Pascal Bourguignon - 09 Jul 2005 11:33 GMT > A while back some people on the net suggested I work for a fixed-price > contract instead of an hourly wage. That way the company can tell me [quoted text clipped - 6 lines] > no idea how many hours a project should cost hence no idea how much > would be a fair asking price. This is rather easy.
If the target business process earns the corporation X dollar/year without your software, but earns X+Y dollar/year with your software, then you can sell them at a price that depends on the time to ROI they will accept:
P/Y = TTROI
P = TTROI * Y
For example, if their business practice on investing is to expect a TTROI of 0.25 year, and your software will allow them to earn 1 more dollar/year/customer and they have 100,000 customers, that is, your software will earn them 100,000 more dollar/year, then you can quote it for P = 0.25*100,000 = $25,000.
Note the software might allow them either to increase their income, or to decrease their costs; it doesn't matter, what counts is that it increases their benefice.
Also it's possible that the software allow them only to increase the number of customer even at the cost of a decreased earned $/year/customer: it's better to have 100,000 customers/year earning $1 each, than only $10,000 customers/year earning $2 each. Your Y will still be positive: $100,000 - $20,000 = $80,000.
It might be profitable to target businesses that accept longer TTROI, or businesses with a greater number of customers (or with a greater potential increase in customer number) or software that give greater improvments in productivity ($/year/customer), or both.
 Signature __Pascal Bourguignon__ http://www.informatimago.com/ The rule for today: Touch my tail, I shred your hand. New rule tomorrow.
jonathon - 11 Jul 2005 18:53 GMT > For example, if their business practice on investing is to expect a > TTROI of 0.25 year, and your software will allow them to earn 1 more > dollar/year/customer and they have 100,000 customers, that is, your > software will earn them 100,000 more dollar/year, then you can quote > it for P = 0.25*100,000 = $25,000. So what would be the rationale for charging double for the same product simply because they are willing to wait six months rather than three for ROI?
Pascal Bourguignon - 11 Jul 2005 19:30 GMT >> For example, if their business practice on investing is to expect a >> TTROI of 0.25 year, and your software will allow them to earn 1 more [quoted text clipped - 5 lines] > simply because they are willing to wait six months rather than three > for ROI? Who told anything about reason? It's psychology. You approach the "decider" with this argument: "Hey, with my product, in six months you'll be earning twice the dollars you earn now.". While you don't have a competitor bidding a TTROI of three months, you don't need to bid less. If you good at it (you approach the decider in the right context with the right adornments), you can even bid a TTROI of one year.
 Signature __Pascal Bourguignon__ http://www.informatimago.com/ Our enemies are innovative and resourceful, and so are we. They never stop thinking about new ways to harm our country and our people, and neither do we. -- Georges W. Bush
Tim X - 12 Jul 2005 09:41 GMT > >> For example, if their business practice on investing is to expect a > >> TTROI of 0.25 year, and your software will allow them to earn 1 more [quoted text clipped - 13 lines] > context with the right adornments), you can even bid a TTROI of one > year. A lot of people overlook the psychology aspect when first starting out. I lost a few initial contracts because I was too cheap and prospective clients thought I was either an amateur or didn't do a good job. When I increased by rate, I began to get more jobs. At the time, I felt uncomfortable asking for what seemed to be far in excess to what the work was worth - then I realised if the market would handle it, why not get what I could - especially if doing so gave me more choice.
Tim
 Signature Tim Cross The e-mail address on this message is FALSE (obviously!). My real e-mail is to a company in Australia called rapttech and my login is tcross - if you really need to send mail, you should be able to work it out!
Michael Sullivan - 11 Jul 2005 21:16 GMT > > For example, if their business practice on investing is to expect a > > TTROI of 0.25 year, and your software will allow them to earn 1 more [quoted text clipped - 5 lines] > simply because they are willing to wait six months rather than three > for ROI? That they will pay for it. You don't need to have a rationale -- you figure out what term ROI they will accept and then price your product accordingly. If other people are out there who can and will do the same job for a lot less, then you can't use that idea. But if you are the only one who is calling on them (or whom they know) who can implement the idea in question, then you should be able to get whatever the cost savings merit from an investment standpoint.
There's a problem with Pascal's analysis though -- it doesn't allow for uncertainty, and uncertainty is a very hard sell. You can do the math to allow for it, but if the person you are talking to doesn't understand things like Expected value, utility of money and other speculation (or gambling) principles, they are going to tend to be much more risk averse than they "should" be depending on the decision maker's personality.
Michael
Chris Sonnack - 11 Jul 2005 18:54 GMT > Telecommuting is a fantasy, an urban legend. Hmmm...apparently I, and several folks I know, are living, or more correctly: working, in a fantasy world.
Cool! (-:
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________| Tim X - 12 Jul 2005 09:46 GMT > > Telecommuting is a fantasy, an urban legend. > > Hmmm...apparently I, and several folks I know, are living, or more > correctly: working, in a fantasy world. > > Cool! (-: Me too. I telecommuted for over 6 years. Then the company was bought and I was made to work in the office - 3 months later, they asked if I'd like to telecommute again. I like to think it was because I was more productive working from home, but it could have been my personality or body odor!
Actually, when I ceased telecommuting, I actually realised I'd missed workinig with others and I doubt I'd do it again - unless I was semi-retired and doing it part-time.
Tim
 Signature Tim Cross The e-mail address on this message is FALSE (obviously!). My real e-mail is to a company in Australia called rapttech and my login is tcross - if you really need to send mail, you should be able to work it out!
Coby Beck - 12 Jul 2005 17:43 GMT >> Telecommuting is a fantasy, an urban legend. > > Hmmm...apparently I, and several folks I know, are living, or more > correctly: working, in a fantasy world. I prefer the term "virtual reality" ;)
I sometimes worry how well I will handle having to have my butt in the office every day again (after almost 4 years with only a few months here and there not telecommuting) if/when I change jobs next...
 Signature Coby Beck (remove #\Space "coby 101 @ bigpond . com")
Michael Sullivan - 11 Jul 2005 21:16 GMT > In recent years I've been unable to find anyone willing to pay me an > hourly rate for my fine work writing computer software. Apparently no [quoted text clipped - 3 lines] > reasonble time (hence for a reasonable amount of wages given hourly > pay). Robert, I think you should pretend that everything you think you know about work and what companies are willing to do is incorrect. Flush it all out. Empty your mind. Then do some reading.
You have so many *huge* misconceptions, and you filter all your experiences to match your map of the economic world as a brutally hard place where no-one ever hires anyone for a living wage, and nothing you can do will ever result in getting back the kind of career you had 15 years ago.
Programmers can't ask for minimum wage, because professional programmers *don't* *get* *paid* *minimum* *wage*. If you walk into my company and claim you are a software developer and expect me to pay $7 an hour for your labor, and I don't know you, and I can't watch you do real programming work in front of me -- I'm going to assume you are a *crank*, and not a developer.
Competent developers in *any* language, even baby scripters make at *least* $30K a year just about anywhere in the US or other rich countries. Probably much more in the bay area. Competent *secretaries* make at least $30K a year, as do competent graphic artists and any number of other office workers. Do you think software development is easier than that? Is what you are doing less valuable to your potential customer than those jobs would be to an appropriate enterprise? Do you think the pool of competent programmers is bigger relative to the demand?
If you think your skills are worthless, why would anyone else think they are worth anything?
> So why am I posting this? Please anybody who has ever billed software > via fixed-price contracts, if you produced Java classes or Lisp modules > of approximately that size range I cited above, how much did you charge > for each such appx.-fixed-size class/module? Are you kidding me? The price per byte of source code is exactly zero. Nobody cares how much source you write. They care about what your program *does*. They care about how much money or time it saves them, or how much profit they will make on new business it allows them to get. If you can't come up with a way to estimate those numbers and it is not self-evident to the potential customer, then they will not pay you a dime for any amount of code.
Secondly, if you are not charging an amount that will equate to at *least* $30 per billable hour, nobody will take you seriously. There is almost no profession or trade that doesn't bill at that rate or more. Car mechanics, house painters, and small job handymen bill at least that much. If you aren't asking for that much on a contract basis (especially short term contracts), it will be assumed that you don't have that much skill.
Michael
Phlip - 11 Jul 2005 22:22 GMT > You have so many *huge* misconceptions, and you filter all your > experiences to match your map of the economic world as a brutally hard > place where no-one ever hires anyone for a living wage, and nothing you > can do will ever result in getting back the kind of career you had 15 > years ago. Thank you. This is a "beliefs create reality" thing, not even a career thing. Robert is advised to read both /What Color is my Parachute/, AND /The Nature of Personal Reality/ by Jane Roberts.
Repeatedly asking this newsgroup for advice, then not following it, is bad karma.
 Signature Phlip http://www.c2.com/cgi/wiki?ZeekLand
Robert Maas, see http://tinyurl.com/uh3t - 12 Jul 2005 08:49 GMT > From: michael@bcect.com (Michael Sullivan) > Programmers can't ask for minimum wage, because professional > programmers *don't* *get* *paid* *minimum* *wage*. 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. If and when anybody expresses an interest in paying me to do work for them, *then* the amount they offer or the amount I ask or the amount we agree upon would become relevant. Right now what I need most of all is simply interviews. I haven't even one employment interview since 1994. (Somebody at a job faire who is standing in a booth and has everyone who walks up show their resume and he spends 10 seconds looking at my resume to declare they don't have any openings that I'd qualify for, doesn't count as an interview.) That last interview was on Miranda street in Palo Alto just off Foothill Expressway. I remember that street because that's my daughter's name (named after a character in the StarTrek-TOS series). The next-to-last interview was about four hours long, 45 minutes with each of five interviewers, for a company on Middlefield near 237, in 1993.Dec. When I got back home from that totally exhausting interview, my wife accused me of being out with another woman the whole time, and refused to let me call the company on the phone to have her talk to them to convince her it was a job interview that took so long. That company strung me along more than two months before they finally told me they hadn't decided to hire me. The third-from-last job interview I can't remember whether it was for RSA data security or the company in Concord or what. That second-to-last-interview was so horribly exhausting it tended to erase my memory of the sequence leading up to it.
> If you walk into my company and claim you are a software developer > and expect me to pay $7 an hour for your labor, and I don't know you, > and I can't watch you do real programming work in front of me -- I'm > going to assume you are a *crank*, and not a developer. And that whole diatribe of yours is a strawman, because I *never* walk into any company *expecting* them to hire me, at any price, whatsoever. I hope they'll hire me, but I would never *expect* you to hire me.
Also, I've offered to do trial work for free just to prove I can do something useful very quickly, get it up and running in a few hours one day, but nobody has been willing to let me demonstrate. So your remark about "can't watch me do real programming..." is bullshit. Come here right now (well not now at midnight, but tomorrow when it's legal visiting hours in this subsidized housing complex) and I'll work for you right in front of your eyes, and then I still won't *expect* you to proceed to hire me, but I *will* expect to post to the net that I did what I said I could do. So I've made the offer to contest your bullshit. The ball is in your court. Put up or shut up. I can demonstrate either Lisp (CMUCL) or Java (J2SE 1.3.1), your choice.
> Competent *secretaries* make at least $30K a year, Competant *employed* secretaries only. Unemployed secretaries don't make $30K/yr or anything even close.
> Do you think software development is easier than that? For me, yes. I have no idea how to do, or I'm incapable of doing, the kinds of tasks that secretaries usually do: schedule meetings, deal with office politics, schedule airline flights, type 125 WPM (I can type about 60 WPM, after deducting 5*errors, during a short test, but then I'm exhausted for an hour or so), understanding strange foreign accents over the phone, hearing five people talk at the same time without spacing out, understanding somebody in high-background-noise environment, switch back and forth between multiple tasks every 2-3 minutes without getting confused, read or type or think at the same time as listening to somebody talk to me, make coffee, remember names and faces of new people I've just seen for the first time.
Designing and implementing computer software to solve specific problems that are well-defined, in a quiet environment with nobody interrupting me or talking in the same room, is a lot easier for me than what a secretary does.
> Do you think the pool of competent programmers is bigger relative to > the demand? If you're referring to people capable of designing and implementing new software, yes, there are hardly any jobs available, but lots of unemployed people begging for such jobs.
If you mean people with exactly the skill sets required according to typical job ads, no, there's probably not one person in the world with all those skills simultaneously in one person.
> If you think your skills are worthless ... From a false premise like that, anything you say next is worthless. (If you don't believe that "a implies b" has the same truth-table as "not-a or b", you have some urgent homework to do.)
> They care about what your program *does*. No they don't. They *should* care that I have produced lots of good working software and I can make more even now, but nobody ever cares what I can do. Not one person (other than myself) has expressed any interest in any software I've written in the past 15 years. 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. The closest I ever came to somebody showing an interest was when I drove around to *all* the employment agencies/recruiters in Mountain View trying to show them my CGI/CMUCL demo, and only one would look at, a guy at Volt, and he said he liked it, but he recruit only for MicroSoft and they haven't been hiring since the recession started in early 2001 and show no prospect of hiring any time soon. When I called back another year he said they still weren't hiring, haven't been hiring the whole time from 2001.Jan to last time I asked. But after I left his office, as far as I know he never again looked at my program, so I don't count him as showing interest in it, and he didn't want to see any other of my software whatsoever.
> They care about how much money or time it saves them, or how much > profit they will make on new business it allows them to get. If you > can't come up with a way to estimate those numbers and it is not > self-evident to the potential customer, then they will not pay you a > dime for any amount of code. I have not the foggiest idea how much money some company will make in the upcoming years. Even their Chief Financial Officer can't say that, although at least he is privy to inside information that would give him a Sahara-snowball's chance of making a halfway decent guess. Me, I have *no* inside information, I'm not privy to their confidential business plan or internal projects etc. so how do you expect me to do better than their CFO at predicting their upcoming profit with and without my new software?
> if you are not charging an amount that will equate to at *least* $30 > per billable hour, nobody will take you seriously. What, you expect me to send a bill to somebody who has never given me any reason whatsoever to expect them to ever hire me or pay me anything?? Wake up, idiot! I can't charge somebody until and unless that person agrees to hire me.
Should I start charging you $60/hr for the time it takes me to rebut your stupid newsgroup postings?? Can I quote your remarks as evidence that you offered to enter into a binding contract with me for more than $30/hr for my services, and now you owe me for my time, at my stated rate of $60/hr which is the going rate for consultants who have 22+ years experience as I do, whereupon if you don't pay I can send your account to a collection agency and expect to collect on it?
P.S. I'm still pissed that RSA Data Security didn't hire me even though I was fully qualified for the opening they had. That's the one job where I got interviewed and they were impressed with me and I really was fully qualified and I should have gotten the job.
Scott Ellsworth - 12 Jul 2005 21:56 GMT > > From: michael@bcect.com (Michael Sullivan) > > Programmers can't ask for minimum wage, because professional [quoted text clipped - 4 lines] > money from somebody who has never indicated any willingness to pay me > whatsoever. Having read your initial post, and this one, I have what may sound like a hostile suggestion. I really do not mean it to be, but I have not found a comforting way to say this.
Your attitude, from the outside, _appears_ to be one that will offend many potential employeers. I am not saying it is, just that it sure sounds somewhat combative and angry. Employers want to see eagerness to do the work, combined with an awareness of how what you do will make them more money, or will let them accomplish their goals.
You are implicitly asking them for money, even if you are not holding out your hand the moment you walk in the door. 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. That you are someone that they want to spend time with, really. For me, a big part of that is showing such a potential client that they will make more money, more sales, more science, whatever, by having me help them, and that the time they spend will be pleasant, rather than combative.
I am consultant. I solve problems for people, so they can get more done. If someone calls, I may well go out on spec, with no written contract. I may spend a day or two talking to them, building a proposal, and other good stuff like that. Even though I do not quote a rate, or a point at which I will stop, they know that this work is supported by the eventual contract we hope to sign. Thus, if we do not seem, in my opinion, to be making progress, I may stop talking to them. Not in anger, just because I eventually have to do work that earns money.
Consulting groups like ours charge between $100 and $150 an hour, depending on the exact skill set of the person at the client. To earn that, a consultant has to earn them roughly $4000-$7500 a week, and we always keep that number in the back of our minds. We earn them that, because we have done this before, and we know what works for the markets we are familiar with. We may spend a month on the beach getting a new technology to the point where we can charge those rates, perhaps in the context of an open source project.
If you do not have a good track record, you still need to be charging enough to justify their time. If the person you interact with earns $50 an hour, then one marathon meeting can cost the company more than your weekly salary or bill. 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.
The true rate, of course, really depends on what you can do for a potential employer. As an salaried employee, you should only half to two thirds of that hourly rate goes to you - the rest goes to benefits, overhead, and the like. Look at how much the work you propose to do would be worth to them, then charge accordingly. You do not get all the money you save them, but you should get a reasonable fraction, and should be able to explain why that is a reasonable fraction.
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. Then watch really carefully for chances to get more done, or to save money by providing a decent service. This is how you know what that dollar figure is.
I am not trying to be flippant, nor am I trying to be mean. The above touchy-feely stuff is the best way I know to explain how you justify a potential wage to someone, and even if you want to do the work for free, you still should know what that work is worth.
Scott -- scott@alodar.nospamtome.com Java and Database consulting for the life sciences
 Signature Scott Ellsworth scott@alodar.nospam.com Java and database consulting for the life sciences
Robert Maas, see http://tinyurl.com/uh3t - 28 Jul 2005 02:25 GMT > From: Scott Ellsworth <scott@alodar.com> > 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 sh.t 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.)
Chris Sonnack - 28 Jul 2005 19:16 GMT > ....what part of that would an employer find offensive? Speaking as someone who's spent part of his time interviewing prospective new hires recently....
>> Employers want to see eagerness to do the work, > > 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.
>> 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. 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.
>> or will let them accomplish their goals. > > 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. [quoted text clipped - 3 lines] > 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?
>> 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. [quoted text clipped - 3 lines] > 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: [quoted text clipped - 5 lines] > 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.
|_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________| CBFalconer - 28 Jul 2005 23:08 GMT ... snip ...
>> How would anyone know to call you? My contact info has been >> posted on the net many many times in my search for employment [quoted text clipped - 5 lines] > 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.
 Signature "If you want to post a followup via groups.google.com, don't use the broken "Reply" link at the bottom of the article. Click on "show options" at the top of the article, then click on the "Reply" at the bottom of the article headers." - Keith Thompson
Martin Eisenberg - 29 Jul 2005 14:59 GMT >>> They obviously don't bother to read the online resumes,... >> [quoted text clipped - 6 lines] > sliding in food and drink and extracting produce and offal, it > might work out. Whoever has seen "Office Space" knows it ultimately won't ;)
 Signature Quidquid latine dictum sit, altum viditur.
Scott Ellsworth - 29 Jul 2005 00:51 GMT > > From: Scott Ellsworth <scott@alodar.com> > > Your attitude, from the outside, _appears_ to be one that will offend [quoted text clipped - 6 lines] > available for work and seeking employment or contract work. In your > personal opinion, what part of that would an employer find offensive? 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.
> > 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? 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.
> > combined with an awareness of how what you do will make them more > > money, [quoted text clipped - 3 lines] > 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.
> > 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. [...]
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.
> > You are implicitly asking them for money, even if you are not holding > > out your hand the moment you walk in the door. [quoted text clipped - 7 lines] > 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 [quoted text clipped - 11 lines] > 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 [quoted text clipped - 19 lines] > 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.
> > 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 [quoted text clipped - 5 lines] > 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.)
> > 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. [quoted text clipped - 8 lines] > 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
 Signature Scott Ellsworth scott@alodar.nospam.com Java and database consulting for the life sciences
Phlip - 29 Jul 2005 04:16 GMT > 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...
> > 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. 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.
 Signature Phlip http://www.c2.com/cgi/wiki?ZeekLand
Robert Maas, see http://tinyurl.com/uh3t - 14 Aug 2005 01:30 GMT > From: "Phlip" <phlip_...@yahoo.com> > 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.
Phlip - 14 Aug 2005 03:23 GMT >> And it shows my confidence in my estimates. > [quoted text clipped - 13 lines] > 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...
 Signature Marvin the Sirius Cybernetics Corp(r) Android with Genuine People Personality(tm)
Tim X - 14 Aug 2005 08:39 GMT > > From: "Phlip" <phlip_...@yahoo.com> > > I think Robert has successfully pissed off every head-hunter in town. [quoted text clipped - 4 lines] > 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. Robert, the mere fact these people didn't get you a single interview during a period which most would have considered a boom time for programmers should be tellng you something. These agencies get paid for filling positions - they don't really care about you as an individual - your just another commodity to them - if they can fit you in somewhere, they will. Now, if you were dealing with them for 10 years, you cannot claim they were incompetent because incompetent agencies of this type simply do not survive for 10 years.
So, what we have is a situation where you provided some details and a resume to job agencies during a boom period in which they undoubtably found positions for thousands of other programmers, but did not find you a single interview - hmmm, lets think about that and possibly consider that maybe its you who is not doing something right. Maybe its a simple as you not putting your resume into an acceptable format? Having seen some of the staff you have on the web and only just a while ago following one of the links you posted to your "resume", I would say this is almost certainly a contributing factor.
Your resume is completely incorrect - its too long, its badly formatted and lots of it is totally irrelevent in the current market. You need to do a well formatted CV, clearly labelled in sections with brief but informative text. Something like (but properly formatted)
Name: Address:
Phone
Key Skill (dot points only!)
e.g. * Strong written and verbal communications skill * Self-motivated and able to work independently or within a team * Proven ability to multi-task and prioritise effectively in an environment involving rapid change and conflicting priorities * Familiar with xxxxx project management methodologies * etc
Employment Histor (from most recent to oldest)
Period Position Employer Key Duties ....
Education/Training (from most recent to oldest)
Date Qualification Institution (Optional Details - such as thesis topic or research project)
Programming Lnaguages (Usually, you would only include languages you have used commercially) Language | Period Used | Last Used |
Publications (List of any publications you have, where they were published and an indication if, for journals etc, they were refereed)
Hobbies/Interest/Private Projects (very brief)
References/Referees Name Position company contact details
> 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 [quoted text clipped - 5 lines] > until the more recent time when my patience was exhausted and I started > my public complaining about their incompetance. You may not have pissed them off - but its obvious you either didn't present yourself well or failed to provide the right sort of information.
> > If Robert's interactions with this newsgroup are similar to his > > interactions with them... [quoted text clipped - 7 lines] > 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. Its not about being irritating enough to be noticed - its about presenting yourself in such a way that they immediately think of you when an appropriate position comes up. For example, if you only listed all your experience with assembler on PDPs etc, then its unlikely you would be considered except in the very unlikely case where some company had an old PDP-10 and just happened to need an assembly programmer. However, if on the other hand you presented yourself as someone with a proven track record of workinig in assembler, someone with a good grasp of low level hardware programming and someone capable oflearning, then possibly you would be thought of when that job comes up workinig on developing software for that new chip xxxxxx.
> Even now my interactions with them are non-complaining, merely sending > my tailored resume in response to their job ad, and waiting patiently [quoted text clipped - 7 lines] > 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'm sorry, but this is just more pathetic moaning and not at all a good advertisment for your abilities or even your problem solvinig skills. Technically, there is no reason you can't sent an MS Word document as an attachment from a Unix shell account - I've been doing this since MS Word first existed. There are plenty of Unix utilities to help do this. If your argument is that you couldn't get your MS Word file to your unix shell account because you only have a dumb terminal connect, thats rubbish as well - there are utilites to allow this - kermit, rz/sz etc. You could probably even do it from your library. Where there is a will there is a way!
> > 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. [quoted text clipped - 33 lines] > guy is the closest I've come to finding anyone interested in > contracting/hiring my services in the past several years. Firstly, I would be extremely skeptical about how well a CGI wrapper to provide a web interface to an already written program would work. I've seen this attempted before and its never very robust or reliable unless the underlying program itself is extremely basic.
Secondly, forget all about that stuff regarding decoding URI elements etc - thats just trivial stuff, a real no brainer for which you can usually find pre-existing libraries/modules to do all the work anyway. You need to come up with really original and inovative stuff if you want to impress anyone with your abilites - decoding URI strings is a student exercise.
> > And it shows my confidence in my estimates. > [quoted text clipped - 13 lines] > promised, if the buyer hasn't found a way to back out of the contract > already by then. Forget about consulting - you are almost guaranteed never to get any ral work consulting because you have no recent proven track record and no track record in current technologies. Most people who move into consulting do so after working commercially for some time and usually have customers (at least one decent one) lined up before they even begin.
Robert, I hate to say it, but I don't think you will get a programming job. Apart from the problem of not having working for 14 years, your age is going to work against you. Assuming you were 18 when you started your degree in 1963, you must be now in your late 50s. Your technical commercial experience is outdated and if your lucky, you probably only have around 10 more years of productive work left in you (I'm being devils advocate here and looking at it from the orientation of a prospective employer). Why would we employ you at this stage when there are both plenty of experienced younger programmers around and even the recent graduates have more experience with current technologies than you? Unless you can convince an employer that you have something which the others don't and its something the employer considers valuable, you have no hope.
I have to wonder why you haven't been trying to get more specific programming jobs that relate to what seems to have been one of your strength areas. If you have a strong and sound math background, why not look for jobs with companies doing software which has a strong mathematical basis - modelling, communications, signal processing etc. Why are you even bothering trying to compete in an area which is flooded with programmers (Java/Web) when thre are companies out therer who are constantly frustrated at not being able to find enough skilled programmers who also have skills in mathemtaics?
Play to your strengths!
Tim
 Signature Tim Cross The e-mail address on this message is FALSE (obviously!). My real e-mail is to a company in Australia called rapttech and my login is tcross - if you really need to send mail, you should be able to work it out!
Robert Maas, see http://tinyurl.com/uh3t - 16 Aug 2005 06:18 GMT > From: Tim X <t...@spamto.devnul.com> > Your resume is completely incorrect - its too long Let me check it right now: http://members.tripod.com/~MaasInfo/SeekJob/Resume.98B.txt That's 60 lines of text. You're correct, it's too long too many lines. How many lines is the maximum for a resume?
> its badly formatted It looks formatted pretty well given the one-page restriction and plain ASCII text, but perhaps you have some specific changes you'd like?
> and lots of it is totally irrelevent in the current market. What specifically? I'd be glad to cut out parts that the majority of people in this newsgroup consider so grossly worthless that I shouldn't include them even though I spent a lot of time doing those things and it would really be dishonest to exclude them, but if dishonesty by omission is necessary to get a job I'm willing to bend. So which items specifically should I delete?
> You need to do a well formatted CV No, I most definitely do not want a CV for applying for non-academic jobs doing software development. http://jobsearch.about.com/cs/curriculumvitae/a/curriculumvitae.htm http://www.careers.ucr.edu/students/graduates/cvsample.html http://jobsearch.about.com/gi/dynamic/offsite.htm?site=http%3A%2F%2Fwww.eurograd uate.com%2Fplan2.html http://www.quintcareers.com/curriculum_vitae.html http://www.careers.ucr.edu/Students/Graduates/CV/ I want a resume, not a CV, because a resume, not a CV, is what is asked by *all* job ads I've seen in this area.
> clearly labelled in sections with brief but informative text. It's already that. What are you complaining about??
> Employment Histor (from most recent to oldest) My most recent employment is more than ten years ago. I've gotten good advice *not* to make my lack of recent employment a major attraction in my resume, or it'd be tossed before any of the good stuff would ever be seen.
I've also been advised very strongly not to include any employment more than ten years ago, and to only summarize anything between five and ten years ago, not list it individually.
> Programming Lnaguages > (Usually, you would only include languages you have used commercially) I've never used any programming language commercially, except 2.5 weeks of Think C 9n 1992.
> if you only listed all your experience with assembler on PDPs etc, > then its unlikely you would be considered except in the very unlikely [quoted text clipped - 5 lines] > when that job comes up workinig on developing software for that new > chip xxxxxx. Well there was one resume I wrote that didn't say any specifics at all, no PDP-10 or 6502 or 8080 or 68000 or IBM-1620 or IBM-1130, only the number/variety of different things I did to emphasize how I've learned so many different languages/environments/applicationAreas that surely I can easily learn five or ten more on a new job. http://members.tripod.com/~MaasInfo/SeekJob/Resume.942.txt It's only 57 lines, three lines shorter than the other. Maybe you'd like it better?
> forget all about that stuff regarding decoding URI elements > etc - thats just trivial stuff, a real no brainer for which you can > usually find pre-existing libraries/modules to do all the work > anyway. I agree. That's why for C and C++ I used Google to find a free set of code to do the form-contents-decoding, not part of a large library, but just a standalone piece of already-debugged (almost, I had to fix a few bugs before they'd work on this system) that would be small enough that I could show it as part of my demo of how to do CGI/C and CGI/C++ software. I made sure the C code was pure C, no cheating by using stuff that the Gnu C/C++ compiler or Visual-C++ compiler could fake in C program even though it wasn't valid ANSI C but was actually C++. Also I made sure the C++ code was true C++ code in both standard and style, not C code that got minimal transformation to run under C++ environment but which was actually C at heart and only sham of C++.
> you are almost guaranteed never to get any ral work consulting > because you have no recent proven track record and no track record in > current technologies. I tried looking for regular employment for years, but lots of people told me that was impossible, that I need to get some short-term contract work, and then with that proven track record some company might risk hiring me on the longer term, in fact one of the short-term contracts might develop into a long-term job. So you see I get so much contradictory advice that I really have to ignore most of it, and accept only that which doesn't contract a lot of other advice I also get.
> Your technical commercial experience is outdated My only technical commercial experience, except for 2.5 weeks in 1992, is within the past 2.2 years. How can you say such recent experience is outdated? Are Visual Basic, C, C++, and Java, all outdated, in your opinion?
> Unless you can convince an employer that you have something which the > others don't and its something the employer considers valuable, you > have no hope. I have a lot of good talent and skills, valuable to an employer, that most others don't have. Maybe you can help me convince an employer to recognize that?
> I have to wonder why you haven't been trying to get more specific > programming jobs that relate to what seems to have been one of your > strength areas. Your question is based on a false premise. I **have** been trying to get programming jobs in areas where I have expertise (educational software, information retrieval/access, etc.), but I've never been able to find anyone interested in my skills in those areas. The closest I ever came was when my former boss referred me to a company that did educational software for children, and took me on a tour of what they were doing, but none of it was actually educational where it actually makes sure a child learns something, it was all play-explore stuff which is fine for spending idle time getting familiar with some stuff that looks interesting but is totally insufficient at making sure the child ever really learned anything. It's like a computer version of the child watching Sesame Street all day. Yeah, the child eventually picks up a few things here and there, but there's no competance at anything. So anyway I was told they aren't interested in any software that actually teaches the child anything, only in making sure the child enjoys the experience of playing with the computer games, so none of my experience is of any value there.
> why not look for jobs with companies doing software which has a > strong mathematical basis - modelling, communications, signal > processing etc. I have no experience in the kind of modeling you're talking about, nor in any signal processing whatsoever. The only communications jobs I've seen required specific experience managing/configuring TCP/IP stacks, which I've never done.
> Why are you even bothering trying to compete in an area which is > flooded with programmers (Java/Web) Because Java is my second-best language, my best being Lisp, and there are no jobs whatsoever in Lisp, whereas 2.5 years ago I actually saw a job ad for Java that I would have qualified for a year later. So I'm only one year away from a chance at a Java job, whereas twenty years away from any other kind of job.
> Play to your strengths! Show me one job opening that matches my strenghths in Lisp programming or computer-assisted instruction.
Phlip - 16 Aug 2005 07:24 GMT > Let me check it right now: > http://members.tripod.com/~MaasInfo/SeekJob/Resume.98B.txt > That's 60 lines of text. You're correct, it's too long too many lines. > How many lines is the maximum for a resume? For a newb resume, one page one page only only only one page.
For a senior, drop a book on them. But make _certain_ they need to read only the minum possible number of lines to make the pass-fail decision.
The Objective is where you pack into a few lines all the wisdom legitimately grown from "20 years experience developing medium-level tools and incorporating them into applications". After that, you have nothing to prove about general mentality.
Then, list the acronyms, and let folks skip to the jobs with those acronyms easily.
The decision "I refuse to work for anyone so stupid they only look at acronyms" is closely related to the decision "I refuse to learn an acronym and prepare my resume, so a hirer will know that I will hit the ground running once hired." I'd jog before a marathon, so I'd learn an acronym before getting the gig that asks for it.
Save up for and pay for .NET experience. (And GNU Mono counts.) The hirers are sick and tired of only getting kiddies who know .NET but don't know how to think to avoid debugging. They would be delighted to locate someone with long-term experience with big bad projects, _and_ with .NET.
Replace ".NET" in my paragraph with any other peesashit new wave vendor-lockin-oriented toolkit out there...
 Signature Phlip http://www.greencheese.org/ZeekLand <-- NOT a blog!!!
Robert Maas, see http://tinyurl.com/uh3t - 23 Aug 2005 22:53 GMT > From: "Phlip" <phlip...@yahoo.com> > The hirers are sick and tired of only getting kiddies who know .NET > but don't know how to think to avoid debugging. I suppose it depends on what you consider "debugging". I write a line of code and immediately apply it to the data I have to see if it gives the data I want. If not, I change that line of code. If it works, I move on to writing the next line of code. When I get to the end of the function I'm working on, I put all those lines together and unit-test the entire function on the data I was just using and any other cases that are useful to make sure it really works correctly in all cases. You consider that not to be debugging, correct? What do you call it then?
Roedy Green - 23 Aug 2005 23:25 GMT >I suppose it depends on what you consider "debugging". Debugging is fun. Programs behave strangely. You get to perform experiments, make hypotheses, and gradually track down the problem. It is like an Ruth Rendell mystery novel.
Debugging is far more entertaining than cranking out code that works first time. I think people are sometimes unconsciously careless just to gives themselves that challenge later.
This may also be the root of why programmers are so reluctant to use any sort of tools that accelerate, automate or check programming.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com
Ulrich Hobelmann - 24 Aug 2005 09:42 GMT >> I suppose it depends on what you consider "debugging". > > Debugging is fun. Programs behave strangely. You get to perform > experiments, make hypotheses, and gradually track down the problem. It > is like an Ruth Rendell mystery novel. You think it's fun if all you *really* want is a working program, to poke its innards until you find the tumor? For hours maybe?
> Debugging is far more entertaining than cranking out code that works > first time. I think people are sometimes unconsciously careless just > to gives themselves that challenge later. More entertaining that constructing a program, a living entity that actually *does* something useful (hopefully)? That's like *walking* to work if it takes you 20 minute
|
|