[UPHPU-jobs] Looking for Programmers

UPHPU Administrator admin at uphpu.org
Fri Mar 10 15:42:09 MST 2006

Hello, everyone:

One of my clients is looking to hire programmers, and has asked me to  
fish some
out. So I am throwing out a bait, hopefully some good fish will take  
a bite.

The job will be programming mostly in PHP on Linux with Apache and  
MySQL. The
hours are flexible and some work (actually quite a bit) can be done  
from home.
The ideal candidate should be a versatile programmer that can work
independently, solve challenging problems, know how to learn what he  
does not
know, and have an overall solid understanding of computing. I am not  
the one to
decide on the compensation, but I would venture to say that the right  
will be compensated accordingly.

Instead of asking for a degree or reading resumes, I am going to  
throw out a
simple test which gives you a lot of freedom, but beware - you will  
be judged on
how well you use it. If you are not interested in the job, but just  
want to have
fun feel free to submit your solution. I do not mind even if you post it
publicly for comments or educational purposes. Anybody who would want  
to cheat
on this test to get the job is plain crazy - if you feel you need to  
cheat, I
will guarantee you will not enjoy the job at all. No amount of money  
will be
enough to compensate for your misery.

Here is the test:

* locate a dictionary of English words ( many Linux systems have it in

  * write a program in the language of your choice that will output a  
list of
unique words and their counts found in an arbitrary file (given as an  
to your program) that are also present in the English dictionary.  
Write two
versions of the program: one that requires the minimum development  
time on your
part, and one that executes as fast as possible. Benchmark both  

  * suppose the only tool you were allowed to use to solve the above  
problem was
MySQL. You could not use any of the programming languages or the  
shell - only
MySQL command line client connected to a MySQL server. Could you do it?

You are allowed to use the Internet, books, and whatsoever resource  
is available
to you. You are even allowed to consult others. However, the bulk of  
the work
should be yours, and you should give your sources proper credit. If  
you find
something ambiguous in the definition of the problem (eg. what  
exactly is a
word, are the words case-sensitive, is there a limit on the length of  
the word,
etc), just make a reasonable decision and stick with it.

Submitted solutions must be complete, and should run on most Linux  
without the need to install a whole lot of extra stuff. In other  
words, I do not
mind installing a package or two to benchmark your solution, but I am  
not going
to spend a day upgrading my box just so I could test your code. You  
must clearly
state the system requirements for your solution and if you choose to  
push the
bleeding edge, do so sparingly and be prepared to defend it when  
challenged (eg.
the new version of language/library X provides the functionality that  
permitted me solve the problem with half the amount of code, and it  
twice as fast). You must also provide clear usage instructions for  
your solutions.

I will naturally accept no excuses for unfinished low-development  
time versions.
However, if you say - "here is my low-grade high-performance  
solution, and here
is how I would do high-grade if I had a day, but I do not have a  
day", and with
that somehow demonstrate that you indeed have the ability to carry out
high-grade to completion given enough time, this will be taken into  

Sasha Pachev
AskSasha Linux Consulting

Running Blog
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2413 bytes
Desc: not available
Url : http://uphpu.org/pipermail/uphpu-jobs/attachments/20060310/44579c0e/smime.bin

More information about the UPHPU-jobs mailing list