Last Updated on 29th February 2016
James Bucherjames.e.bucher@gmail.com | 509.628.6166
EDUCATION
UNDERGRADUATE
WESTERN WASHINGTON UNIVERSITY
BS - COMPUTER SCIENCE HONORS
June 2012 | Bellingham, WA
COURSE WORK
Undergraduate
• Unix Software Development
• Computer Networks
• Data Structures
• Object Oriented Programming in
C++
• Computer Organization II
• Analysis of Algorithms
• Database Systems
• Operating Systems
• Concurrent Programming
• Compiler Design and
Implementation
• Bioinformatics
PROJECTS
Undergraduate
• Modify Scheduler and Paging
Algorithm for FreeBSD kernel.
• Program a simple shell in C for
NetBSD.
• Program a remote file access
protocol in C open/read/write files
over a network.
• Scheme interpreter written in C++
• Wrote a compiler in C
• Package manager for windows in
Python
SKILLS
PROGRAMMING LANGUAGES
In order of familiarity
C# • Java • C • Typescript • Ada • Python
• Powershell • Shell • C++ • LATEX •
Scheme • Assembly
OPERATING SYSTEMS
Windows • Linux • FreeBSD
TECHNOLOGIES
.NET • MSBuild • Hadoop • Angular 2 •
Git
OTHER
Bilingual - English,Spanish
WORK EXPERIENCE
MICROSOFT – UNIVERSAL STORE, POWERBI SOFTWARE
DEVELOPMENT ENGINEER II
October 2012 – Present | Microsoft.com, PowerBI.com | Redmond, WA
• Help implement a proof of concept WYSIWYG website creation tool in Angular
2 and Typescript.
• Fix minor bugs in a web authoring application built using Angular and React.
• Implement End to End tests for a web authoring application using Typescript,
Jasmine and PhantomJS.
• Add click tracking to a legacy web app and analyze usage to prioritize product
feature implementation.
• Migrate a legacy build system and source control from TFS to Git and
implement a continuous integration system to improve velocity and product
quality.
• Onboard an Indian remote team from TFS onto Git to unify engineering
practices.
• Write a tool to analyze SQL queries using Microsoft SQL Parser to prioritize
data migration off of a legacy database.
• Implement fixes for the Windows Store Client application under tight release
deadlines.
• Analyze crash dumps to help stabilize Windows 10 for release.
• Work on a mid-tier system to support the lookup, placement and loading of
database shards for a distributed in-memory database.
• Develop a REST API to allow for the creation, deletion and modification of
multi-gigabyte databases stored in the cloud.
• Deliver fixes and features to a production live-site running across hundreds of
nodes across multiple data centers worldwide.
– Implement Least Recently Used eviction job to ensure that spikes in usage
won’t cause performance degradation.
– Fix race conditions between an Admin Service and Database Host service
seen only during failure events and upgrade.
• Refactor a large code base to reduce checkin times and reduce potential for
mistakes
– Develop framework to eliminate a step from the development process
where developers had to manually code bin-placing scripts for added
assemblies reducing both development time and possible mistakes.
– Migrate projects to the developed framework and test for regressions.
– Enable simulated deployment of product to checkin tests and reduce
simulated deployment time from 40 minutes to 20 minutes.
– Remove code compilation from process startup to build to improve
product reliability and recovery time.
– Port code from a multi-branch system to a single branch
• Work with team to move from a six-month waterfall release schedule to an
Agile methodology with monthly major releases and weekly bug fixes.
• Debug complex live-site production issues across multiple services owned by
different teams using different datacenters and infrastructure .
• Work with The Windows team to resolve performance regression caused by
security fixes in Windows 8.
Work Experience (cont)
MICROSOFT SOFTWARE DEVELOPMENT ENGINEER INTERN
June 2012 – September 2012 | Redmond, WA
• Work with Partner Architect to architect a system running on Hadoop to compress and process data for consumption by a
distributed analytics database.
• Implement a proof of concept of the system on HDInsight (Hadoop)
– Implement a custom FileInputFormat for Hadoop to act as a preprocessed file format.
– Write a MapReduce job to pre-process raw tabular data stored in HDFS
– Modify a C++ database engine to consume the preprocessed file format.
– Perform benchmarks to validate the performance characteristics of the prototype.
WWU CS DEPARTMENT ASSISTANT SYSTEMS ANALYST
Jan 2010 – June 2012 | Bellingham, WA
• Troubleshoot hardware problems
• Prepare and concurrently deploy multi-operating system setups with both Microsoft and open source software.
• Administer Linux and Windows systems
VOLUNTEER EXPERIENCE
ACM CHAPTER OFFICER WESTERN WASHINGTON UNIVERSITY
September 2008 – August 2009, September 2011 – June 2012 | (Vice Chair)
September 2009 – August 2011 | (Chair)
• Bring in speakers and organize events such as the end of the year barbecue.
ACM WEB SERVER ADMIN WESTERN WASHINGTON UNIVERSITY
May 2010 – June 2012
• Setup Apache, PostgreSQL, Django, PHP on FreeBSD inside Jails
• Setup pf firewall and DNS entries for server
• Administer Gentoo system running email
CYBER DEFENSE TEAM WESTERN WASHINGTON UNIVERSITY
November 2010 – June 2012
• Defend network from attack by a red team while performing business tasks throughout a two day competition
• Western placed 2nd
at the 2011 Pacific Rim Regional Competition
COMPUTER SCIENCE MENTOR WESTERN WASHINGTON UNIVERSITY
November 2010 – June 2012
• Tutored beginning Computer Science Students

James-Bucher-Resume

  • 1.
    Last Updated on29th February 2016 James Bucherjames.e.bucher@gmail.com | 509.628.6166 EDUCATION UNDERGRADUATE WESTERN WASHINGTON UNIVERSITY BS - COMPUTER SCIENCE HONORS June 2012 | Bellingham, WA COURSE WORK Undergraduate • Unix Software Development • Computer Networks • Data Structures • Object Oriented Programming in C++ • Computer Organization II • Analysis of Algorithms • Database Systems • Operating Systems • Concurrent Programming • Compiler Design and Implementation • Bioinformatics PROJECTS Undergraduate • Modify Scheduler and Paging Algorithm for FreeBSD kernel. • Program a simple shell in C for NetBSD. • Program a remote file access protocol in C open/read/write files over a network. • Scheme interpreter written in C++ • Wrote a compiler in C • Package manager for windows in Python SKILLS PROGRAMMING LANGUAGES In order of familiarity C# • Java • C • Typescript • Ada • Python • Powershell • Shell • C++ • LATEX • Scheme • Assembly OPERATING SYSTEMS Windows • Linux • FreeBSD TECHNOLOGIES .NET • MSBuild • Hadoop • Angular 2 • Git OTHER Bilingual - English,Spanish WORK EXPERIENCE MICROSOFT – UNIVERSAL STORE, POWERBI SOFTWARE DEVELOPMENT ENGINEER II October 2012 – Present | Microsoft.com, PowerBI.com | Redmond, WA • Help implement a proof of concept WYSIWYG website creation tool in Angular 2 and Typescript. • Fix minor bugs in a web authoring application built using Angular and React. • Implement End to End tests for a web authoring application using Typescript, Jasmine and PhantomJS. • Add click tracking to a legacy web app and analyze usage to prioritize product feature implementation. • Migrate a legacy build system and source control from TFS to Git and implement a continuous integration system to improve velocity and product quality. • Onboard an Indian remote team from TFS onto Git to unify engineering practices. • Write a tool to analyze SQL queries using Microsoft SQL Parser to prioritize data migration off of a legacy database. • Implement fixes for the Windows Store Client application under tight release deadlines. • Analyze crash dumps to help stabilize Windows 10 for release. • Work on a mid-tier system to support the lookup, placement and loading of database shards for a distributed in-memory database. • Develop a REST API to allow for the creation, deletion and modification of multi-gigabyte databases stored in the cloud. • Deliver fixes and features to a production live-site running across hundreds of nodes across multiple data centers worldwide. – Implement Least Recently Used eviction job to ensure that spikes in usage won’t cause performance degradation. – Fix race conditions between an Admin Service and Database Host service seen only during failure events and upgrade. • Refactor a large code base to reduce checkin times and reduce potential for mistakes – Develop framework to eliminate a step from the development process where developers had to manually code bin-placing scripts for added assemblies reducing both development time and possible mistakes. – Migrate projects to the developed framework and test for regressions. – Enable simulated deployment of product to checkin tests and reduce simulated deployment time from 40 minutes to 20 minutes. – Remove code compilation from process startup to build to improve product reliability and recovery time. – Port code from a multi-branch system to a single branch • Work with team to move from a six-month waterfall release schedule to an Agile methodology with monthly major releases and weekly bug fixes. • Debug complex live-site production issues across multiple services owned by different teams using different datacenters and infrastructure . • Work with The Windows team to resolve performance regression caused by security fixes in Windows 8.
  • 2.
    Work Experience (cont) MICROSOFTSOFTWARE DEVELOPMENT ENGINEER INTERN June 2012 – September 2012 | Redmond, WA • Work with Partner Architect to architect a system running on Hadoop to compress and process data for consumption by a distributed analytics database. • Implement a proof of concept of the system on HDInsight (Hadoop) – Implement a custom FileInputFormat for Hadoop to act as a preprocessed file format. – Write a MapReduce job to pre-process raw tabular data stored in HDFS – Modify a C++ database engine to consume the preprocessed file format. – Perform benchmarks to validate the performance characteristics of the prototype. WWU CS DEPARTMENT ASSISTANT SYSTEMS ANALYST Jan 2010 – June 2012 | Bellingham, WA • Troubleshoot hardware problems • Prepare and concurrently deploy multi-operating system setups with both Microsoft and open source software. • Administer Linux and Windows systems VOLUNTEER EXPERIENCE ACM CHAPTER OFFICER WESTERN WASHINGTON UNIVERSITY September 2008 – August 2009, September 2011 – June 2012 | (Vice Chair) September 2009 – August 2011 | (Chair) • Bring in speakers and organize events such as the end of the year barbecue. ACM WEB SERVER ADMIN WESTERN WASHINGTON UNIVERSITY May 2010 – June 2012 • Setup Apache, PostgreSQL, Django, PHP on FreeBSD inside Jails • Setup pf firewall and DNS entries for server • Administer Gentoo system running email CYBER DEFENSE TEAM WESTERN WASHINGTON UNIVERSITY November 2010 – June 2012 • Defend network from attack by a red team while performing business tasks throughout a two day competition • Western placed 2nd at the 2011 Pacific Rim Regional Competition COMPUTER SCIENCE MENTOR WESTERN WASHINGTON UNIVERSITY November 2010 – June 2012 • Tutored beginning Computer Science Students