I rarely get time to write on my blog over the last few years. But when
i do there are few good motivations/forces which drive me to write
on things which i consider are important.
After over 10 years in IT I am thrilled to see that i have been always
working on projects which have stability&performance as one of the
key goals/objectives( if not the most important) and was lucky enough to
put my hands on various technologies starting from
IBM Mainframes(MVS/OS 390,JCL,COBOL,CICS.REXX and DB2 to some extent),
UNIX C,C++ saga,
VB,ASP,HTML*, Web technologies
.NET,J2EE systems,
Teradata and ofcourse Oracle technologies
Some of the important projects that i have worked include a one for a
major Telco(for its IT LOB) in UK in their core Intercarrier-billing
and Provisioning systems/OSS-big Legacy conversion project. I had also
been a witness to SOA/WebServices tech(as of 2004) that i happened
to come across in one of the projects which though didnt materialize for
the customer.
It has been a mix of all round exposure in IT and Business side that i
have been witnessing all through these years and thanks to my Alma
Mater consulting firm that i got chance to put my hands on in all these
areas.All along these years i keep getting a more deeper
understanding of the trio- People, Processes and technologies in
projects and how they shape up and interact with each other to deliver.
Often not surprisingly it is the people who play a positive/negative
dominant role resulting in successful/failed projects.
It is a nightmare to imagine working in a large conversion of a big
system X where several teams/stakeholders are involved.
The problem is not in technology/tools or the interaction between
systems but the complexity in interaction with people of various systems
that the project depends on.
Back to the topic of this blog post, "Model is thy code" . I had been
saying this for long time and in fact is one of my favorite
quotes(Ofcourse i dont claim/do not know who may have coined it first)
which i coined way back in 2003 i.e "Model is the code" and most of
the libraries that i come across miss this pivital concept. If your API
is not based on a solid model then you are sure to see your
software using it develop usability/scalability issues in long run.
Correctness/Completeness is a important 'C' factor along with usual
other C's that pundits claim for performance&scalability
(C-Concurrency/parallelism in today's multi-core/proc world,C-Contention
and
C-Coherency).Often It just simply stops at correctness and it doesnt
make sense to move forward.
Though it may not be possible for someone interested in other 'C's to
always ensure 'C-Correctness' factor atleast one should take a step
and think on it for it is posssible that your other 'C's may get
affected or doesnt make sense to proceed ahead.
Looking at the crap/nonsense that is out in blogs/sites on Software
performance & scalability i can only feel pity for the sheer lack of
understanding on the subject and the dangerous mix of false claims/ideas
of those who havent had any hands on on the technologies involved,
Enough of my time has been spilt on Software testing& performance.It is
time i take initiative to move onto something afresh that keep me going,