Hi,

I wish to correct an error on my part, I feel I should have introduced
myself as soon as I logged on.

I was advised by my College Lecturer that I should look for a junior
position on a project to start my career.

I was offered two positions after two job interviews

   1.

   product Support role for a database company or
   2.

   Junior Software Engineer.

I decided to go for the junior software position as that would help me

for self development.

As Junior position one usually starts out doing testing. I was lucky enough
to work for a bespoke hardware and bespoke software company in the aircraft
industry. I would highly recommend a career start in the aerospace and
defence.

There, you will find out what best practices are, for example I was sent on
a week course to learned ADA 83. No libraries are inherited, every line of
code is written to meet specification. Software is tested in a number of
different ways.

The first project, aircraft fuel management system used state of the art
hardware. I quickly moved from testing to another project to find the cause
of software crash. That software needed to be reset via a hardware reset
and the GUI was a red light in the pilot cockpit.

This move happened because I pointed out my observation to the Tech Lead,
from my understanding of a compiler and emulator that “Phil the contractor”
was testing the emulator and he wants me to do the same.

After that I joined a single product company which used 4GL, CA Open road
and Ingress Database with  approx. 250 tables. This company was also built
on best practices with principals same as my first job. The software was
then migrated from CA OpenRoad & Ingress to Oracle forms and Oracle
database.

To complete my self development I joined a software house where I was
exposed to a number of projects at different stages.

There I identified that a 2 tier thin client architecture was an ill
conceived design. My view was confirmed when I found tomcat an application
server which was part of a 3 tier architecture. With this discovery I felt
I conquered Grady Booche's remark that “Industrial Strength software was
beyond the intellect of a developer.”

Ironically 2 tier thin client product used for developing applications,
like struts is used for building applications, was from same company which
offered me the support role. Would I have achieved my objective if I had
taken that support role and not the junior software position ?

At this stage, I do not believe in learning programming language first but
start with the architecture first. That is how I arrived at struts. There
were a number of other requirements which were met by struts also.

I hope this helps anyone looking to master Industrial Strength Software.

Keep in mind,   test from specification not from code and testing MUST not
to be done by the person who wrote the code as suggested in a book I read
recently.

Regards

Zahid

Reply via email to