Let there be light.

That was beautiful.

J. Chris Leslie
Web Programmer Analyst
Information Services & Communications
West Virginia Dept. of Administration
Email: [EMAIL PROTECTED] 

>>> "Palyne Gaenir" <[EMAIL PROTECTED]> 01/23/02 12:28PM >>>
Re: recent discussion on design specs and hiring -- 

What interests me is the difference between "perfect world" and "real 
world" when it comes to 
both assessing skill and developing projects.  Perhaps I'm coming from a 
slightly different 
perspective, since although technically I am a CF coder, in reality I do 
more project management, 
but that includes hiring.

DEVELOPMENT

In my world, a potential client tells me what they'd like to do. I talk 
with them (and their managers 
who'll be using the app[s]) to nail down what it really is they want -- 
which only occasionally is 
exactly what they asked for.  

I develop an outline-type technical spec for them, so they have it. I am 
perfectly open to their 
taking this to someone else, and I do it free anyway.  Nearly all my 
clients are word of mouth 
reference (I've never advertised), and a good-faith relationship is 
something I consider important for 
me to establish up front.  I've never yet had a client go through the 
process of me doing this for 
them and not end up hiring me to manage the project.

Then I develop a design outline to match the tech outline, which is the 
last step in what allows me 
to do general pricing for them. I am a huge believer in as much flat-rate 
pricing as possible, but 
there are usually a dozen caveats about the client's participation, 
provision of materials or review, 
etc. that affect this, and some areas that must by their nature be hourly 
-- I usually quote a flat 
rate based on my estimate, and if I'm wrong, I eat the money -- I figure 
it's my responsibility to 
know what I'm doing, so if I'm wrong, that's my problem, not the client's. 
 Since I work from home 
as do all my contractors, most hourly fees are out of the question but a 
few. Those are rare until I 
know the client and they know I am trustworthy and affordable in this 
regard.

My design specs are a pay-if-you-agree scenario, since I consider it a 
proposal; if they agree to 
the outline and like the design specs, then I add a small (not full price, 
but some compensation) 
price to their first invoice for the time it took me to do it; if they 
don't agree, we are not doing 
business, and there is no charge.

If they agree on the outline specs I do more tech-related detail on my end 
then start handing out 
pieces to various contractors, or looking for some if it's a tech I rarely 
use.  My tech detail only 
goes into 'great' detail on the things we're working on and the next 
step.... I develop the nitty-gritty 
as I go.  I've never worked a project that I didn't learn a great deal 
from, which means I have always 
ended up going back to early devel stuff and upgrading it to fit new ideas 
or plug in new options I 
decided to add later, so the end product was something better.

But that's the on-paper scenario.  

In my real world all of this happens sometimes in a chaotic sequence of 
flying pieces.  It would be 
nice if all clients were big corps who move so slow, and have so much fun 
having meetings 
planning out specs by committee, that they'd be happy to pay a lot of 
money for a proper, linear, 
by-the-book sequence of development.  Then I could the do everything 
"properly" and boy would 
my life be easier, my money be better, and I'd have a lot more time to get 
work done.

The fact usually is it's a client with a project-on-fire, politics 
breathing down their neck, lack of 
time/money for their own inhouse staff and related chaos for what we need, 
and a hoped-for 
delivery timeline that would be impossible even if I were Santa Claus.

But that may be the difference between working mostly for start-ups and 
entrpreneurial firms 
instead of established corporations -- and the difference between working 
with people who have 
been referenced to you from clients, as opposed to firms from out of the 
blue.  

In the entrepreneurial world, everything is due yesterday, for half the 
budget, with half the staff, and 
is an emergency the entire business future depends on.  Most such firms 
have employees who 
wear at least 27 hats, work an insane amount of hours and accomplish 
miracles in both time and 
space.  They can't begin to afford the "typical, perfect world" design 
scenarios - not in time and 
not in money either (and frankly, not in attitude either).  They need 
developer/s like they are -- jack 
of many trades, capable of finding the resources or info/self-training if 
they don't have them or 
know something, capable of taking what seems a nearly impossible combinatio
n of needs and 
problems and rendering it into something cohesive that works anyway.

As far as demos go, I am too busy to be doing elaborate demo sites 
unfortunately, and my client 
sites represent first THEIR design taste (which is often hideous) not 
mine, and most my early 
work is behind a firewall.  When possible I get a client's agreement that 
I can bring another 
customer into their backend just to look around (which we do on the phone, 
with a login for them 
that only works for that time, and I make a gateway just for that so I can 
exclude any confidential 
info being avail); I always allow pend/review entries in systems, so they 
can actually try things 
without affecting the system, and I can show them a few real apps from 
that perspective.

HIRING

When I hire contractors -- none of mine are full time and nearly all are 
hired via the internet, most 
have their own sole proprietor web development business -- it is usually 
based as much or more 
on their ability to think independently and resourcefully as any specific 
testable skill.  

I am more interested in someone who knows how to find info, train 
themselves, and work it out 
with concern for quality, specs and timeline -- than I am in whether the 
person already knows 
everything about all the stuff I might need them to do.  If a contractor 
misses a deadline it had 
better be either because someone in their immediate family died, they are 
personally ill to near 
death, or it happened in spite of the fact that they worked every waking 
minute on it for days to get 
done in time.

I actually feel that if a person already knows everything I need them to 
do, as probably done it all 
already etc., they should probably be moving on to a different, more 
challenging job.

Since we work from home, contractor fees are flat rate -- I expect quotes 
as such, personal 
responsibility for that is VERY strong -- and as a result I believe 
self-training on the job is perfectly 
acceptable.  If it takes them 24 hours of poring over books and online 
references and testing to 
figure out how to do it right, vs. 3 hours of coding it off the top of 
their head, I don't even consider 
that my business, assuming the timeline for that piece allowed it -- if 
they give me the work I ask 
for, done properly, when I require it, I am happy.  

And now they know how to do it -- I gained a contractor who is grateful 
for my giving them 
opportunity to learn, grateful for piece work, and I now have an even-more 
qualified person usually 
working for somewhat below market rate (in exchange for the advantage of 
working from home and 
getting to learn new stuff).

I've learned just about everything I've EVER learned from actually having 
to develop it, have usually 
worked three times my billable hours to do so.  It was harder on me, but 
it didn't cost the client. 
How could I be biased about other developers doing the same thing?

I did 12 years in business management and troubleshooting prior to 
webwork.  I hired throughout 
that period from minor executive level to entry-level employees, and did a 
lot of redesign of flow 
systems, departments and such. 

It's been my experience that whether you're hiring a laborer, a programmer,
 or a supervisor, the 
three most important qualifications are 'adaptive' intelligence, personal 
responsibility, and positive 
attitude.  Obviously if it's a skill-based job, skill and experience are 
important -- but in my opinion 
the 'detail' of that skill (and especially experience) are far less 
relevent than the first three items.

'TESTING' of programmers

I've heard of some of the processes some recruiters use for programmer 
testing/questioning.  
Most are question/code based and in some cases close to trivia -- 
important trivia, but still trivia.  
Usually, resumes and such can be narrowed down to a few likely candidates 
to start with.  

If I ask about X and the person only does Y, if they say, "Well you know X 
and Y are pretty much 
the same thing, it doesn't matter," I don't hire them - they are underestim
ating something they 
know little about -- if they say, "I do Y which is very similar, and I'm 
sure I can figure out the 
details that are different," that's an attitude indicator more than a 
skill indicator (one is trying to 
bullshit me into thinking he knows everything; the other is openly 
admitting a need - but a 
willingness - to train himself).

Hiring personnel putting code/detail qualifications in front of the 
adaptive intelligence/personal 
responsibility/attitude of employees is only at their own risk.... in my 
experience.  Not just in 
webwork, but in ANY kind of hiring.

(Well. Must've felt like writing this morning.)

PJ


www.sciencehorizon.com 

______________________________________________________________________
This list and all House of Fusion resources hosted by CFHosting.com. The place for 
dependable ColdFusion Hosting.
------------------------------------------------------------------------------
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_jobs or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to