Introduction Resume' Q & A Portfolio Main Site Photo Gallery

Q & A

Questions about my Experience:

What development platform have you been using the most lately?
A majority of my development time has been spent using PHP. I have developed several web applications. As for desktop and server applications, I have develeoped in C# and VB.NET. For the several years I used both Visual Basic 6.0 and Visual C++.

What is your experience with Visual C++?
When I was at Dan River, I used Visual C++ exclusively. I really like the C++ language and miss working with it.

What is your database experience?
I have developed databases in SQL Server, MS Access, MySQL, Progress, and Foxpro.

What is your experience with .NET?
I have written in C#, VB.NET, and Pocket PC.

Have you used Crystal Reports?
Yes. While I was at Dan River I worked with it quite a bit. In fact I was given the task of writing the code for all of the lot and production tickets. I wrote an ActiveX control and used Crystal Reports to do the printing. However, since I have been at Control Dynamics, I have not worked with it very much.

Have you done any PHP programming?
Yes. I have worked with PHP for over four years.

Your resume shows you are a Microsft Certified Professional. What tests have you taken?
I have taken:

  • Designing and Implementing Desktop Applications with Microsoft Visual Basic® 6.0 and
  • Designing and Implementing Distributed Applications with Microsoft Visual Basic® 6.0.

Do you plan on updating your Microsoft certification to .NET?
Yes. I just need to get it done.

What network administration experience do you have?
In my current position, I am the network work administrator. We have Microsoft Small Business Server 2003. I can handle most of the tasks invloved with SBS 2003 including managing Exchange Server. However, since network administration is not my specialty, I call upon a consultant when I run into issues in which I need support.

I have also set up two VMWare ESX servers.


Questions about my Programming:

What are your personal coding standards?
I have such a strong philosophy on coding that I could probably write a book on the topic. I'll list a few of my coding practices here. These are not in any particular order.

  • Code Format should be neat, structured and consistent. I believe that indenting and spacing for coding blocks makes code easier to understand.

  • Variables:
    • Variable names should be meaningful and follow Hungarian Notation.
    • Variables should be declared with the lowest possible scope.
    • Variables should be used with caution. Reusing them can become confusing as to the value it contains at any particular time. Using too many variables can make coding saturated can will cause inefficient processor time and memory usage.
    • Pointers are important and should be used when possible.

  • Comments should be practical and purposeful. I don't think it's neccesary to make a comment every few lines just to make comments. Whenever I write a routine, I try to make a description of the routine with an explanation of the parameters and the return value, if appropriate. I also wrote a VB Add-in to help me do this in Visual Basic.

  • User interfaces are the part the of the program that the user sees, so to them, the user interface is the "program". The perception is that if the interface doesn't work well, the program probably doesn't work well either. The interface should be easy to understand and use. When I design a program, I try to figure out how the user will interact with it and make it easy for them. Interface components such as labeling, tab order, coloring, and consistency are important. The user interface should have a neat, clean appearance.

  • Data validation is critical for robust applications. User input will be incorrect at some point so the program must be written to deal with it.

  • Exception Handling is sometimes neglected by programmers. Whether the exception is processing data in a batch job or in the user interface, processing improper data will cause problems. The program needs some way to report the problem so the data can be corrected.

  • Debugging: I don't think anyone would argue the importance of debugging. Although I try to debug a program as much as possible. I also try to get another person involved as the program approaches completion. Because I wrote the application, I know how it should act, so it's best to let someone with a different perspective use it and critique it.

  • Error Handling is something I have seen too many programmers overlook. Ignoring an error either by not handling it and crashing the program, or ignoring the error by catching it and not doing anything can cause problems beyond the program. One of the things that I have done is to log program errors and major events to a text file. Entries for the file have time and date stamps and are made when the program starts up, shuts down, when errors occur, or a major event happens. While at Control Dynamics, I even wrote a DLL to assist with error logging.

How do you determine which language to use?
Although I like some languages more than others, I try to take an ojective view in selecting the development platform. Here are a few questions I ask myself in dermining which platform to use:

  • Is there a speed issue in the program? If there is, Visual C++ becomes the prime candidate.
  • What is the development time frame? VB allows for quick development.
  • Will this program be used throughout an enterprise? If so, can it run from a web server?
  • What extensiblity and scaleability factors are there?

My believe is that the right platform should be selected for the project. I try to set aside my personal prefrences.

Do you use Object Oriented Programming?
Yes. When I started using C++, I jumped right into OOP. As with most programmers, I had a little bit of a learning curve before I really started understanding and fully appreciating OOP. Now, when I design a program, I try to identify what the various objects will be.


Questions about my Me:

It looks like you've been a programmer since 1997. Why did you become a programmer then?
I was introduced to computers in about the eighth grade (c. 1980-81) by using a Digital Equipment computer. I was fascinated by the ability to give the computer commands and see it work. I checked out a BASIC book from the library and became hooked. I even taught myself Assembly Language on my Commoder 64. In my first year and a half of college as a computer science major, I was not very self-disciplined and did poorly in my classes. I finally changed colleges and changed my major. In that time, I learned self-discipline and matured quite a bit. As I worked with ServiceMaster, I was starting to work with computers again and realized how much I enjoyed it and decided to take some programming classes. While in my C programming class, I met some people fron Dan River who offered me a position with them.

Do you enjoy programming?
Oh yes. Like I say, programming is more like a hobby-job. I enjoy a good programming challenge and have been known to wake up in the middle of the night with the solution. I also enjoy the continous changing state of computers and the learning that goes along with it.

Since you don't have a programming degree, do you plan on working on it?
At one time I would have said "yes". I actually started on a degree when I lived in Boiling Springs, NC and had a 4.0 GPA. When I moved to Michigan, I did not resume my classes. In this stage of my career and my experince level, I only plan on obtaining various certifications. I may take some specific classes as needed.

Where do you see your career in five or ten years?
Well, for the next few years I see myself still programming and doing systems analysis. At some point, I would like to become a lead programmer or analyst then grow into a management position. Since I enjoy software developement, I would like to stay fairly close to it.

Email: webmaster@karrtech.com