Tuesday, August 05, 2008

It’s important to ask the right question

Recently, a friend W asked me which programming language is the most popular one as he planned to learn programming. W is an IT administrator with very little programming knowledge, and I was quite surprised at his sudden enthusiasm in programming.

So I asked him why he intended to learn programming. Basically from what I understood, W was feeling a bit stagnant in his job, and therefore wanted to learn something new to have some breakthrough in his career, and perhaps to have some extra means of income.

Well, if W’s intention was to learn programming and eventually take up some freelance projects to supplement his normal income, I would advice him to spend some time to turn his current hobbies into an income source instead of spending time on something which he had neither flair nor passion in. For example, W had passion in photography, and was rather good in it. He went for photo shoots events regularly so obviously he quite enjoy it. Thus, I would advice W to hone his photography skills, build up his own portfolio and offer his freelance services to bridal studios. He could also setup a website to showcase his portfolio to other potential clients. From there, he could extend his services to videography, photo/video editing, etc. Of course, all these are easier said than done, but at least I felt that he would have a better chance to succeed in freelancing his photography services than programming services. Even if eventually he can’t get much income from this sideline, there isn’t any loss as he is doing something he enjoys and would have do it with or without monetary benefits.

If W’s intention was to have some breakthrough in his stagnant career, I would also not suggest him to learn programming. He would be better off getting professional certification like MCSE, which has direct impact on his current job. If he intended to climb up the corporate ladder, he could take up courses like project management. If he intended to stay as a technical staff but increase his employability, he could take up related courses such as information security, or even courses on other operating system admin such as Linux, UNIX, etc.

So basically, neither W’s problem nor solution involves programming. Yet, he posed a question to me based on a flawed solution. A lot of people tend to ask for the wrong advice because they have put themselves into an unnecessary constraint build up by a flawed solution to the original problem. In W’s scenario, his problem is his stagnation in his job and income, not what programming language he should learn. He thought that picking up programming skills is the solution to his problem, and unknowingly shifted the domain of his problem. As for whether a breakthrough in his job & income would bring about more happiness, that would be another question.

The first step to solve a problem, is to identify your problem, and then, ask the right question.