Mr. Warmkessel's Questions & Answers

Mr. Warmkessel, a professional programmer at GPU,  visited Mr. Minich's BASIC and Pascal Programming classes in Dec. 1997. He was kind enough to answer the following questions which the students presented to him.


What made you want to become a computer programmer?
I could organize thoughts logically and I was very good in Math.

When did you start programming?
I started in 1967 at Penn State, and in February, 1969 for General Motors.

How did you ever become involved in programming?
Back in the 60s, when I graduated from high school, I was very good in math,
and, when I went to college, I took several computer courses. I enjoyed them
and got good grades, so I took more & more computer courses... etc.

What kind of courses did you have to take to become the type of
programmer that you are today?
I took many computer science courses in college. I've had several IBM sponsored education courses, and I've had 5 or 6 teach yourself computer education courses.

Do you need to learn new computer languages as you program over the years?
In my 26 years of programming experience, I have used the following
programming languages and tools:  COBOL, FORTRAN, ASM, RAMIS, COBOL Report Writer, SPEAKEZ,
EASYTRIEVE, ADF, GDDM, ISSCO/DISSPLA, BMD Package, SAS,
SAS/GRAPH.

How long is your usual work day?
I work 8 hours a day, 40 hours a week. However, I spend anywhere from 50
to 150 hours of casual unpaid overtime hours per year.

Roughly how much do you make? What are the maximum salaries programmers can achieve?
When I first started as a computer programmer back in February, 1969, I was
offered jobs at FORD, General Motors, and the FBI. I decided to work for a
division of General Motors at a salary greater than $8,000 which was very good
in 1969. Programmers with 10 or more years of experience at GPU earn anywhere
from $40,000 to $80,000 or more, depending on how good they are and how important
they are to the company. I earn more than $40,000, but less than $80,000. Entry-level programmers coming out of college without experience can expect salaries between $30,000 and $60,000, based on what one's computer skill knowledge is valued by the company hiring you. There aren't many getting $60,000 right out of college.

Are you considered an engineer or does an engineer need to take programming courses or be familiar with these programming languages to become an engineer?
I am a computer programmer with both business and engineering experience.
You can be a computer specialist only, or you can be an engineer only. You
can be a computer programmer with engineering skills, or you can be an
engineer with computer skills. All of these combinations can provide excellent
career opportunities, however, I would recommend the following suggestions
to students considering careers.

  1. If you are fascinated with learning new computer languages and writing
    computer programs with information given to you by others, then consider
    Computer Science as a primary major.
  2. If you love engineering, Earth Sciences, Genetics, Environmental, or any
    high-tech field, then consider you high-tech field as your major.
  3. Consider double majors, or supplement your primary major with courses from
    your minor.

What is the work place like? Do you get to deal with people at all or do you just work with computers?
The workplace for computer programmers is usually very nice, especially if you
work for a corporate type company. Almost all computer programmers today
must communicate and work with other people on a daily basis.

Of the many applications you listed, which specific one(s) are you working in currently?
I currently support a Nuclear Generation Maintenance System, the liquid and
Gaseous Efficient Release system, & Environmental data collection systems,
including water chemistry analysis from the Susquehanna River and the Atlantic
Ocean.

What type of mainframe programming have you done/seen?
COBOL, FORTRAN, SAS, BMD, SPEAKEZ, ADF, GDDM, EASYTRIEVE, ASM,
RAMIS. There are many, many more languages and products like C++, Visual
BASIC, JAVA, CADCAM, LOTUS NOTES, etc.

What made you choose the programming field over other fields?
When I went to college, I enjoyed computer science classes. I would organize
thoughts logically and I was very good at math. I probably would have been a
good math teacher, or engineer, or architect, but I never even investigated
these fields.

What kind of computer/programming courses did you take in high school and/or college?
In high school, I took academic college preparation courses. There were no
computer courses in high school back in 1964.
In College I took Botany, Physics, Chemistry, Computer Science courses,
Statistics, Meteorology, Geological Science, Math, Psychology, and Sociology.

What was it like at the bottom when you first started?
When you first start to program, you realize that you don't know that much, so
do what you can, learn more, and more, and if you ever stop learning - you're
dead.

Do you enjoy work?
Most of the time, yes. Every job has its good points and bad points, but being a
computer programmer has been very rewarding. You learn a lot. Everything
is constantly changing. You are never bored. You may not always get to do
the most exciting or state-of-the-art programming, but most work is interesting
and has a value you can associate with.

What kind of schooling did you have after high school for your job at GPU?
Through the years I have attended several training classes in programming
at IBM locations and colleges such as Drexel. There are also instructional
education courses on the computer called Computer Based Training. You
can always find new computer tools and training courses to learn how to use
them.

If you didn't work for GPU, what kind of job could you get?
I could program for other companies that need COBOL or FORTRAN work
done, or I could work for many companies just as a person who could perform
jobs that require use of a computer since I am computer literate.

Is your work day getting somewhat repetitive after many years of programming?
No, it continues to change all the time. Nothing ever stays the same very
long in the computer field.

How did you narrow down your career to nuclear programming?
I became a Nuclear support programmer by being either at the right spot at
the wrong time, or at the wrong spot at the right time. I was a programmer at
GPU and I had a good mathematical background, so I could work on either
Nuclear Business or Nuclear Scientific programs.

What is the hardest part of your job?
Staying current with technology and new software products is the hardest
part of my job. It is impossible, because there is too much information to learn.

Does it frustrate you when you find a program unlabeled?
If I have to work on a program with minimal documentation, it frustrates me
because it wastes my time figuring out what I need to know to do my work
efficiently.

Have you learned any new languages such as C++ or Java since learning COBOL and FORTRAN?
I haven't, but many(40+) programmers at GPU are beginning to convert some
or the older mainframe applications to a new PC platform. I have learned at
least 8 or 9 programming language tools through the years. C++ and Java
will only be around for a few years at best as a developer's tool. There will
always be new languages that continue to infiltrate the computer industry. In
the years ahead, we won't have as stable of a programming language
environment that was prevalent during the 1970s and 80s and the early 90s.

What is the Uninterruptible Power and what is the purpose of it?
UPS(Uninterruptible Power Supply) is basically an onsite power generator
system that automatically kicks in when normal power supply is interrupted.

What kind of computer do you use?
I use PC computers (IBM compatible) which I interact with
mainframe time sharing applications. I execute programs on the GPU
mainframe that access several different database structures.

When you are writing new programs, what do you think is the most difficult or time consuming problem with writing these new programs?
The most difficult task(s) when writing a new program is to make sure you understand the specifications and how the program reads or writes data from or to the database. Sometimes you have to write or re-write a program 3 or 4
times or more because the specifications are incomplete, wrong, or the
program doesn't work the way is was designed to work.

How long have you been a computer programmer?
I have been a computer programmer for 27 years of the 29 years I have been
in data processing. I was in computer operations for 2 years.

How much memory is in the mainframe; how much does the giant program take?
Mainframes have several partitions of memory that have different programs
running simultaneously. That is called multi-tasking. One could run a single
program with over 8000k(that's over 8,000,000 bytes or 8 meg.) Typically,
there are 8 to 10 programs running at the same time on a mainframe. Also,
there are TSO(Time Sharing user Option) terminals/monitors that get time
slices of execution time. When I am editing programs that require changes,
there are probably 200 or more people using TSO at the same time. The TSO
partition has a mathematical algorithm which determines how to give time to
each of these 200 users. There is so much CPU power in a large mainframe
that it can give good response time for all 200 users.

How long does it take to pinpoint problems? Is there an outline to help classify where certain parts are?
Most problems can be identified fairly quickly(5 minutes to 1 hour). Fixing the
problem can take as little as 5 minutes or as much as 300 hours. One needs
education and experience to know how to find problems and fix them.

In movies, they have people hacking into mainframes. Is that possible? What would be accessible?
Yes, it is possible to infiltrate many computer networks, especially via the
internet and PC computers. It is not very easy to get into mainframe computers
at companies that have established a high-level security firewall unless you
use an employee's password at the company.

What is mainframe programming?
Writing programs that execute on large-scale computers that have multiple
processors. (more than one CPU)

How do you apply programming to nuclear, aeronautical, and aerospace
industries?
All companies/industries need computer applications to perform all their
routine applications such as accounts receivable, accounts payable, payroll,
etc. The high-tech industries need scientific applications as well to perform
engineering, environmental, and graphical applications, etc.

Do you use any of the same commands in your programming as BASIC does?
They are not the same, but many are very similar to COBOL commands.

How long is the average program?
Most average anywhere from 4,000 to 8,000 lines of code(COBOL).
An average size program has as much data definition code as it does program logic.

On average, how many people are working on one program at a time? How long does it take to get a program completed?
Most of the time, there is only one person working on a program at a time. The
only time it would make sense for more than one programmer to be working on
a program is when a program has different functions in which case each of the
programmers would work on a separate part of the program, such as a function
or subroutine.
It can take 8 hours to write a small, simple program, or it can take 6 months to
write a very complex program. An average program takes 1 to 3 weeks to
write and test. Complex programs usually take 4 to 8 weeks to write and test. These programs should be modularized such that each module would not take longer than 4 weeks to write.

How do the languages of COBOL and FORTRAN differ from the language of BASIC we use in the classroom?
COBOL is similar to BASIC with the commands, however COBOL requires that
all program variables have data attributes defined for them.
FORTRAN is similar to BASIC from the sense that variable attributes need not
be defined, however, the commands in FORTRAN are more mathematically
oriented.

What would your average day be like?
Spending 6 or more hours at a computer terminal changing or writing computer
code: and when preparing information to write a new program or document the
work I've completed, 5 to 6 hours of keying documentation into the computer for
future reference. The other 2 hours per day would be used to fix problems
and/or attend business meetings. Some days, weeks, or months may not have average days, because most programmers are problem-solvers and system analysts, too. Then, they may spend days, weeks, or months determining how to fix, replace, or create a new system.

What are the worst parts of your job?
The worst part is fixing an undocumented program written by someone else and that person no longer can be found because they work somplace else.

What are your work conditions like? Is there coffee and doughnuts? Is a tie and formal dress required? Do you work in a small cubicle? Are you able to work with workmates?
Work conditions are great if you work for a sizable company. They may not
always be great if you work for small independent computer shops.
I do not wear a tie. I have an 8 foot by 8 foot cubicle. Sometimes I work with
other programmers, and sometimes by myself.
There is always coffee, but not always doughnuts, and you buy.

How do you go about changing gigantic programs like the one Mr. Minich has repeatedly shown us?
Very carefully! Review the program specifications carefully. Make sure you
don't remove existing logic that works. Comment logic out that is changed -
Don't remove it from the code. Test the program thoroughly, and then have
the person who prepared the program specifications test it too.

Can you make your own hours?
We have flex-time hours at GPU for programmers. We schedule our work
hours on a weekly basis. I can't make my own hours, but as long as I get my
work done and work a minimum of 40 hours in a normal week, I can vary my
hours to suit my personal schedule. However, if something breaks (that is, a program is not working right, or the database gets messed up);  I have to go in to work as soon as possible to fix the problem.

Do you think your job contributes to society?
My job is important from the sense that I definitely help to keep the Nuclear
Power plants operating efficiently. I never really thought about how much I
contribute but I think that everyone who does their job conscientiously
contributes to society.

Is there a limit to how high on the corporate ladder that a computer programmer can go?
Programmer's rarely want to climb the corporate ladder. A few programmers
that focus on the development of new applications who are analytical
specialists on project managers can get into director positions, but at this level
you are managing people and projects and you no longer are a programmer.
Good programmers earn great salaries. They very best programmers earn
more money than people who climb the corporate ladder. Most of these people
do not have a desire to manage people.

When programming, do you write ideas out on paper first, or do you program from the bottom up?
I'm from the old school. I have to put my ideas on paper first, then organize
them in a logical order, then revise them, then reorganize them, and finally
write program code.

Are there times when not all programmers are needed and may be laid-off for some time?
I personally have never been laid-off. However, some programmers have
been through the years. Any programmer who is good and does not mind
learning a new language will not have any trouble getting a job. They may
have to relocate, or take a temporary pay-cut or pay-increase, but there is
still a good programming marketplace.

Do programmers get paid per program, by the hour, or by the quality of their program, or does it depend on what type of programming is done?
Corporate programming is primarily done by programmers paid on company
salary programs. These people are paid on monthly or bi-monthly pay cycles.
Some companies need additional short time programming support from
contract programmers. Their services are agreed on at special contract rates
with fixed timeframes and fixed rates.

Do you need to go to college or can you go though one of the programs that you see on TV to become a computer programmer?
You don't need a college education to become a computer programmer,
however there are a lot of companies that won't even interview you for a
computer programmer position without a college degree, unless you have
five years or more of experience. A college education gives a person a
broader base of knowledge to help deal with the disciplines of business and
corporate functions.

How many hours do you usually work in a week?
If you are a good programmer working on state-of-the-art programs using the
most advanced technology, it is very likely that you would be working at least
a 50 hour week.
Minimum work week is 40 hours, but most conscientious programmers work 45
or more hours per week.
Programmers supporting older technology applications generally average
between 40 and 45 hours per week.

Is there an increasing supply of jobs requiring programming skills, or is the career dimishing?
Still increasing in demand for jobs. Good programmers will be paid very well.
College degree and Computer Science classes will almost assuredly be a
prerequisite to land a computer programming job.

Opinion Questions and Questions about the Year 2000 Problem

Which do you think is better, MAC or IBM? What are some differences?
There are more software applications developed to execute on IBM compatible
computers, so there are more thing you can run on IBM. However, MAC has
great user friendly PC computers with a lot of great software packages. If these
software packages allow you to use a MAC computer to get what you need,
your MAC is great.

What do you think of newer languages such as Java, C++, C, etc. as compared to older languages such as assembly and COBOL?
The newer languages will be used on the PC platforms from now on. COBOL,
FORTRAN, and Assembly will be around for the next 10 to 15 years, but little
if any new programs will be developed after the year 2000 in FORTRAN or in
COBOL. Visual BASIC and C++ have been accepted and embraced by the
global PC community. Java has not reached global acceptance yet.

In 20 years, where do you think computers will be at, and what role will they play in our daily lives at business and at home?
20 years for now, many new homes will have a central command center, or
computer, that will control all major applications in the home such as lights,
heating, cooling, telephones, TV, appliances, mail, water, sewer, trash, washer,
dryer, refrigerator, microwave, dishwasher, door locks, security systems, etc.
20 years from now, many people will be able to do their jobs on a computer in
their own home instead of going to work at a company. They will still be paid
by the company, but corporate buildings will be smaller because people can
do their jobs from home via the use of a computer linked to their company.
20 years from now, the CPUs of computers will be much smaller than they are
today, be much faster, and be much more powerful. That means that computer
technology will not just be in cars, and homes, and schools, and corporate
offices, but it will be everywhere.

What exactly is being done in order to fix the year 2000 problem?

  1. Write new programs that are 2000 year compliant
  2. Windowing to make programs think it is working with the correct dates
  3. Fix data in data bases and change programs to work with 8 character dates

How long have you been working on the year 2000 problem, and how long will it take to solve it?
I have been working on the year 2000 problem for 1 large system(GMS2) of
programs for almost 6 months. I have fixed about 50 programs and I have
about 10 more to fix(probably another month). I will probably be asked to fix
other programs that will not work in the year 2000 after I am finished with the
system. The 2000 problem will not be over until all programs work successfully
in the year 2000 or later. Some programs may not even run until 2001 because
some programs are only run at special times. For example, some programs
are only run when fuel is changed, and Nuclear fuel is changed between 18
and 24 months.

When the year 2000 is reached and if any computers are running, what would happen to the Internet?
The World Wide Web (the Internet) will probably be fine but any software that is
not 2000 compliant will not work.

page written by Tom R. 1997


Wyo Comp Sci Patrons Page

Mr. Minich's Wyo Home Page | Basic Programming | Computer Science Using C++