GAURANG KHETAN 2000 Walnut Ave Apt M101 Fremont, CA 94538 (650) 380-4602 grkhetan@yahoo.com http://gaurang.org OBJECTIVE: A full-time job as a Software Developer in an intellectually challenging work environment, preferably involving interesting technology. EDUCATION: Master of Science in Computer Science May 2004 University of Southern California (USC), Los Angeles, CA. Bachelor of Engineering in Electronics July 2001 University of Pune, India. COMPUTER SKILLS: (Work/School) * Application Development: C, C++, (familiar with Java, Perl, Assembly) * Some experience in: Linux/FreeBSD/IOS kernel programming, device drivers, new hardware board bring-up, file-systems, Computer Architecture, operating systems. * Experience in Embedded Systems. * Network Programming: Ethernet driver, Socket programming, Client-Server, various networking protocols like TCP, IP, UDP, Ethernet, ARP, etc, file sharing systems, ad-hoc networks * Web: Perl, HTML, CSS, JavaScript, PHP, JSP, Servlets, XML, Web Services (SOAP, WSDL). * Databases: Oracle, Mysql RDBMS; SQL * GUI Programming: Java, GTK, GNOME (familiar with: VB, VC++). * Development Platforms: Unix: Linux, FreeBSD, Solaris; MS Windows WORK EXPERIENCE: Feb '05-present Software Engineer Cisco Systems, San Jose, CA * Development, in the role of Platform Software Engineer, was in Cisco's IOS -- Internetworking Operating System, and involved various skills needed for working a large networking operating system including networking protocols, embedded systems, kernel related issues, etc. The main language used was C, and some assembly. * Responsible for platform software on a hardware platform called Multi-processor WAN Application Module, which included understanding, enhancing, and troubleshooting issues in a complex software system involving several processors (Broadcom sibyte, Pentium, etc) running different operating systems (different IOS software, and Linux). * Participated in system design and development for porting and bringing up IOS on a new hardware board based on PowerPC processors, which provided experience in device drivers including Ethernet driver, hardware handling like interrupts, memory init, bootloader, etc. Worked on offline and online diagnostics of the board. Mar '04-Oct '04 Software Engineer Paypal (eBay Inc), San Jose, CA * Worked on implementing new product features in C++ and SQL in a Apache/Oracle/Linux environment within an industrial-strength code base of a scalable, reliable, multi-tiered, multi-component website that impacts more than 50 million customers. * Worked on Paypal's industry-leading anti-fraud system with features like implementing anti-fraud card models, address authentications, third party communication in XML, client-servers, etc. which required understanding of web protocols and skills in programming at application, database and network levels; and involved working closely with other engineering, product, content, design, QE and other groups in the product development lifecycle. Aug '03-Dec '03 Software Developer (Internship) Lightline Software Inc, Palo Alto, CA In an exciting fast-paced Storage Security startup, worked on storage system software involving kernel programming in FreeBSD UNIX, with major features being: * Designed and implemented non-volatile caching in FreeBSD UNIX ATA/IDE disk device driver. * Wrote a simple volume manager used to form a higher capacity logical volume by doing software RAID Level 0 over existing hardware RAID Controller (3ware Escalade) storage units. * Developed a configuration system consisting of a Java Applet front-end and Perl back-end. * Developed a client-server system with a simple communication protocol. * Created a stack of pre-allocated inodes in the file system. Jun '02-Aug '03 Research Assistant (Part-time) Prof. Massoud Pedram, EE Dept, USC * Ported Linux kernel to an XScale-based embedded system, which involved modifying low-level details like configuration of memory controller, PCI bridges, interrupt routing, and device drivers of PCMCIA, etc. * Implemented a power manager in Linux kernel for an embedded system, using a dynamic power management algorithm to shut down devices. Modified device drivers of PCMCIA and IDE. PROGRAMMING EXPERIENCE: (School/Self projects) * Implemented an ad-hoc wireless network of embedded systems: Implemented Ad-hoc Positioning System which involved forming an ad-hoc network of embedded Berkeley motes and implementing a communication protocol so as to perform localization using hop-based distance estimation. Used C on TinyOS embedded operating system with resource constraints and low wireless network reliability. * Parts of Nachos Operating System: Implemented core parts of Nachos Operating System, an instructional operating system - thread synchronization, virtual memory, file systems, and multiprogramming. Used C++ on UNIX. * Built a Peer-to-Peer Network File System: Developed a distributed file sharing system using peer-to-peer mechanism (like Kazaa). Used C++ on UNIX. * Computer Virus in MS-DOS (Self): Developed a self-encrypted, polymorphic computer virus that self-replicates by infecting MSDOS executable files. Used x86 assembly language. * Retail Website: Developed a retail website with frontend in Perl/PHP and backend in Java/MySQL * Othello-playing computer program (Self): Developed a program that plays Othello, a strategy board game. Uses Artificial Intelligence Game Playing algorithms. Used VC++ on MS Windows. * DC Defibrillator Monitor: Designed and built a microcontroller (8051) based electronic system to control and monitor a medical electronics instrument called DC defibrillator. Included a software component on a PC and its interfacing with hardware. PAPERS: * Comparison of Memory Management Systems of BSD, Windows and Linux May 2002 A course term paper. Not a publication. NOTABLE: * Represented USC in the regional ACM International Collegiate Programming Contest held on November 10, 2001. Competition tests problem solving and programming skills. * Presented Apollo Testbed 2 research project with Prof. Massoud Pedram at Design Automation Conference 2003, Anaheim, CA. * Scored in GRE (Graduate School Entrance Test): 2290/2400 (Verbal: 97% Quantitative: 98% Analytical: 98%). POSITIVE QUALITIES: * Natural programming skills, conceptual thinking and memory, ability to understand complex concepts, fine logical/analytical thinking, passion to work. COURSE WORK: * Graduate: Advanced Operating Systems, Computer Networks, Intelligent Embedded Systems, Analysis of Algorithms, Cryptography, Multimedia Systems, Database systems, Advanced Compiler Design, Advanced Artificial Intelligence, Logic and Its Applications, Programming the World Wide Web. * Undergraduate: Microprocessor based Systems, Digital Electronics, Electronic System Design, Computer Architecture. OTHER: * Visa Status: H1B - will require H1B Transfer processing. * Member of Glia Society, society of people with IQ higher than 99.9% of human population. * Worked as Contributing Writer to Daily Trojan, the USC student newspaper. * Availability: Immediate