×
Shuo Yang

Shuo Yang


3993 N Campbell Ave, Apt 1212, Tucson, AZ, 85719
952-297-6289
imsure95[at]gmail[dot]com
Chinese, English
Résumé [pdf]
Résumé (extended) [pdf]

Background


About

About

I graduated with a Master's degree in Computer Science from University of Arizona and am looking for a job as a software engineer. I have 8 years of programming experience, mostly with C/C++, Python and Java. I am proficient in Relational Database Management Systems, such as MySQL. I also had experience with NoSQL databases, such as MongoDB and HBase, as well as experience with Big Data technology such as Hadoop and Hive. Over the past four years, I had interdisciplinary research experience in academia, first with neuroscientists, and then with astronomers, building software systems to meet their data management challenges, as well as identifying and addressing interesting computer science problems that arise. I also had industry experience in embedded software development (ARM + Linux). I enjoy solving challenging tasks by combining existing technologies/tools with creativity, and learning new technologies and tools if need arises.
Academic Experience

Academic Experience

  • Research Assistant  with Prof. Richard Snodgrass on ANTARES project at University of Arizona

    Aug. 2014 - Aug. 2015 & Aug 2016 - Mar. 20171 year and 7 months

    • Main developer of ANTARES (The Arizona-NOAO Temporal Analysis and Response to Events System) project.
    • Deployed ANTARES system to the dedicated CentOS cluster using MySQL Cluster as Database backend.
    • Analyzed and improved the performance of ANTARES data processing pipeline.
    • Researched data provenance.
    • Designed and proposed the data provenance framework for ANTARES to answer provenance questions that astronomers would ask.
    • Designed the packet format specification for alert data and implemented the simulator for generating alert streams in Python.
      • Alert simulator design: [pdf]
    • Designed and implemented the database used by ANTARES, as well as the web front-end for querying data produced by ANTARES pipeline using Django and MySQL.
    • Collaborated with astronomers to design, implement and document the Python API for astronomical alert data manipulation.
    • Designed and built the autoconfiguration and bootstrap system to run ANTARES in a pseudo-distributed mode using Puppet and Vagrant.
      • Bootstrap process: [pdf]
  • Teaching Assistant  with Prof. Lester McCann on CS460: Database Systems at University of Arizona

    Fall 2015 & Spring 20162 semesters

    • Held office hours; graded programming and written assignments; prepared solutions for written assignments.
    • Designed the final project "Database-driven Web Application" using Oracle, Tomcat and JSP; evaluated students’ design and implementation.
  • Independent Study  with Prof. Beichuan Zhang on Named Data Networking (NDN) Project at University of Arizona

    Spring 2016 & Fall 20162 semesters

    • Researched consumer-driven congestion control mechanisms in NDN.
    • Implemented TCP-like congestion control algorithms in NDN consumer (in C++), specifically, TCP RENO, CUBIC and VEGAS.
    • Evaluated and studied the performance of each of them in the context of NDN.
  • Student Researcher  with Prof. Brad Rubin  and Dr. Jadin Jackson at University of St. Thomas

    Aug 2013 - May 20149 months

    • We initiated the project "Large-scale Neural Network Modeling with Hadoop" to explore the use of big data technologies in computational neuroscience and I was responsible for investigating graph processing in Hadoop.
    • Proposed an improved graph algorithm design pattern in MapReduce.
    • Implemented a large scale basal ganglia neural network model in MapReduce.
    • Re-implemented in vertex-centric model with Apache Giraph; improved performance by 60% compared to the MapReduce implementation.
Work Experience

Work Experience

  • Software Engineer InternDanfoss Power Solutions , Plymouth, MN, USA

    June 2012 - May 201311 months

    • Migrated the legacy software to the new hardware platform with other team members and conducted unit testing.
    • Applied static code analyer FlexeLint to the legacy software (written in C).
    • Built a tool (in Python) for summarizing, indexing and querying large volume of warning messages produced by FlexeLint.
    • Improved overall software quality, identified and corrected several vulnerabilities existed in the legacy code.
  • Embedded Software Engineer & Training Assistant, Beijing Farsight Technology and Information, Beijing, China

    July 2009 - July 20112 years

    • Developed Linux device drivers and applications (in C) for various ARM platforms (ARM 9, 11 & Cortex-A8).
    • Assisted training instructors in preparing training content and developed technical how-to documents for ARM and Embedded Linux training.
    • Instructed trainees in their lab sessions and final design project.
  • Software Engineer, Platomix Technologies. (Start-up company), Beijing, China

    Feb 2009 - July 20095 months

    • Being part of a team that built the initial prototype for Samsung’s Remote Test Lab (RTL), I was responsible for the development on RTL device.
    • Implemented the communication protocol (in C++) between RTL device ( LiMo platform) and RTL proxy.
    • Developed a daemon process (in C++) for RTL device to handles requests from proxy, in order for RTL client to remotely control the device.
Education

Education

  • M.S. in Computer Science, University of Arizona, Tucson, AZ, USA

    Aug 2014 - May 2017

  • M.S. in Software Engineering, University of St. Thomas, St. Paul, MN, USA

    Aug 2011 - May 2014

  • B.E. in Electrical Engineering, Harbin Institute of Technology, Harbin, Heilongjiang, China

    Aug 2004 - May 2008

Selected Coursework

Selected Coursework

  • University of Arizona

  • University of St. Thomas

    • Big Data Architecture: Developed a new design pattern for improving the performance of graph processing in MapReduce.
    • Data Visualization: Explored what are the key factors that make a championship team with NBA dataset using Python, SQLite and R.
    • Information Retrieval: Built a search engine in Python (web crawler + indexer + query processor) for Shakespeare’s whole collection.
    • Software Engineering: Built a genetic programming system in C for automatically solving linear regression problem.

Skills

Skills

  • Languages
    C/C++ Python Java SQL Shell R
  • Web Development
    HTML CSS Django
  • Database Systems
    MySQL SQLite Oracle MongoDB HBase
  • Operating Systems
    Linux/Unix Mac OSX
  • Frameworks
    Hadoop Hive Apache Giraph Pthreads MPI Numpy Pandas
  • Tools
    LaTex Emacs Eclipse Git Vagrant Puppet Chef Jupyter
Interests

Interests

  • Basketball Tennis Reading Road trip