Tunesat Is Hiring its IT Operations Manager

A thriving startup founded by passionate musicians, Tunesat uses its proprietary fingerprinting technology to track the use of millions of songs on over 250 major TV stations in the US and Europe, and on the Web.
Today, Tunesat is hiring its IT Operations Manager: could it be you?

What the job is about

Your primary responsibility will be to ensure continuity of operations of our platform (2 datacenters: New York and Paris), including audio fingerprinting, TV feed capture, audio processing and storage, databases and front-end (Web). As practical constrains evolve, you'll improve and adapt our internal processes and suggest necessary improvements and evolutions to our proprietary technologies.

Important: the job is to be performed in New York or Paris preferably, but if you don't live in one of those cities and don't intend to relocate there, it is possible to telecommute from anywhere in North America and Europe.

Do you fit this picture?

Technical requirements

How do you apply?

Applications are now closed! The information in this page is for reference only.

If you're interested in joining us, please follow steps 1-3 below. These steps are designed to optimize the use of your time and ours.

Step 1: a quick compatibility evaluation

Please check all boxes that apply. This should only take a few minutes.

Have you ever:

Click here when you have checked all the boxes that apply above.

Step 2: can you fix my Perl?

Each of theses three Perl programs has one bug that prevents it from working as advertised. Can you find all 3 bugs (and their fixes) in less than 10 minutes? If so, move to step 3.

buggy1.pl

#!/usr/bin/perl -w

# buggy1.pl -- prints tab-delimited columns in reverse order

while(defined($_=<>)){
	@cols=split /\t/;
	print join("\t", reverse @cols), "\n";
}
Check solution

buggy2.pl

#!/usr/bin/perl -w

# buggy2.pl -- prints all visible TXT files in the specified directory, with a header

$dir=shift or die "usage: buggy2.pl [dir]";
opendir DIR, $dir or die;
while(defined($_=readdir DIR)){
	next if /^\./;
	next unless /\.txt$/i;
	print "\n==== $_ ====\n\n";
	open FILE, '<', $_ or die;
	print $buf while read FILE, $buf, 4096;
	close FILE;
}
closedir DIR;
Check solution

buggy3.pl

#!/usr/bin/perl -w

# buggy3.pl -- convert tab-delimited file to CSV
# Fields containing commas must be quoted.
# Fields containing double-quotes must be quoted,
#  and double-quotes escaped as double-quote pairs.

while(defined($_=<>)){
	chomp;
	@cols=split /\t/;
	foreach(@cols){
		next unless /"|,/;
		s/"/""/;
		$_=qq["$_"];
	}
	print join(',', @cols), "\n";
}
Check solution

Step 3: a more serious test

Applications are now closed! The information in this page is for reference only.

Step 3 is a 120-minute programming test. Please send an email to the address at the bottom of this page. Please include your resume, your public key and the exact date/time (and time-zone) when you want to start the test (please allow at least 1-2 business day(s) for your message to be received and processed). Reception of your data will be acknowledged by e-mail. At the chosen day/time, an automated process will send you the IP of the machine to connect to (by SSH and SFTP, using your key) along with detailed instructions for the test. You will be asked to write 3 small programs in the language of your choice (preferably Perl, but you may also use Python, Ruby, Bash, C++, whatever else is installed, or any combination thereof). The expected outputs of those programs will be provided, allowing you to check your work.
120 minutes after the chosen day/time, access to the machine will be closed. Please make sure you have left your finished programs (including sources) on the machine by that time, as they will be the basis for your evaluation.
This is a speed test. Ideally, you should complete all 3 problems in the given time, but if it's not possible, complete as many problems as you can (that is, 1 working program is better than 2 unfinished programs). Style of working programs (including robustness, simplicity and readability) will also be considered.
You will not have root access on the test machine, so you won't be able to install additional software such as languages or modules. You'll be allowed to use any documentation (books, Web, etc.) at hand, however you can't get help from an actual person during the test.
After you have performed the test, please allow a few days for your work to be processed, then we'll contact you by e-mail.

Thank you for your interest and participation!

Sylvain Demongeot
CTO, Tunesat

email