Software Development History

I wrote my first computer program at age 13 when my parents, with their entire life/retirement savings, bought me a used Apple II+ with color monitor that came with an Applesoft tutorial book. I spent the next 3 months reading the book and learning basic programming and eventually got a pirated copy of an assembly editor and compiler, and from there learned assembly langauge for the Motorola 68010 Microprocessor and also Pascal and Fortran 77. This coming at a time when being a computer geek reduced to me to the lowest, most disrespected level of middle school/high school social hierarchy :) I was a loser and a geek. I loved this designation by my peers. Luckily, I didnt care about that and was fascinated by what my computer could accomplish by me telling it instructions to execute.

I learned Applesoft Basic, Pascal, Fortran and also assembly level programming (and played a lot of cool games like Karateka) by the time I was 15 years old.

Education

I am a graduate of Florida State University in 1994 and have a Bachelor's of Science degree in Electrical Engineering with a minor in Computer Science and Information Systems. Something recently referred to as EECS.

Fun stuff - The very first question I got on a test got during a C programming class at FSU was: How stupid is a computer?

Answer: A computer is so stupid it does EXACTLY what you tell it to do. :)

Professional Career

I spent the next almost 20 years advancing from junior/senior/staff/prinicipal developer to eventually a J2EE architect and expert.

However, during these years, I became frustrated by the emphasis on deadlines for software completion rather than focusing on quality and user experience. I decided that when I was an expert in software development I would understand and learn the QA side of software development, and thus what I feel would have a complete understanding of the software development process in general from all stakeholders.

In 2009, I decided to start my transition to the Quality Assurance aspect of software development.

I was lucky enough that a company called MyWire.com, gave me a chance at being QA engineer to complete my learning of QA process and issues and thus become a complete software engineer, one that could someday be the best VP Engineering because of having the total understanding of both the development and QA part of the software engineering process. I began my learning about QA and process very quickly and how it is done using the Agile process during extremely short (2-week) 10 working day sprints. It was a very difficult learning curve but from that experience I learned how to do QA from the best mentors possible.

Since that time, I have worked for a few companies, as Principal QA Engineer and QA Software Manager and have acheived the best and most thorough possible results as a leader and implementor of QA testing process and implementation of design patterns and techniques in the 2 most prevelant software platforms: web and mobile applications. In the mobile application testing area, I have experience in testing android and iOS applications.

I have worked also a QA Manager and built teams from basically scratch (nothing) and implemented the Agile QA process (described in my presentations) and creating tests and integrating into Continuous Integration applications, mostly using Hudson, or what is now called Jenkins.

Mission Statement

My goal is to share with you my experience and believe with all my heart that implementing my ideas will assist your company in developing the highest possible quality in software and user experience.

Quality Engineering and Test Automation are somewhat new activities for most companies. Follow the ideas and processes that are presented on this website and your company will acheive the highest quality of software. I can promise you that.

I also want your feedback. I dont know everything there is to know, but am wanting, with your help, to influence companies around the world to adopt a process that will make software at the highest possible quality level and your expertise and participation will assist in doing that.

The achievements of an organization are the results of the combined effort of each individual. Any failure or bug found in the production environment is not the failure of QA, it is a failure in the software development process your company is implementing. Constant improvement, listening, and understanding is neccessary for success.