This document is a resume for James Bucher. It summarizes his education as a BS in Computer Science from Western Washington University, where he took courses in programming, operating systems, databases, and algorithms. It details his work experience at Microsoft as a Software Development Engineer, where he has contributed to projects using Angular, Typescript, C#, Java and other technologies. It also lists his skills in programming languages, operating systems, technologies and volunteer experience mentoring students and participating on cyber defense teams.
James Bucher's Resume - Software Engineer with Experience in C#, Java, C, Angular
1. 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.
2. 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