My career as a computer professional started in the USSR in the sixties when I was admitted in engineering college and decided to major in an obscure area officially called "Mathematical and computational tools and devices". Time proved that I made a right bet - computers became the major driver of civilization's progress and (for better or for worse) they had developed into vital component of our social lives. As I witnessed permanent innovations in my beloved occupation, I always was intrigued by a question - what does it take for such a colossal complexity combination of hardware and software to provide acceptable services to its users (which is an ultimate goal of any application no matter what task it carries out, what is its architecture, software technology, user base, etc.). My research lead me to a queuing theory; in a few years I completed a dissertation on queuing models of computer system and received Ph.D. from the Academy of Science of the USSR.
Navigating chartered and uncharted waters of science and engineering, I wrote many articles on computer system modeling published in leading Soviet scientific journals and reprinted in the USA, as well as a book "Mathematical methods for queuing network models of computer systems" (ISBN 5-343-00379-6). I contributed to scientific community by volunteering for many years as a reviewer for computer science section of Mathematical Reviews published by American Mathematical Society.
My professional life took me through the major generations of architectures and technologies and I was fortunate to have multiple incarnations along the way: hardware engineer, software developer, microprocessor system programmer, system architect, performance analyst, project manager, scientist, etc. Each "embodiment" contributed to my vision of a computer system as an amazing complexity universe living by its own laws that have to be discovered in order to ensure that system delivers on expectations.
When Perestroika transformed Soviet Union to Soviet Disunion, I came to work to the United States. Last fifteen years as an Oracle consultant I was hands on engaged in performance tuning and sizing of enterprise applications for Oracle's customers and prospects. I executed hundreds of projects for the corporations like Dell, Citibank, Verizon, Clorox, Bank of America, AT&T, Best Buy, Aetna, Halliburton, Pfizer, Starbucks, etc. Many times I was requested to save failing performance projects in the shortest time and every time the failure's reason was a lack of understanding of fundamental relationships among enterprise application architecture, workload generated by users, and software design by engineers executing system sizing and tuning. I began collecting enterprise application performance problems and over time I found that I have sufficient assortment to write a book that can assist my colleagues with problem troubleshooting by framing enterprise application performance engineering not as an art but as applied science built on model-based methodological foundation.