The Not Invented Here (NIH) Syndrome is nothing new. If it is true, as I suspect, that part of the nature of people is to worship the work of their own hands, the NIH syndrome is as old as mankind. Regardless, this way of thinking has never been a good idea, and its not a good idea now.
Sure, this way of thinking makes for amusing anecdotes. There was quite a discussion on the subject of re-inventing the wheel on the Midrange Computing Web forums recently. (If youre not participating, point your browser to www.midrangecomputing.com/forums and join the fun.) One participant wrote about a group of System/34 programmers who had a program that read a file in order to count the records. These programmers were blissfully unaware of the ?FA,filename? procedure- control expression.
Another forum participant mentioned a programmer who always created user profiles with QDFTJOBD as the job description (from which the library list is set), *WRKSTN for the output queue parameter, and *NONE for the initial program. He then wrote (from scratch) a new initial program for each user that did three things: set the users library list, assign that users output queue, and call the users initial program. Well, I had a few chuckles, but its really not funny. Building what someone else has provided costs money.
Why We Do the Things We Do
Why do programmers write software that others have already written? Here are a few reasons. (Maybe you can think of others.)
EgomaniaSome people dont consider themselves real programmers until theyve written their own operating system, compilers, communications package, and source code editor.
LazinessIts too much trouble to try to understand another programmers code. Roll your own code so youll know how it works. When you leave, the company will bring in some other programmer who will take a look at your code and roll his own.
EconomicsThe boss wont fork over a few thousand dollars for you to buy new software, so he pays you four times as much to write it yourself. Youre already on the payroll. And never mind the backlog.
IgnoranceJoe Coders got time to check out Dilbert, stock prices, and sports news on the Web, but its too much trouble to visit the Midrange Computing online Yellow Pages (www.midrangecomputing.com/yellowpages) or search the Web to find out what products address the current hot button. Joe ignores the ads in magazines like Midrange Technology Showcase and Midrange Computing. He figures those ads are just there because the writers couldnt think of enough to write about.
Ignorance, Take IITraining is too expensive, so your employer wont send you to seminars, schools, or COMMON. Therefore, you should train yourself. Youll be as good as your instructor.
IndependenceIf you write code yourself, you wont have to pay those yearly support fees or get new license keys when you upgrade to a Model 8XX honker.
Nothings Free
There are two primary reasons why duplicating the effort of others is not usually a good idea. First, homegrown software isnt really free even if it does the same thing as other software on the market. Programmers dont work for nothing, and the hours spent duplicating the efforts of others are hours that cant be spent hacking away at the backlog.
Second, specialization works miracles. If you had to make your own clothes (including shoes), grow and hunt your own food, build your own house, and provide your own transportation, youd live in squalor. However, if different people specialize in producing various goods and services and then exchange the fruits of their labor with one another, everybodys a lot better off.
So, when management decides to put up a Web site, are you going to brew it at home and possibly put the company out of business? (Ive heard tales of that already happening, although I havent been able to verify any of them.) Will you fight the valiant fight, like that AS/400 shop I knew that had homegrown EDI translation software? Or will you aim your resources at the tasks specific to your shop and pay someone who specializes in Web development and hosting to put you on the Web quickly and easily?
All Things Considered
Of course, developing what another programmer has already developed is not necessarily a bad thing. Here are some good reasons to do it yourself. (Please note how much shorter this list is than the first one.)
ExpenseSome software houses are run by people who dont live in the real world. Judging by the license fees and yearly support charges, these people must be living on Mars and importing all the necessities of life from Earth.
ExcessYou need a lawnmower, but the various suppliers sell only tractors with brush hogs and insist that no one can get by with less.
The world (including the world of computing) is getting more and more complex at a faster and faster rate. I believe that the cost of developing what has already been developed rises proportionally. If Im right, then the NIH Syndrome is more costly now than ever before, and leveraging existing resources is more important than its ever been.





Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn:
LATEST COMMENTS
MC Press Online