Subj : Re: Software Job Market Myths To : comp.programming,comp.software-eng From : rem642b Date : Mon Aug 15 2005 01:14 pm > From: Alan Balmer > Programming is not normally something that needs to be done > reflexively or even quickly (in terms of the length of an interview.) > I'd rather have a programmer who has an excellent solution in a day > than a sorta good one in 5 minutes. If I were the boss, I'd like to know within 5 minutes whether he even understands the question, and within a half hour or so what various ideas he has for plans toward actually solving the problem. If he doesn't understand the question, or his ideas for solution are totlally inappropriate, then I'm not going to pay for 8 hours of his work just to throw it all away because it's moot to the problem at hand. I don't expect he's decided on a plan within a half hour, but at least his various options should mostly sound plausable. For example, suppose the problem is that our mail servers have been getting flooded with spam, and we've made a policy decision that we are going to start telephoning the major problem ISPs with demands they stop sending us spam or we'll configure our SMTP servers to block all connections from them. What software will we need? Suppose the person says: The the only thing in spam that can be trusted is the IP number of the SMTP client that connected to our SMTP server. So we need to collect those IP numbers, either directly from the log of our SMTP server, or from the Received: line that our server attaches to each incoming message. So we need either tracking between server and messages that are later recognized as spam, or parsing of headers to recover the IP number. Then we need a map from IP numbers to responsible ISPs. This is provided by WHOIS servers, so we need software to connect to WHOIS servers and perform searches and collect the records and parse it for the relevant information. Then we need a database to store all the collected data and check whether we already have the data for a new IP number or need to go get it from scratch. Then we need software to audit our database to see which ISPs have been causing the most problem so that we can concentrate our efforts there. I'd classify that as a workable starting plan. I'd then make the administrative decision whether to do SMTP server tracking or header parsing, and check with other employees who might have expertise in some of the needed areas to speed along the project so this one person doesn't have to code everything from scratch. By the way, unless you can split this task among lots of employees each coding one part of the overall task, it's going to take a lot longer than a day or even a week to get the whole job done properly. .