Software Engineer @ Platform / Infrastructure / Release / DevOps Engineer
* Implemented AWS EC2 autoscaling computing into Continuous Integration deployment for Build and Release.
* Designed the architecture and implemented the ‘stateless’ computing node for AWS EC2 autoscaling.
* Designed and implemented the AWS S3 high availability/backup/disaster recovery strategy for all internal developer services.
* Designed the architecture and implemented a SOA based code review and submission tool for use of the information security team to detect and analyze security related, vulnerable source code changes.
* Designed the architecture and implemented a Git tagging gem/tool for integration into the existing deployment process. This tool enhanced deployment providing new features including tagged release, and rollback functionality.
* Designed the architecture and implemented a release management tool to streamline processes and improve efficiency through scheduled automation of various release management tasks.
* Designed the architecture and implemented the web signing service platform for Android APK client builds
* Redesigned, and rewrote the connectivity module linking Gerrit commit to JIRA issues.
Improved the services deployment process and development cycle, part of the site reliability team
* Acted as a part-time DevOps engineer developing the Chef’s Cookbook for the deployment of multiple services into various staging environments.
* Rolled out an artifacts server, updated builds, release, automation tools to use the server by interacting with the RESTful API
* Led the effort to recruit new engineers and took lead role in first tier technical interview
Technologies used: Git, Ruby, RSpec, JSON, Sinatra, Grape, Chef, Puppet, Redis, JIRA API, Jenkins API, AWS ecosystem, and RESTful technologies From December 2012 to October 2015 (2 years 11 months) Senior Software Engineer @ * Improved the software release process and development cycle for multiple projects
* Enhanced SCM design strategies and build integration strategies for release
* Facilitated Android and Chrome OS software release builds by automated scripting using Git/Gerrit/Redmine/Hudson/Jenkins
* Designed and implemented various scripts surrounding Amazon AWS cloud infrastructure ecosystem to combine with innovative build and release strategies to create production quality solutions
* Designed and implemented testing framework using data-driven model, integrate this framework with Maven, TestNG, and Jenkins as a complete Continuous Integration framework.
* Wrote numerous tools using Python, Ruby, and Bash shell to help in streamlined deployment process from Jenkins to Amazon AWS ecosystem. Making EC2 deployment an automatic process down to auto-scaling and load balancing. From October 2011 to November 2012 (1 year 2 months) BlackBerry Software Development Integration & Build Specialist @ * Managed multiple development branches in various stages of software release cycles
* Comprehend development strategy and analytically
merge development changes on multiple code branches in the source code level
* Software release integration and software development
* Worked on SCM design strategies and build integration strategies for release
* Software development support for branching strategy and models
* Identifying, prioritizing, and inclusion of the required Java features as well as their bug fixes that go into each product release, based on agreed commitments
* Investigation of build failures facilitate product release without delays
* Provided integration and build training and also produced documentation on formalizing these processes From July 2008 to September 2011 (3 years 3 months) Java Developer (Co-op) @ WebSphere Integration Tools Team From May 2007 to August 2007 (4 months) Java JIT Compiler Developer (Co-op) @ Java JIT Compiler Team (J9) From September 2006 to December 2006 (4 months) Java Developer (Co-op) @ WebSphere Integration Tools Team From January 2006 to April 2006 (4 months)
B.Computing, Computer Science @ University of Guelph From 2003 to 2007 Ryerson University Sam Xiao is skilled in: REST, Android, Ruby, Git, Maven, Perforce, Blackberry, Bash, Software Engineering, Object Oriented Design, Jenkins, Java, JSON, Shell Scripting, Scrum