Fog Creek Software
Discussion Board

ICQ in one week?

I would not normally post such message here, but I just want to get some opinions from here.

I am a recent CS grad and have been looking for work for awhile.  Last night I received a reply.  Basically, it asks me to complete an ICQ-like program within a week, before considering for an interview.   

It is not that I am complaining about the impossible project, it is about legitimacy.  Before applying for the job, I visited their web site (using the domain name from the email address).  After receiving the reply, I noticed the replied message has different domain name than the one I sent my resume to.  So I checked their new web site.  On the new page, the funny thing is that one and only one client of theirs is actually the web site I visited before applying for the job.  (Client and the original have different domains but essential goto the same site)  And there are many other inconsistencies that I won’t mention here.

In conclusion, it does not look very legit to me.  I am wondering if this is a norm in the industry.  Would I look naïve and show desperation? if I try to complete the project and test myself to see how far I can go.  Or how should I tell them that I am no longer interested in the position?


Friday, May 16, 2003

Do WHOIS on the domains. Does the same person own both?

It seems a bit much for anybody to expect a whole week's work for "free".

S. Tanna
Friday, May 16, 2003

I have been asked code questions, but never submitted a working app.

You have a right to be suspicious

Here are some ideas: ask to see a demo of their product, they do have  a product right?

Tell them you will demo the app on your laptop, and give them code upon payment for your first week (if it really is just a test, they won't need the code right?).

If it is not just a test, then ask for payment not a contract not a promise, but a check, don't let them get away with b.s about paying net 30.

ask the hiring manager technical questions, if he doesn't know anything, ask to talk to the person who will be evaluating your work.

maybe put a license in the app too (at least if you don't get paid)


Daniel Shchyokin
Friday, May 16, 2003

Would you ask a plumber to do all your plumbing before hiring him ? Asking to develop a specific application before the interview is something I have never heard of. I suggest you question them more before you put too much effort in it. Or make an empty user interface in Visual-basic.

BTW I did an ICQ-like program in VB, 5 years ago, it took us a month and we were 2 working full-time on it and one on-and-off. We had to make a custom ActiveX control to replicate the behavior of the ICQ buddy list. The fun was in debugging the communication protocol sending each other files and messages. Our client used it to communicate documents automatically between different process.

Application Specialist
Friday, May 16, 2003

Well, I suggest you should try to complete the project if it's attractive to you. Sounds a lot more interesting than most of the work you will be doing everyday if you get the job.

Regarding the company, perhaps it's just a small company or startup and they don't have a lot of clients already.

Or they might have clients but not have updated their website.. happens very often with small companies that keep their developers busy with real projects and no one 'maintains' the website.

My first job was in a small place (6 programmers) and we all only maintained a single website. I don't regret having worked there for a year and a half. I learned a lot, bacause I had to maintain, design, develop, test, lead and in general, perform any role there was needed. I felt like my work was productive and meant something because they needed every single skill I had. That is not the way it happens at big companies.

I suggest you try to ask your interviewer about the company's main activities and interesting projects they have done.

Only your good judgement can help you decide, but I would suggest that you should not refuse the offer just because it is a small company.

Friday, May 16, 2003

If they asked for a <complete> <product> you are right, sounds strange and is not common.

But if they asked for a <working> <proof of concept> they might just be a little desperate for someone that can get things done.

Friday, May 16, 2003

> I am wondering if this is a norm in the industry. 

There are no "norms" as far as I know. In my last job, I was hired to do tech support; when I arrived, I found there was no product and no customers, and that the previous programmer had quit, leaving behind him a deliberately corrupted set of source code (which I fixed, in order to keep the company in business and to become their new chief programmer). There are problably as many stories as there are people.

I'd agree with not giving them source code until they've paid for it.

If it were a company that I want to work for, then I might be willing to put a week into pursuing it.

If it is a legitimate test, another problem is that (as with the "MS tests" discussed earlier) you don't know what they're testing for, what the "right" answer is. Are you allowed to reuse existing Open Source stuff? Would a 50%-complete solution get you the interview you want?

Christopher Wells
Friday, May 16, 2003

First of all, I think the test is hardly impossible.  I imagine he wants something with the main features of ICQ, not a complete replacement.

I would go ahead and do the test. When it comes time to show him the code I would make sure it is understood that the code is yours.  If you don't get the position with this company, you can then use the code sample at the next place that interviews you.

I do believe that they will actually want to see the code.  Seeing a working application is definitely helpful, but coding style is just as important.

Friday, May 16, 2003

If you decide to do it

Make the app (aftering trying to agree a small scope of work)

Show the app running

Print part (not all - leave some vital part) of the source, assuming they want to see it (which I guess they _should_, not might) - and show them that rather than all the source.

If it is supposed to be the start of some real project, I would ask them to pay for time you spent doing the app before you started working for them.

S. Tanna
Friday, May 16, 2003

Friday, May 16, 2003

I'd tell him it can't be done, but I'd be willing to write a specification for a simple ICQ clone, and a detailed implementation estimate. That sounds like a more reasonable project to get done in one week. If he doesn't accept that counter offer, I doubt I would want to work for him. But then again, I'm not desperate for work.

Big B
Friday, May 16, 2003

Assuming it's a legit request. You might humor them and submit something that's basically a thin wrapper around open source IM-work alikes like the Jabber API (which basically makes the Jabber protocol work). The Perl/Tk examples are like 200 lines.

Interact with them by email, if you get feedback you might be able to figure out what they really want.

It's possible they are just lazy and want to weed out people they don't see as fitting their needs. Chances are they want network and system programmers who are familiar with rapid programming languages who actually enjoys learning about their field. Because Jabber is network programming / system programming... and most folks like you and me gotta be pretty interested about network programming to know about it or tinker with it. But I personally thing this is a little strange as a test.

Li-fan Chen
Friday, May 16, 2003

MR -- It is time to enter the "real world".  You started out well, in that something seems fishy.  Then you went to ask people who may know more, again another good idea.  Of course, people will argue that asking 24 total strangers their opinion is crazy too...

Speculation is an interesting thing. 
- Do they want you to actually code something?  If you do, that says something about you.  If it is truly impossible, and you don't do it does that say something too?
- Do they want you to send something? If you send them AIM would it show you didn't understand, you made presumptions or you have the common sense not to write something you can easily locate?
- Large companies tend to standardize HR processes so this sounds more like a smaller firm.  Small firms can be very eccentric. In good and bad ways.

You have plenty here to wonder about.  Ask for a contact phone number and a person to speak with. Then track down the company and do some research.    Contact the person and ask for specifics and ask for more details.  Do you even know what they are willing to pay? Whether you would need to relocate? 500 other questions you should ask before getting into testing or the like.  No sense wasting your time either.

Good luck.

Mike Gamerland
Friday, May 16, 2003

By the way, you have given us too little.. (or you have personally received too little) project specs to move forward at this point. From what I can tell there's a chance you are suppose to write one from scratch. Depending on the language you are expected to write it in, that time table could be either silly or more than reasonable. Another problem is whether they want you to come up with something new or not, or do it old school. And how much of the code needs to be yours (how low level do you have to code yourself--in other words).

Li-fan Chen
Friday, May 16, 2003

I agree with others that any time assessment is impossible without knowing more about what the specs they are looking for are.

If all they want is a very simple IM system with client and server that allows users to login, keeps a list of current users on the server, and forwards IMs through the server to the proper recipient, that could easily be done within a week in virtually any language, assuming the target platform has at least BSD-socket/winsock libs and you don't have to write a TCP/IP stack from scratch.  Of course, once you start adding in buddy list maintenance and other features, it can quickly balloon into a really large project...

In either case, unless I was extremely desperate or really, really wanted the job for some reason, I wouldn't write an entire app, even a small one, as part of the interview process.  Not because I'm afraid they'll "rip me off" (if they wanted to do that, they'd just rip off some mature open source IM code), but because I don't think it is a particularly valid way to assess my skills UNLESS they are hiring for "coder-monkey-in-a-sweatshop", which isn't a job I want.

George McBay
Friday, May 16, 2003

Update on the Situation:
1. In the reply , my name is not even mentioned.
2. Several spelling and grammatical mistakes
3. No product listing,just contact info on the web.
4. Nothing much about the program except do something better than ICQ, that runs on both Linux and Windows.
5. Why it needs to be Open Source ? if they just want to look at the code.

It is very fishy, and I am no longer interested.  I guess it is time to go back to my personal project. 

PS: Am I desperate? Not yet.  Maybe, if I still don't find work by Sep.

Friday, May 16, 2003


Friday, May 16, 2003

MR, maybe you can send them references to some of the software you have written on your own time (assuming you are one of those who write hobby programs sometimes as a way to pass time) or open source projects you participated you. You mentioned that you write personal projects on your own time (between jobs I presume)--sounds like you must have something to show thats gotta be levels above ICQ on steroids. Just my 2 c.

Li-fan Chen
Friday, May 16, 2003

They just want somebody to do something for them for free.  That's it.

And I think the posters who mentioned Open Source were referring to including Open Source code in your solution rather than writing it from scratch.

T. Norman
Saturday, May 17, 2003

----"Something better than ICQ" -----

How about a version that doesn't interrupt you all the time with stupid messages. Photoshop comes in useful here :)

Stephen Jones
Saturday, May 17, 2003


>> 1. In the reply , my name is not even mentioned.
>> 2. Several spelling and grammatical mistakes
>> 3. No product listing,just contact info on the web.
>> 5. Why it needs to be Open Source ? if they just want to look at the code.

My hunch is that this company wants an application developed for free, and there is *no* job. I would be shocked if it were legitimate.

#1 implies to me the following: what if they spammed this request out to several hundred developers, and relied on the law of averages that they would get a few prototypes from which they could pick and choose?

Using the pretense of a job interview to get free work out of a "candidate" isn't unknown. Several years ago a friend was induced to apply for a job at a former co-worker's new employer. The inside "pal" asked this guy to bring with him some assembly language drivers that the insider knew that this guy had the source code to.

My friend told me that the "interview" consisted of the "interviewer" getting this guy to show him how to build the assembly code, what the entry points and calling conventions were, etc. After the interview, this **asshole** wouldn't accept this guy's calls to see if he were being considered for a job.  It was a pure ruse.

I think you're correct to pass on this.

Bored Bystander
Tuesday, May 20, 2003

*  Recent Topics

*  Fog Creek Home