Professional Ethics

I am very goal oriented. I thrive best in an environment where I am given tasks to complete. This allows me to focus on the task until it is complete. When possible I prefer to work on a given task until I've gotten it done. For example, if I am given a month to do a task I will focus on doing that task until I'm done. I prefer to do it this way as opposed to waiting and pacing myself such that I take the entire month.

I am happiest when I am programming or playing with technology. Whether it is new technology or existing technology; I enjoy it all. Self-improvement is a cornerstone by which I live. I am always seeking to improve my knowledge and skills as well as expand them. As a result I often have no time to play office politics. In fact, I refuse to play them and this refusal has not often been understood but often it was appreciated by my co-workers.

It may not come as a surprise when I tell you that I generally become the technology leader of any team I join. If not the technology leader certainly one whom the other team members come to for information.

Skills
C
I started programming using the C language in 1989. All of my early professional projects were done using this language. Although I am primarily C++ now, I still find myself every so often asked to write something or help someone with C.
C++
I made the switch to C++ some time around 1993. C++ was still relatively new. My school did not teach it yet and so I had to learn it on my own. Learning C++ wasn't not very difficult due to my C background, however, learning to program in an Object Oriented way was. My procedural indoctrination made the mind shift to OOP (Object Oriented Programming) a challenging one but one I relished.

Now I program in a very Object Oriented way while using C++. It is currently my favorite language.
Java
While working for Andersen Consulting I received Java training in preporation for a project. I was pleasantly surprised at how similar the syntax of Java was to C++. This allowed me to focus more on the conceptual differences. Java support only the Object Oriented programming style while C++ supports both OO and procedural programming styles. Thus a programmer like myself who has focused on OOP had no problem with Java.

Unfortunately I've not had a chance to do a project using Java on a professional project and many don't understand that my many years of C++ and OOP make using Java very simple. Java is currently my second favorite language.
Cold Fusion
This is by far my favorite server side scripting application server. It's tag based language makes building dynamic web pages a lot of fun. I started using Cold Fusion when it was still owned by Allaire. Since then Macromedia and Allaire have merged.
Cold Fusion Studio combined with DreamWeaver UltraDev and TopStyle Pro provide a wicked combination. UltraDev is great for layout the design of the page. Cold Fusion Studio is great for building the server-side functionality and of course TopStyle is great for managing and using the CSS.
Javascript and HTML
I usually hesitate to call HTML a language but it is, although not in the same league as C++ or Java. When people ask me do I know HTML I usually have to stop myself from saying um yes...all you need is a reference book and anyone can know it. Coming from C and C++ of course my attitude towards HTML is somewhat poor but it does what it needs to do. Javascript fits my idea of a language much better.

Generally I do not use heavy javascript on my pages. I specialize more on the server-side area, however, I've found Javascript to be very useful for form validation as well as a few bells and whistles. You may notice this on my own website here :)
Microsoft FoxPro and Microsoft Access
I used Foxpro back before Microsoft bought it. I was slow to use an application like this as I preferred to build my databases using C and Codebase. However, the industry changed and Rapid Development was the new buzzword and so I started using Foxpro.

I used Foxpro for a few projects when asked. Microsoft Access came much later and seemed more geared towards personal database management. Not for development and so I stuck to Foxpro for my own projects. These days, however, I generally use databases such as Informix or SQL Server and Access. These are the databases that were being used at the places I worked.
Microsoft's SQL Server
I've used SQL Server on the backend for several projects. Most of which I communicated only via ODBC, however, some web development projects required me to get more aquatinted with it. I don't consider myself an expert just yet but I'm far from a beginner.
Database Concepts
Since databases are another passion of mine I am well versed in database concepts. Relational as well as distributed. I've had to normalize databases and I've seen the pain that comes from over normalizing a database. I've had to implement transaction processing (which for a distributed database system is a must).
CORBA
Being into OOP I was very excited about CORBA. It handles things in a very OO manner. I was trained and immediately put on a project. I had fun and I learned a lot about what CORBA was and what it wasn't. For instance, despite the hype it is not a standards enforcing thing. I found this out the hard way. One department maintained the CORBA object we needed to access, however, they changed the interface without telling us. We were given old IDL files and so I spent a fruitless few days trying to get things to work.

When I finally got the updated and correct IDL files my code ran smoothly. So while CORBA does allow a lot of flexibility and standards setting, it is still up to the company to enforce a policy which prevents the situation I found myself in. That problem could have been avoided by the simple use of version control software.
Vitria's Business Ware
I was trained in this in preparation for a project at Bellsouth. The more I learned about this middleware the more excited I became. It even encompassed CORBA. It is a great tool to help manage a distributed system. Unlike with CORBA this tool could be used to actually enforce a standard. If your data isn't in the proper format (using CORBA) then this system could be made to deal with that.
Visual Basic
Visual Basic has come a long way since I last used it. Today its more like Java or more specifically C# which is also a lot like Java. But when I was using it I believe it was still VBA. It was Object based rather than Object Oriented. I must admit that I didn't take a shine to it but I used it for a period of 6 months. The interface VB used was nice and familiar. It was almost identical to that used with Visual Foxpro.
SQL
SQL is how I communicate with databases these days. Usually via ODBC but I've also used Embedded SQL/C on a UNIX system.
Common Interview Questions/Answers

What would you say is your best personality trait?

I would have to say it's my ability to work well with a variety of personality types. I am very laid back and I do not get upset very easily. In fact there are people who have known me for years and have never seen me upset.

What would you say your worst personality trait is?

Since I'm given to introspection, this question is difficult to answer not because I can't think of anything but because I have to narrow things down. :) But I would say my worst work-related personality trait is that I have a problem saying no. If a co-worker needs help I've been known to spend hours helping them when I could have spent that same time on my own project. This usually isn't a problem since I enjoy programming so much I don't consider it a problem to spend extra time to make sure my project is done on time.

What would you say would be your dream job?

The job would have the following traits:

  • Casual Environment
  • Very Laid back Environment
  • Complete Flex Time
  • Ability to work from home
  • Very goal/task oriented

You may have noticed that salary was not mentioned in the above list. This is because money is not a major driving force for me. Its important but not as important as those things I have listed.

Tell me About Yourself

Very common question and the professional section of my website is dedicated to answering this very question.

Educational Background

I attended Andrews University from 1988 - 1994. I graduated with a Bachelor's degree in both Computer Information Systems and Business Administration in 1994. Rather than go for just 4 years and get the CIS degree I noticed that many of my classes also met the core requirements for the Business Administration degree. Even so it took me another year but I feel it was worth it.

Andrews University is an international university. I made many friends from different countries and cultures and learned a lot. I feel that this experience helps me in my professional life. Being exposed to so many cultures helped me understand others much better and to gain a certain tolerance for differences. It's an experience I would recommend everyone to have.