|
David Kilian
|
I am a full-time employee working for Microsoft in Seattle.
I graduated from Brown University with a B.S. in Computer Science in May of 2013.
I love computer systems!
I have experience in graphics, game engines, audio processing, and operating systems.
Lately I have been interested in learning more about distributed storage, networking and cryptography.
I'm a quick study, and I love to learn and to teach.
Software Development Engineer, Microsoft
SDE II on Windows Deployment, August 2013-Present
- After becoming the primary contact for recovery, I lead a ground-up rebuild of Windows's Push-Button Reset feature:
I identified design-level issues causing us recurring problems, came up with a design to fix those,
proposed it to the team and garnered support, impemented and tested the design, and supported it in market.
Customers benefit from a halved failure rate, and broader support for automatic error recovery.
My team also benefits from a regression test suite which catches problems early,
as well as comprehensive telemetry which provides deeper insight into real-world behavior.
We now see fewer, much less severe bugs.
The flexible design has enabled multiple Windows teams to build their solutions on reset.
- Traveled overseas to work with PC manufactuers on customizing recovery for their devices
- General source of knowledge about deployment, onboarded and mentored multiple team members
Patents
- US 9,519,631: Semantic Diff and Automerge,
based on work I did during my 2011 internship
Internships
- May-August 2012: Worked with Windows Fundamentals team on an unannounced OS licensing project
- May-August 2011: Worked with Visual Studio Ultimate team developing extension for Team Foundation Server
Undergraduate Teaching Assistant for Brown University Computer Science Dept.
- Head TA for Interactive Computer Graphics (a graduate-level course)
- Project mentor TA for Operating Systems
- Head TA for Introduction to Computer Graphics
- Undergrad TA for Introduction to Computer Systems Security
- Undergrad TA for Introduction to Computer Graphics
- Undergrad TA for Introduction to Software Engineering
- As a regular undergrad TA, I developed course materials (lectures, labs, assignments), graded assignments,
and assisted students via office hours and email.
As the head TA, I also managed undergrad TAs, organized courses, created new lecture content,
and gave a couple lectures
Most proficient: C/C++, C#
My interest in systems programming keeps bringing me back to these languages.
C# was my first real programming language. I learned to develop using Windows Forms,
XNA, MSSQL, and many features of the .NET framework.
My studies in computer graphics and audio helped me learn to write performant C++,
and my current job lead me to learn more about writing C/C++ applications with a focus on maintainability.
During my job I set aside some time to learn new features introduced in C+11 and C++14.
Also know: Python, Java, HTML/CSS/JavaScript, PHP, Go
I have used these for non-trivial projects, but it's been long enough I may be rusty.
I go to Python whenever I need a quick script.
I picked up Java for coursework, including on Android for a 2D game seminar.
I built Peebles Lab (see Side Projects) from scratch using HTML, CSS and PHP.
Recently I've started studying Go, but am not yet very experienced with it.
Other tools, platforms, frameworks: OpenGL, Windows, Git, Qt, Bash
I have a B.S. in Computer Science from Brown University, for which I took the following courses:
- Software System Design
- Computer Networks
- Introduction to Multiprocessor Synchronization
- 3D Game Engines
- Design and Analysis of Algorithms
- Introduction to Computational Linguistics
- Operating Systems
- Operating Systems Implementation Lab
- Models of Computation
- Interactive Computer Graphics
- Introduction to Computer Systems Security
- Introduction to Android Game Development
- Introduction to Computer Graphics
- Introduction to Computer Systems
- The Matrix in Computer Science
- Introduction to Software Engineering
- Discrete Structures and Probability
- Programming with Data Structures and Algorithms
The most recent version of this document is available at
http://www.davekilian.com/resume.html.