Monkeys are no replacement for geeks.

I realize that the monkey title is a bit harsh, but when you're talking about running tests on prototype chips there is no substitute for a reasonably seasoned geek.  I write work instructions, they are fairly basic in my opinion, but when you start brining in contract workers to get around staffing limits, problems show up fast.

Take the following work instruction, for a tech with a basic familiarity with the product type (a 100Mbps Ethernet PHY), or with network comms silicon in general, this is all they need to get going with the test.  If the tech is a seasoned vet, I guarantee you they don't even need this, just tell them the resolution you want the measurement in and set them loose.  A work instruction like this is to bridge the gap between a neophyte who has some basic training in the field, and an expert.  It also serves as a refresher to the vet who may not have done these measurements for a couple years (maybe they were working on Telecom comms silicon instead).  If I asked you, the reader, to sit down at a bench and get started, you may find that you don't have all the information you need to get running.

100BaseTX Output Jitter:
     To determine the transmitter jitter characteristics in 100BaseTX mode.

     Differential Probe
     500Mhz. probe
     Power Supply
     DV board

          Vertical Menu:
               500 MHz Probe : 1.00V/Div,
               Differential Probe : 300mV/Div,
          Horizontal Menu:
               Record length : 1000
               Fit to Screen : Off
               Trigger position : 10%,
               Scale : 500pS/Div.
               Time Base: delayed (1ms)
          Trigger menu:
               Source : Ref_clk, set to @ Vcc.
               Or: Trigger of Data and divide the measurement by 2.
          Display menu:
               Mode: Normal
               Style: Infinite persistence
               Acquire menu:
               Mode : Sampling
               Repetitive : off
          Data Pattern : Random
          Data Packet : 1500 bytes
          Gap : 960nS
          Mode : Continuous
          Activate the transmit without link register.

     Take a picture if out of spec. Refer to the spec sheet.
     Set specified slew rate
     This test uses a Differential and a 500 MHz Passive Probe
     Measure the jitter at the specified points in the following illustrations
     Remember to trigger from Ref_clk.
     Measure from the worst point on both crossings simultaneously.
     Repeat the test for all the specified voltages and temperatures

The following illustrations are for a reference only and the actual waveform may
differ slightly
[sample picture omitted]

[sample picture omitted]

  1. Set voltage and temperature
  2. Set scope triggering to the 500MHz probe.
  3. Connect 500MHz probe to Ref_Clk
  4. Turn off the Ref_clk waveform.
  5. Turn on the Differential probe trace
  6. Reset board
  7. Activate the Link Disable register
  8. Start transmitting SmartBits
  9. Select infinite persistence for the differential probe
  10. Press the Start/stop button twice to clear the screen
  11. Let run for 1 min. (>1000 Acquisitions) then press the stop button on the O-scope.
  12. Measure the worst point as demonstrated in the picture.
  13. Record the measurement. If triggering off of data divide the measurement by 2.
  14. Take a picture if the waveform is out of spec.
  15. Repeat steps 1-14 for specified voltages and temperatures

With contract workers you often get people who have never worked on your type of silicon ever.  Heck, some times you get people who don't even know what a diff probe is.  Sometimes you get a  gem of a tech as well, but in my past experience that is the least likely type of person to have show up.  In addition to this you always get what you pay for, and if you're paying in the 50th percentile for money then you should expect that you are selecting from the bottom 50% of the available talent.  This does not help your situation.  Now let me say this is not to bag on all contract workers.  It is to bag on management that won't pay for contract workers who are trained specifically in the field that they are needed for.  If you need an extra head or two for a few months to finish laying out your new chip and you use Cadence, then hire a contractor who is a wizard in Cadence, not someone who used it once before at some other job running macros.  Sure the wizard is going to cost you $150/hr and the random guy will be $50, but since I can guarantee you the wizard will be twice as fast and make less mistakes he is worth it.  As to mistakes, one layout mistake can cost you nearly a million dollars when all is said and done (if it requires an all layer change, and idles your validation staff for 4-6 weeks while you wait for a new spin as an example), or even more if you manage to slip your schedule as a result and piss off customers.

There are two situations that commonly result in contract workers being brought into a location.  Either a peak demand that is short enough to not warrant hiring and training someone, or a money shell game where contractors don't come out of the headcount budget and instead are paid out of expense money.  When the latter happens and a manager is pressured to reduce headcount the temptation exists to reduce staff and bring in contractors to fill the underserved demand.  The problem is in this situation, the lower bid is usually the one taken, as there is incentive to stay under the radar as to expenditures.  This invariabley leads to the hiring of contract employees that are not only not wizards, they are monkeys.  The lowest common denominator.  What happens next is a work of pain that can not be adequately described.  Your best and brightest (because presumably you kept them while laying off the less advanced members of your staff) are tied up explaining things that range from ohms law (I kid you not) all the way up to theory of operation for your system.  This takes them away from what they should be doing, and further lowers their performance.  Further you ask?  Yes, because when you fired their friends and coworkers, who were plenty competent, and replace them with contract employees, you instantly remove any feeling of value from your remaining staff.  They just saw that they are completely replaceable in managements eyes (maybe not as replaceable as the guys that just left, but replaceable non the less).  Now they are a demoralized group who just as likely as not are spending a non-trivial portion of their time on-line reading Slashdot, Monster.com, and pondering how to best spruce up their resume.  One guy I knew said screw it and used the 6 color plotter to print out life size porn.  It was rather funny, very pixelated, and mildly disturbing all at the same time.

So to wrap all this up into a neat and tidy package, contract workers are exceptionally valuable when applied correctly.  They take some of the overload off your team, and generally produce acceptable results.  Since "applied correctly" assumes that you are hiring bright people and not monkeys, they tend to have a reputation to up hold, and produce quality consistent with that reputation.  When you go to a company like Manpower, however, it's more a luck of the draw as to what you get, with a bad draw costing you vastly more than just the salary you are paying the person.

Donate towards my web hosting bill!