Villanova Computer Lab
Countless days, weeks, months, and years were spent devouring all
that was computer related.
Commodore "Early Years"
I could actually get paid for my hobby. I learned
the value of doing it right the first time. I was brutally aware that my
code would be put into silicon. Millions of units would be shipped and a
revision would be very expensive. So I did everything I could to guarantee
that this would never happen (never did).
I was formally introduced to higher level
languages. Up to that point I thought that assembly language was the only
way to go. I was involved in all aspects of the hardware and software
design. After much success I was asked by my manager whether I wanted to
pursue a hardware or software track. My answer was software.
I started writing device drivers. It was a good
place to start because drivers are intimate with the operating system therefore
it had to done right otherwise the OS would crash.
I created many tools to test my code. I started to evangelize the tools
and techniques and through hard work and persistence I became technically
responsible for all software development. I also learned a lot about
managing a site.
I was hired as a project manager but quickly became
technically responsible for the 'flag ship' product. My technical
expertise was more important than managing schedules. The product was
being ported from DOS to Windows. I improved the development process
by advocating the extensive use of tools and best practices. The released
product was very solid. During the subsequent releases I had the
opportunity to learn
about project management. In 1995 the web caught my eye. In less
than a year we shipped the first n-tier web based add-on product. I
continued to be involved in the development of custom middleware. The
lessons I learned in the early years made even more sense. Rock solid
stability and performance was still important because these servers were up
The Network Connection (TNC)
Up to this point I thought everything had to be done
in-house. The way I figured I've been successful so far - I could
virtually eliminate all risks by doing everything. My first few days at TNC I was told
otherwise. I had my doubts, however the project was huge and the time to
market was so soon, so I had to be a believer. I
thoroughly enjoyed working with 3rd parties with regard to business/technical
issues. I still wanted to minimize risk so I re-deployed technical expertise by really digging into these third party
solutions. I tore them apart, integrated them, and I must say now that
this model worked. The shared risk/reward of the partnerships were self
evident and to quote Richard Genzer (former CTO at TNC) "To be successful
today you must establish corporate *partnerships/alliances". I also
learned the value of intellectual property protection. In the first few
days at TNC I blurted out an idea. I later had the opportunity to file a
utility patent which included 4 claims (for a geek this is so cool). Check
it out: Patent60-238070.pdf
*Thanks Rick for teaching this very valuable lesson.
Prior to joining HP most of my experience with Java was
predominately on the client side. I had the opportunity to learn more about Java +
performance. I used third party tools and also wrote my own. I also
pulled down the source to Sun's Java Virtual Machine (JVM 1.3) and built it, soon after I
instrumented it. I also improved the JVM by adding a SMP friendly
memory manager. I believe there
are many opportunities to improve an applications performance by looking at the
system in totality. I found that the software patterns that I
have advocated for many years (especially concurrency algorithms) were as
applicable under Java as they were in the native counterparts.
In many respects taking this job was a career change.
My primary responsibility at HP/BS was working with hardware/software
in a lab setting. It was too far removed from product development so I
This was my first experience working in IT.
I was amazed at the RAD/Extreme development philosophy. I now understand that systems, and software must
be kept running because business dollars could be lost. I now
appreciate, and applaud this triage mentality.
I assisted several companies as an independent consultant. I learned to manage relationships. I joined a business alliance to secure
benefits. I worked on another patent (fun).
I’ve always been an ‘Agilest’. At TNS
we adopted Agile ‘SCRUM’ development practices which have allowed us to sustain
near monthly development sprints for over two years. Our
sprints iteratively delivered new systems and/or provided continuous
improvements across the suite of supported services. I worked on another patent (joy).
The entrepreneurial bug
got me again.