Xiaoguang Ye *********.**.***@*****.*** 347-***-****
EDUCATION
New York University
Master of Science, Computer Science. 09/2010 – 05/2012 GPA 3.5/4.0
Xidian University
Bachelor of Engineering, Software Engineering. 07/2003 – 07/2007 GPA 3.8/4.0
WORKING EXPERIENCE
Software engineer, Qualcomm: 07/2012 – 09/2013
Testing infrastructure development && handling big data on server farm (Jenkins)
Developed an inner use website to help team management, bug tracing, test cases upload, etc (Ruby on
Rails)
Tool development (C
Software engineer, Shaanxi Cicro: China 08/2007 – 04/2010
Developed a company bug tracking system, including blog like functions (Java, MySQL, JDBC)
Maintain multi-media service from web end. Struts framework. (AJAX, JSP, Hibernate, Java)
Multi-media server debugging and optimization (C++)
Handle low level communications by RPC to guarantee stability in lossy conditions (C++)
Use tools such as valgrind, cppcheck, gdb to to fix bugs that constantly crash the server (C++)
ACADEMIC PROJECTS
GPU parallel sorting (C++) 02/2012 – 05/2012
Developed parallel sorting algorithms (sorting network and radix sort) on Tesla NVidia GPU
Paging system involved to handle external sort
Minimum lock concurrent skip list (C++) 03/2011 - 05/2011
Implemented, tested and benchmarked map as a skip list – a probabilistic multi-threaded data structure for
multi-core architecture
A Simplified version of WEB SERVER (C++) 01/2011 - 03/2011
Developed in C++, a multi-threaded HTTP server architecture based on modern multi-core architecture.
Cache sub system, thread pool sub system, paging sub system involved to gain efficiency.
Distributed File System Following Frangipani Framework (C++) 08/2011 - 12/2011
Provide an abstraction of UNIX file system running on server farm
Centralized locking system, lock caching system, file caching system, consistency and fault tolerance
system, communication protocols, low level communication system, all involved
Pascal Compiler, Front End(C++, YACC, LEX) 09/2011 – 05/2012
Academic project. A front end of a compiler, symbol table, parser and syntax tree included.
Translate program into a form of pseudo assembly code.
TECHNICAL SKILLS
Programming Languages: C, C++, java, ruby, distributed system, high performance data structure
Others: multi-core programming, multi-thread programming, tools for software development