Personal Information

Background

Early Programming

My love of programming started as a hobby in 1983 when I received my first computer - a Tandy TRS-80 - as a gift. That's when I first learned how to program in BASIC, and continued the hobby for many years afterwards, learning several different languages and technologies along the way. Programming, however, wasn't my initial profession of choice.

Electronic Technician

In 1985, I joined the Air Force and quickly worked my way into a career as an Electronic Technician. After receiving an honorable discharge from the Air Force in 1989, my career in electronics continued for another 19 years spanning several different companies and industries, including 6 years at NASA and 13 years in the semiconductor industry. My electronics career continued until I finished my Bachelors degree and effectively switched careers.

College

In December 2007, I graduated Summa Cum Laude from Arizona State University with a Bachelors Degree in Software Technology Applications. This was two years after completing three Associate of Applied Science degrees from Chandler-Gilbert Community College in 2005 and 2006. This course of study included several programming languages such as Java, C++ and Visual Basic, although most of my course work was in Java. Many subjects were pursued, such as SQL Server, PL/SQL, Oracle Database Administration, Database Technology, Technical Communications, 3-D Graphics Modeling, as well as the standard classes such as Math and Physics.

Starting Out

My professional programming career started as a Java Developer with Helm Software where I worked on a very large web application that's used in the food service industry to manage distributor contracts. From 2008 to 2013, I worked with technologies like Freemarker, Struts, and HTML on the front-end, with Java on the middle tier of the application. The back end used an Oracle database, with JDO as the persistence framework. For 3 of the 5 years I worked on the application, I was the lone developer that maintained the application. I supported 4 customers with bug fixes, upgrades and enhancements, as well as data extraction (ad-hoc SQL queries).

Next Steps

From 2013 to 2018, I worked at the newly created General Motors Arizona Innovation Center where I was hired as a Software Engineer. My work for GM started in the quality group where I worked to harden several applications that were used internally, including a greenfield project - a NHTSA mandated REST service used for acquiring recall information based on VIN number. After 3 years, I moved to the code reuse group where I developed, deployed and managed code libraries that are used internally by all of the development teams within General Motors IT.

Masters Degree

In December of 2014, while working at General Motors, I finished my Masters of Computing Studies (MCSt) degree at Arizona State University. The curriculum included subjects such as advanced data structures and algorithms, OpenGL graphics, project management, the Android O/S as well as other mobile technologies.

Adjunct Instructor

One of the reasons that I pursued a Master's degree was so I could teach programming - the other was to continue my professional education. I still had contacts within the computer science department at Chandler-Gilbert Community College and they asked if I would like to teach Java classes at the community college. I eagerly accepted and started teaching a Java 1 class in August of 2014 as an Adjunct Instructor, just 4 months before completing my Masters degree. The following semester my teaching schedule increased to include a Java 2 course (data structures and algorithms). This continued for 4 years from August 2014 until May of 2018 when I accepted a new position at a new company and was no longer able to work evenings at the college because of the extensive travel at my new company.

Consultant

Because of the work I was doing at the college, I was contacted by a recruiter with Cognizant and asked if I would like to teach Java full stack development as a Senior Associate with Cognizant Academy - an internal group responsible for all training done within Cognizant. I currently provide consulting for clients on full stack development subjects as well as curriculum development and classroom instruction on the same subjects. Topics covered range from software testing lifecycle, SQL and Java to servlets, JEE and Spring/Spring Boot technologies such as Spring Data JPA and microservices.