Archive

Archive for the ‘Uncategorized’ Category

Mar
01

One of the few shows on television I will watch on a regular basis is Amazing Race. Tonight was the start of the 7th edition. It is definitely a guilty pleasure. I really enjoy seeing different places around the world, observing the human reaction to pressure situations, and seeing people extend themselves past what they initially might have thought as impossible.

This show is a road rally on steroids, but instead of one evening of excitement in your home town, this trip takes eleven teams of two around the world, puts them in challenging situations, and forces the team to manage their money, complete physical challenges, and work together to be first at the end of the segment, and more importantly at the end of the entire race. The team that survives and finishes first wins a million dollars. The last team to arrive at the destination for eight of the legs is eliminated from the race. There are usually a few non-elimination legs of the race, but the last team loses all their money and gets no money to start the next leg. This race has interesting teams. After a couple of weeks you develop favorites and hope the other teams are eliminated. It is a fun show to watch as a family.

The host of the show is adventurer Phil Keoghan. I am reading his book No Opportunity Wasted. This book outlines a philosophic approach to life which mirrors my approach. Live your life to the fullest by setting life goals, and then working toward accomplishing these goals. Phil adopted this approach after a near-death experience, and hopes you can adopt the approach without getting so close. Developing your “List for Life” is a contract and forces you to list things you want to accomplish before you die. Phil’s approach is different from mine because he developed eight categories and challenges you to add at least one goal for each category. This is definitely an interesting book, with inspirational stories and much food for thought.

I will blog my complete list one of these days. Many of my family and friends know I want to experience several natural disaster events first hand (earthquake, hurricane, volcanic eruption, tornado). Another one is to visit all 50 states in the United States and all thirteen Canadian provinces/territories. Another one is to see a shuttle takeoff and landing.

While developing a set of goals is important, the key most people forget is the list is dynamic. I believe the key is to continuously add goals to the list, even at a faster rate than you are accomplishing them. You can erase things no longer important to you. One of the mistakes I made several years ago is letting my list nearly evaporate and quite frankly, I was not working toward my goals. Without defined goals you lose focus and drop off the path. I can tell you from personal experience, you will accomplish much more in life when you have goals to attain. I believe this was another thing I learned in Kindergarten.

Feb
28

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.

Feb
25

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)

Feb
17

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.