I don't know if anyone else here might find this useful; but if anyone else is looking for practice with Python/sharpening their linux-memory perhaps consider helping finish up the GTK version and/or adding some QA sets?

Agreed. As a sysadmin, I look upon programming with much different eyes now because I now know how the programs integrate within the overal systems. This enables me to write much tightly integrated and more efficient software.

I can see why they'd want to avoid shell. Shell scripts in general can be very slow and don't necessarily expose the fastest or best data structures that may be necessary. It's one thing to cat/sed/awk/grep a 10k line file, and another to do that on a 100 million entries.

Being a programmer that knows how the TCP stack works can help amazingly when optimizing the structure of packets being sent from web-servers. Facebook is large enough that this type of thing matters pretty significantly.

I imagine they also have a large subset of programmers working just on the data support teir. Half of facebook is how well their servers perform. Making PHP stretch to where they brought it mean that as a culture, they must have had a great many programmers/system admins since a lot of the efficiency problems need to be solved with good hardware and appropriate caching. I don't know what they are working with now, but I suspect that the issue hasn't changed much due to their massive growth.

A big problem in larger corporations is that this information gets silo'd. The system admins end up being completely separate from the programmers. By mixing the two, there can be better collaboration and its a lot easier for simple changes to take place since the programmers are already intimately aware with the demands of the application. IT also means that the best person for the job can naturally find their place instead of forcing people to be where their job-title dictates.

Programmers also have a tendency to automate lots of system-admin work that would otherwise be done by hand. I know that I ended up automating 90% of our machine configurations and saved hundreds of hours of work when I was doing IT stuff. Nothing is more gratifying than seeing a 2hour set up be done in 20 minutes seeing the effecincy gains allow for putting 10 more computers through the pipeline than before.

TL;DR: forcing programmers to do billable work for clients is silly since they tend to automate themselves out of a job.

Not too bad really. They gave me an equation and two csv files full of attributes and numbers with a common shared 'name' column.

As quickly as possible I had to filter and compare the data sets, record the answer to the equation, and sort the results from largest to smallest.

edit They had me write the equivalent of the SQL statement:
"select name,(xyz) as eqn from table1 left join table2 on table1.name = table2.name where table1.attr1 = 'something' order by eqn desc" from scratch for flat text files.