Author Topic: Original Version: "Real Programmers Don't Write Specs" - Question for You Guys  (Read 103 times)

The Gorn

  • Your agonizer, please. And be sure to keep the batteries charged!
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 14170
  • Gornix user
    • View Profile
The phrase "Real men don't eat quiche" was the title of a book from 1982: http://en.wikipedia.org/wiki/Real_Men_Don%27t_Eat_Quiche

This was about the time that the following anonymously written screed started to appear in mailboxes of office workers and programmers across the nation and borrows from that popular joke line.

So this commentary is from 1982.

So here's my question for the group:

I thought that this was actually the most common kind of highly competent senior programmer in those days. But some here are saying that the mainframe and corporate worlds did not harbor that many such individuals.

Then why was this written if it were not instantly recognizable and humorous to a lot of people?

Real Programmers Don't Write Specs

Real Programmers don't write specs -- users should consider themselves lucky to get any programs at all and take what they get.

Real Programmers don't comment their code. If it was hard to write, it should be hard to understand and even harder to modify.

Real Programmers don't write application programs; they program right down on the bare metal. Application programming is for feebs who can't do systems programming.

Real Programmers don't eat quiche. In fact, real programmers don't know how to SPELL quiche. They eat Twinkies, and Szechwan food.

Real Programmers don't write in COBOL. COBOL is for wimpy applications programmers.

Real Programmers' programs never work right the first time. But if you throw them on the machine they can be patched into working in "only a few" 30-hour debugging sessions.

Real Programmers don't write in FORTRAN. FORTRAN is for pipe stress freaks and crystallography weenies.

Real Programmers never work 9 to 5. If any real programmers are around at 9 AM, it's because they were up all night.

Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12.

Real Programmers don't write in PL/I. PL/I is for programmers who can't decide whether to write in COBOL or FORTRAN.

Real Programmers don't play tennis, or any other sport that requires you to change clothes. Mountain climbing is OK, and real programmers wear their climbing boots to work in case a mountain should suddenly spring up in the middle of the machine room.

Real Programmers don't document. Documentation is for simps who can't read the listings or the object deck.

Real Programmers don't write in PASCAL, or BLISS, or ADA, or any of those pinko computer science languages. Strong typing is for people with weak memories.

Real Programmers only write specs for languages that might run on future hardware. Noboby trusts them to write specs for anything homo sapiens will ever be able to fit on a single planet.

Real Programmers spend 70\% of their work day fiddling around and then get more done in the other 30\% than a user could get done in a week.

Real Programmers are surprised when the odometers in their cars don't turn from 99999 to 9999A.

Real Programmers are concerned with the aesthetics of their craft; they will writhe in pain at shabby workmanship in a piece of code.

Real Programmers will defend to the death the virtues of a certain piece of peripheral equipment, especially their lifeline, the terminal.

Real Programmers never use hard copy terminals, they never use terminals that run at less than 9600 baud, they never use a terminal at less than its maximum practical speed.

Real Programmers think they know the answers to your problems, and will happily tell them to you rather than answer your questions.

Real Programmers never program in COBOL, money is no object.

Real Programmers never right justify text that will be read on a fixed-character-width medium.

Real Programmers wear hiking boots only when it's much too cold to wear sandals. When it's only too cold, they wear socks with their sandals.

Real Programmers don't think that they should get paid at all for their work, but they know that they're worth every penny that they do make.

Real Programmers log in first thing in the morning, last thing before they go to sleep, and stay logged in for lots of time in between.

Real programmers don't draw flowcharts. Flowcharts are after all, the illerate's form of documentation.

Real Programmers don't use Macs. Computers which draw cute little pictures are for wimps.

Real Programmers don't read manuals. Reliance on a reference is the hallmark of a novice and a coward.

Real Programmers don't write in COBOL. COBOL is for gum chewing twits who maintain ancient payroll programs.

Real Programmers don't write in FORTRAN. FORTRAN is for wimpy engineers who wear white socks. The get excited over finite state analysis and nuclear reactor simulations.

Real Programmers don't write in Modula-2. Modula-2 is for insecure analretentives who can't choose between Pascal and COBOL.

Real Programmers don't write in APL, unless the whole program can be written on one line.

Real Programmers don't write in Lisp. Only effeminate programmers use more parentheses than actual code.

Real Programmers distain structured programming. Structured programming is for compulsive neurotics who were prematurely toilet trained. They wear neckties and carefully line up sharp pencils on an otherwise clear desk.

Real Programmers scorn floating point arithmetic. The decimal point was invented for pansy bedwetters who are unable to think big.

Real Programmers know every nuance of every instruction and use them all in every Real Program. Some candyass architectures won't allow EXECUTE instructions to address another EXECUTE instruction as the target instruction. Real Programmers despise petty restrictions.

Real Programmers don't like the team programming concept. Unless, of course, they are the Chief Programmer.

Real Programmers have no use for managers. Managers are sometimes a necessary evil. Managers are good for dealing with personnel bozos, bean counters, senior planners and other mental defectives.

Real programmers ignore schedules.

Real Programmers don't bring brown bag lunches to work. If the vending machine sells it, they eat it. If the vending machine doesn't sell it, they don't eat it.

Real Programmers think better when playing Adventure or Rogue.

Real Programmers use C since it's the easiest language to spell.

Real Programmers don't use symbolic debuggers, who needs symbols.

Real Programmers only curse at inanimate objects.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.


Origisaurus

  • Wise Sage
  • Wise Sage
  • *****
  • Posts: 1675
    • View Profile
Well, it is humor of course.  A bit of truth, a bit of whimsy.  It's what you do while waiting for 4 hour turnaround on batch processing systems.

This from circa 1999:
Quote
Klingon Programmer
Top 12 things likely to be overheard if you had a Klingon Programmer
 
 12. "Specifications are for the weak and timid!"
 
 11. "This machine is a piece of GAGH! I need dual Pentium processors if  I am to do battle with this code!"
 
 10. "You cannot really appreciate Dilbert unless you've read it in the original Klingon."
9."Indentation?! - I will show you how to indent when I indent your skull!"
 
 8. "What is this talk of 'release'? Klingons do not make software releases. Our software 'escapes' leaving a bloody trail of designers and quality assurance people in it's wake."
 
 7. "Klingon function calls do not have 'parameters' - they have 'arguments'- and they ALWAYS WIN THEM."
 
 6. "Debugging? Klingons do not debug. Our software does not coddle the weak."
 
 5. "I have challenged the entire quality assurance team to a Bat-Leth contest. They will not concern us again."
 
 4. "A TRUE Klingon Warrior does not comment his code!"
 
 3. "By filing this bug report you have challenged the honor of my family. Prepare to die!"
 
 2. "You question the worthiness of my code? I should kill you where you stand!"
 
 1. "Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!"

Now you know the most important Klingon word, translated directly from the Texan.   ;D

I once ran across a collection of Murphy's Laws, printed in OCR-1 on simulated greenbar.  The one I like best:
Quote
The best-planned project will take longer and cost more than you ever dreamed possible.

And atomic bomb scientist Edward Teller:
Quote
For every foolproof system there is a fool to defeat it.

 
 
 
 
Avatar is from the cover of the November 2007 National Geographic.  Fair use is assumed.

TechTalk

  • Guru
  • ****
  • Posts: 206
    • View Profile
Quote
So here's my question for the group: I thought that this was actually the most common kind of highly competent senior programmer in those days. But some here are saying that the mainframe and corporate worlds did not harbor that many such individuals.

My guess is that your question got spawned from the recent "Programming & IT as Socially Focused Careers" thread. 

Q. Is your question -- Did the corporate world (i.e. early 1980s and non-technology focused) hire or harbor people who primarily hacked together COBOL or PL/I mainframe programs?

If so, my response is that for utility type of programs sure this was done.  On the system development side which may have involved assembly language this was probably done quite a bit.  Keep in mind that what was primarily being created back in the early 1980s (before my time in the industry) were software systems (i.e. the business infrastructure)  that replaced manual procedures (e.g. accounting, payroll, etc.).  Some senior programmers wrote specs and normally they were given the job title of programmer/analyst.  However, in many situations the people writing the specs were the individuals who were responsible for designing software systems and they typically were given the job title of Systems Analyst or Business Analyst.  They earned that responsibility or job title not only by working in the trenches for many years but by having the ability to socially interact with many different types of workers within a particular business.

When I was just starting out, most of the specs that I was given  were not very detailed -- just a page or two of  pseudocode and perhaps a mock screen shot or two if the program that I was writing was interactive (i.e. using CICS).  The purpose for creating those software systems were two-fold.  (1) It allowed data to get processed faster than could be done by hand and (2) it allowed companies to fire employees (i.e. mostly clerical workers) who use to manually perform the automated tasks.

You might find the following recent news article to be an interesting read:

Retailers Are Losing the Software Talent Wars
http://www.businessweek.com/magazine/retailers-are-losing-the-software-talent-wars-12012011.html?chan=rss_topStories_ssi_5

What the author appears to be saying is that retailers, such as, Target need to hire better technologist for their e-commerce sites instead of relying on consultants and contractors.  The problem is that to adequately build a business or e-commerce website for a large corporation, such as, Target requires a lot more than just a handful of people who happen to know the latest web technologies.  In other words,  knowing how to do mobile application development or being a front-end web developer (e.g.. CSS, HTML, and JavaScript) or knowing SQL and PHP or the Ruby on Rails framework, classic ASP or ASP.NET, etc. will not guarantee a software developer / technologist a job at a large retail corporation.  Well, it may get him/her a six month to one year gig, but then he/she is back on the street looking for work once again.

Rapid technological and structural changes in a particular business industry means that the software work that needs to be done at any given point in time is going to be different from just a year or two ago and it is an important factor in the current rate of high unemployment of older software developers.  What I am saying is that since World War II the United States economy has undergone many transitions which has resulted in the fact that nowadays most new jobs are low-end and low-paying service jobs and since the mainframe only days the IT business world has also gone through many transitions as well which has resulted in the ongoing and never ending programming language and technology stack skills mismatch between employers and employees.

I believe that Target like many other large corporations fired most of their IT development staff a long time ago and replaced them with some long-term contractors and lots of consultants (i.e. mostly H-1B visa workers from India).  Since most of them are doing maintainance work they probably understand the retail business or at least Target's existing business processes.  What that group of people probably doesn't have is the particular software technology knowledge to re-build Target's e-commerce website.  The solution?  Well, just from a communication and co-operation standpoint, my guess is that Target is primarily going to use more H-1B visa workers to fix or upgrade their e-commerce system.

I took a quick peak at the first page of Target's employment website and it looks as if there is not one job position with the word "programmer" in it.  Most of the software related job titles seem to have the word "analyst" or "consultant" in them.
http://targetcareers.target.com/go/Corporate-Headquarters-Jobs/113842/

« Last Edit: January 01, 2012, 05:49:04 pm by TechTalk »


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf