Archive for February, 2005


Over the last few weeks I have read postings and talked directly with developers who have speculated “what’s next” for Visual FoxPro. Personally, I find it a time sink with no purpose, but recently I considered something I had not considered before.

In the past Microsoft has announced they were already working (whether design, prototypes, or actual builds) on the next version of VFP. These announcements came before or near the release of the current version. How many developers do you think looked at the current release and said: “I might as well wait for the next release since it will be even better”?

Now you and I know having the latest release has much to offer in productivity and what we can deliver to our customers, but I would hazard a guess that many developers think they can save a few hundred bucks and just wait it out for the next killer feature. Others are just satisfied with the status quo or cannot afford the cost of the upgrade, or the time to upgrade their applications.

I recently started at a new client who has a system developed in VFP 6. I was stepping through a debug scenario and opening some tables while he was looking over my shoulder. The developer nearly fell off his chair when he saw IntelliSense kick in with the list of tables after I typed in USE in the Command Window. I turned around and told him, you have not seen anything yet.

I believe this is the message we should be spreading. Don’t worry so much about VFP X, check out VFP 9 and live the features that will make you life as a developer better, and the apps for your clients more impressive than ever.


You would think posting a help wanted sign out on the front lawn of the office would attract hundreds of resumes in today’s economy. In the world of software development we have a huge surplus of developers for the first time in the short history of this industry. So why is it so darn hard to find good people?

I live in southeast Michigan in the middle of the former rust belt. In the last year our little geographic mitten has been stamped one of the worst states with unemployment hovering over 7% (49th out of 50 states) and one a few states running deficit spending. I find it interesting to listen to the politicians as they claim our state needs to be saved by moving toward tech jobs, and away from the traditional manufacturing jobs our state has been famous for in the late 1900s. Have these same politicians forgotten that Michigan has been doing a good job of attracting the tech industry for the last 5 to 10 years, and for the last four years the technical jobs have been hit hard by the economy? Maybe this is the reason our unemployment is so high, but I digress.

I have several friends who are actively looking to hire competent FoxPro developers. The requirements are simple: you have to know how to read and write Visual FoxPro code, communicate with end users verbally and in writing, live in the area (no telecommuting), and have a solid background in software development. In other words, they do not want someone who they have to train from the ground up. One would think there should be plenty of developers with these skills.

They have tried the typical routes of posting help wanted ads, talked to head hunters, posted notices on technical forums, and made calls to their network of friends and past co-workers. The results have been, well, pathetic.

The majority of people applying for these positions claim to have years of experience with FoxPro and Visual FoxPro, yet asking the simplest of questions allows the interview candidate to be eliminated from contention in a matter of three minutes or less. Hint: if I ever ask you to explain the difference between a LOCAL and PRIVATE memory variable, you better have the answer. Data buffering is not unique to VFP, but there are specific ways to implement it in VFP. If I ask you to name three third-party tools or two books FoxPro developers should consider owning, you better be able to list these off the top of your head. Extra points if any of my developer tools or books get mentioned .

JoelOnSoftware (January 25th post) makes the point I have been communicating to shops looking for good people. The reason most people sending in resumes appear under-experienced is the really good people already have jobs or already work for themselves and are busy. You may get a few dozen resumes, but if you are looking for the best, or even the better, you have to find a person who is not 100% satisfied with their current job or an independent who is finishing up with a project and is preparing to look for the next gig. This is where networking comes in and why I keep in regular contact with other developers in my industry.

You may be recognizing the trend I have been observing for the last year. The software industry is recovering from the Y2K hangover and the 9/11 attack and subsequent war on terror. Businesses have limped along on their older hardware and suffered with inadequate software for the last few years because budgets would not allow improvement. This cannot go on any longer for many companies. Companies willing to move systems forward are running into a shortage of good developers. The first issue, too many good developers became disenchanted and have left our industry because there was little work in the last four years. The remaining top gunners have fought over fewer jobs and have often settled for something less than they hoped for (both in type of work and salary). I already see the shortage. Not everyone wants to ship work offshore, and yes, eventually all the good developers in India will be to busy to take on more work and will start raising their rates for more reasonable wages.

So the lesson to learn: if you are a software developer who is looking for work, prepare yourself with the fundamentals necessary for recognition as a great software developer. Polish your core technical skills, communication skills (verbal and writing), and stretch out of the box and expand your knowledge of your favorite developer tool. The work is available to those who prove they are capable and have invested the time to make themselves better than their competition.

(In case you are wondering, do not send me your resume, I am not hiring anyone at the moment)


A wise person once told me that where there is light, there can never be darkness.

It is really a simple concept. Sit in a room with absolutely no light, then turn on a flashlight, or light a match. The entire room is now visible because the light spreads and does not stop until something gets in its way (walls in this case).

Darkness is scary to some people. Young children often need a night light in their room so the monsters hiding in the shadows cannot hide as easily. As we grow older we learn to stumble through darkness. Once we have children of our own we need the night lights again so we do not step on the legos the kids leave in the hallway.

Darkness makes it difficult to see clearly, which slows us down. I think we all agree that seeing things in the light leads to efficiency, avoiding hazards, and making better decisions.

Keeping people in the dark spreads uncertainty. This leads to rumors starting, which leads to inaccurate assumptions by others, which possibly leads to more uncertainty and the spiraling infinite loop. This only leads to problems that never needed to occur.

Shedding some light solves many of life’s little problems and helps avoid life’s bigger problems.

This is one of the reasons I picked White Light Computing as my company name and included a lighthouse in the logo with a bright beacon of light going off into the night. I want my customers to understand that I will never intentionally leave them in the dark and I will always do my best to guide their IT investment toward success.

I hope you enjoy my occasional posts and a little light is shed in your path as this journey is started.