511 likes | 1.7k Views
PALANTIR TECHNOLOGIES (USA) INFRASTRUCTURE QUALITY ENGINEERING. Mat Phillips mp2509@ic.ac.uk. INFRASTRUCTURE QUALITY ENGINEERING. PALANTIR: The Company. Data a nalysis software Government, banking, healthcare ~1000 employees Informal ‘start-up’ culture. INFRASTRUCTURE QUALITY ENGINEERING.
E N D
PALANTIR TECHNOLOGIES (USA)INFRASTRUCTURE QUALITY ENGINEERING Mat Phillips mp2509@ic.ac.uk
INFRASTRUCTURE QUALITY ENGINEERING PALANTIR: The Company • Data analysis software • Government, banking, healthcare • ~1000 employees • Informal ‘start-up’ culture
INFRASTRUCTURE QUALITY ENGINEERING PALANTIR: The Product • Human-driven • Very general-purpose
INFRASTRUCTURE QUALITY ENGINEERING PALANTIR: My Team Doug, Team Lead • Infrastructure Quality Engineering • Maintain and improve server-side architecture+ projects that don’t fit elsewhere • ~12 full-time employees, ~8 interns Phil, Project Lead Spencer, Mentor
INFRASTRUCTURE QUALITY ENGINEERING Work Overview Three Software Engineering projects: • Automation framework • Audit logging • Server game (for recruitment) Privacy & Civil Liberties Team Software Simulation Engineering Team Infrastructure Branch Quality Engineering Team Recruiting
INFRASTRUCTURE QUALITY ENGINEERING Existing Server Game • “Server Debug Challenge” http://serverdebug.palantir.com/ • Combined previous intern projects • Given a server: why does this happen; how do you fix it? [candidate@vm ~]$ time java GenerateRandomNumbers1 > /dev/nullreal 0m33.925s user 0m21.879s sys 0m11.246s [candidate@vm ~]$ time java GenerateRandomNumbers2 > /dev/nullreal 0m3.559s user 0m2.394s sys 0m1.086s [candidate@vm ~]$
INFRASTRUCTURE QUALITY ENGINEERING Existing Game: Issues • Linux knowledge is a prerequisite • Doesn’t really test generalsystemizing skills • Doesn’t test programming ability nor creative problem solving • Server diagnosis is an infrequent part of the job for most IQEs • More suited to IT / site reliability engineer hiring
INFRASTRUCTURE QUALITY ENGINEERING New Game: Omni Converter • Mock web application • HTML5 + JS client • REST API • Java source code included
INFRASTRUCTURE QUALITY ENGINEERING New Game: Omni Converter • The task: figure out what is wrong with the system and make improvements • Problems are hidden throughout • Front end UI • Back end API • Source code • “Choose your own adventure”-style game
INFRASTRUCTURE QUALITY ENGINEERING Implementation • Java • Embedded database + web server • REST API • Amazon EC2 for VM deployment
INFRASTRUCTURE QUALITY ENGINEERING New Game: Improvements • DC focuses too much on Linux knowledge • No specialized knowledge required at all • DC doesn’t really test general systemizing skills • Open ended nature gives the best opportunity to show off skills • Server diagnosis is an infrequent part of the job for most QEs • Omni Converter more realistically represents QE work • Includes some very subtle bugs • Provides opportunity to test real-world programming ability
INFRASTRUCTURE QUALITY ENGINEERING Lessons Learnt • Automate judiciously • Peer review is very important • The ‘correct’ solution isn’t always the right solution • Document then code • Fail quickly • Technology rarely exists in isolation
INFRASTRUCTURE QUALITY ENGINEERING Insight Gained • The workplace is far more pragmatic than university • Results drive everything • It’s easier than it might seem to get a job in Silicon Valley • If you’re a third year student, definitely consider placements abroad