Welcome! This is Qi Shu

Developer | Thinker | Designer

Intro

Hi, this is Qi Shu. I'm a Software Engineer with 3 years of experiences who is proficient in backend, frontend and mobile development


If you should have any position which you find fit to me, please reach out to me through Email or LinkedIn. Thanks!

Work Experience


Software Engineer

Splunk

06/2021 - Present

  • Engineering lead for the full-stack development of App Review Portal(UI) and AppInspect API(Backend), which serve as the critical micro service applications in Splunk's application vetting process for a secure and robust developer ecosystem. The platforms help vetting hundreds of applications each week and drive automation rate from 50% to over 95%. Technology stack includes Python, Flask, SQLAlchemy, PostgreSQL, Pulsar, TypeScript, React, and SWR
  • Managed and deployed services using Kubernetes and Terraform to ensure efficient and scalable software
  • Completed database migrations in PostgreSQL and SQLAlchemy to change database schema for 2x performance
  • Reduced API latency by over 10 times by redesigning and aggregating API usage with a single S3 bucket download and database read within AppInspect API
  • Led full-stack development for Splunk Edge Hub in Python for multi-process linux system services, Flask and Apollo GraphQL for API server, Kivy for embedded device UI and React for advanced configuration Web UI
  • Designed and developed the full-stack authentication and authorization mechanism for multiple Splunk projects using Splunk ITS identity, Okta, HTTP-only Cookie and JSON Web Tokens in Python and TypeScript
  • Customized SQLAlchemy source code to support read-write separation to balance the workload for scalability by overwriting multiple class constructors and injecting desired database binds to redirect connection
  • Designed and developed microservices and cron jobs in Go for Splunk Cloud Developer Edition such as the web server and downstream health checking with comprehensive unit testing
  • Built the testing infrastructure for multiple frontend projects using Jest, React Testing Library, Cypress and Storybook and increased unit testing coverage from 0% to over 90%
  • Refactored frontend code by extracting, encapsulating and writing maintainable and extensible components and reduced build size by over 20%, and shared the desired coding practices through dedicated demos and code reviews
  • Optimized iOS data management by implementing a singleton data repository and avoided problems of prop drilling, complicated data mutation, network calls, and high coupling of components and GraphQL subscribers
  • Reviewed merge requests promptly and coached team members on code maintainability, reusability and readability
  • Investigated multiple spikes and broke complex tasks and features into sprint-sized software deliverables
  • Evaluated candidates in hiring process, and mentored interns with weekly 1:1 for knowledge transfer & feedback sharing

Software Engineer Intern

Splunk - IoT

09/2020 - 12/2021

  • Developed the iOS app in Swift with a focus on optimizing the IoT device registration flow & data synchronization
  • Constructed network calls and API endpoints in REST and GraphQL through Combine, AppSync Pub/Sub & Flask
  • Built Python programs such as software update rollback, WiFi scanning and remote update control for IoT deivces
  • Developed the IoT deivce UI in Python and Kivy and integrated the UI with background services running sensor reading
  • Initiated unit testing for iOS app and Python programs and increased the IoT code coverage from 0% to 38.5%

Software Engineer Intern

Splunk - Phantom

01/2020 - 04/2020

  • Developed REST API endpoints in Django; designed and wrote the corresponding Python unit tests
  • Managed and designed Django data models and wrote SQL/ORM queries to retrieve data from the database
  • Integrated the backend changes into the corresponding UI components in React and Backbone.js
  • Designed the architecture of new UI and data models for refactoring and integrating with Splunk internal tools

Software Engineer Intern

Imply Data

01/2019 - 04/2019

  • Developed highly abstract and extensible React components with Blueprint.js from scratch for Apache Druid web console by reimplementing old console elements, extending new features and enhancing the UI
  • Integrated UI components with backend API to present data and server configuration through HTTP requests
  • Visualized responsive and interactive data representation of Druid server resource usage through d3.js
  • Wrote Bash and Node.js scripts to automatically generate JSON objects for web services by parsing Markdown files, and thus eliminated the need of repeating code and increased codebase maintainability

Web Developer

Ontario Investment Office

01/2017 - 04/2017

  • Visualized relevant data and designed web-based graphics in an interactive way using d3.js and Three.js
  • Built a WebGL-based 3D Earth Model displaying Ontario’s investment connections with the world

Research Experience


Research Assistant - Runtime Memory Protection

CrySP Lab - University of Waterloo

04/2020 - 08/2020

  • Compiling DBMS that has a simple extensible runtime and operates by translating SQL-like data manipulation requests directly to C code that interfaces with this runtime

Research Assistant - Compiler Construction

Data System Group - University of Waterloo

09/2018 - 12/2018

  • Compiling DBMS that has a simple extensible runtime and operates by translating SQL-like data manipulation requests directly to C code that interfaces with this runtime

Research Assistant - Web Application Development

Human-Computer Interaction Lab - University of Waterloo

05/2018 - 08/2018

  • Built a backend web server for interacting with research participants in Node.js and Express and parsed the logged data in NumPy for analysis. Published a paper under the guidance of Professor KeiKo Katsuragawa
  • Publication: here

Projects

Apache Druid

Code

React/TypeScript/d3.js

  • Built a new unified web console for Apache Druid with React and Blueprint.js by presenting data in the forms of tables and bar charts and setting configuration entry points through integration of API endpoints with UI
  • Utilized object-oriented design to architect functional objects to streamline and simplify the repeated use of same functions for different components, such as the different tables’ column selection handlers

Interactive 3D Earth

Live Site

Three.js/WebGL

  • Interactive 3D Earth built based on Three.js and WebGL
  • CSS-based 2D locations points to follow 3D Earth movement with 3D projectiles to connect points
  • Interactive sidebar to showcase specifc information

Sunburst Visualization

Live Site

JavaScript/Jquery/d3.js

  • A Sunburst diagram rendered through d3.js library
  • It extracts data from a HTML table, and used JavaScript to convert the data into JSON format, which will then be rendered by d3.js

Achievements

1st Place in Equithon - Woment Empowerment Category

  • Developed customized web part including visualization features and data filters using a combination of HTML, CSS, and bootstrap where appropriate
  • Adopted the responsive web design allowing webpages to be viewed in response to screen size
  • Established a HTML widget featured with input boxes which can display to store and process information

3rd Place in Unilever Social Enterprise Competition

  • Developed a plan for a non-profit business, “Clean Toilet”, targeted at improving sanitation in India
  • Polished analysis skills by building the business and cultivated fast thinking through Q&A session