Mikel Mcdaniel
I'm a Software Engineer who practices data science with 10+ years of professional experience. Being a part-time Community College Instructor on the side was a passion project of mine as well. Most of my professional experience is as a Software Engineer at Google, focusing on large-scale storage systems.
Some specific areas I've enjoyed in the past are performance engineering, building statistical models, large-scale systems design, consulting, and software architecture. I'd also love to hear about opportunities in hardware, robotics, research, or anything for a good cause (ending mass incarceration, climate change, and poverty, etc.).
Skills and Environment
- Strong languages: Python, C++
- Comfortable languages: BASH, Java, JavaScript, WebGL (OpenGL ES), Golang
- Version Control: Git, Perforce, SVN
- Frameworks / Other: GitHub, numpy, pandas, OpenCV, Arduino, Linux, Docker, Flask, CSS, WireShark, FlowBlade, gRPC, Protocol Buffers
Education
- Master's Degree, Computer Science -- September 2012 -- May 2013
Brandeis University, Waltham, MA
GPA 3.75
- Bachelor's Degree, Computer Science -- August 2009 -- June 2012
University of California--Davis, Davis, CA
Completed 4 year degree in 3 years
GPA 3.45
Work Experience
Senior Software Engineer February 2022 -- Present
OfferUp, Bellevue, WA
- Ads personalization projects leveraging machine learning and statistical methods from proposal through design, implementation, and delegation
- Collaborated with other teams to improve revenue monitoring accuracy by ~10%
- Mentorship and oncall responsibilities
Adjunct Faculty (Computer Science) January 2016 -- June 2022
Foothill College, Los Altos Hills, CA
- Taught Objected Oriented Programming in C++ (3x) and Java (1x)
- Taught Data Structures and Algorithms in C++ (5x)
- Wrote and used GradeOven to automatically grade programming assignments with instant interactive feedback
Volunteer Software Engineer September, 2021 -- January, 2022
Recidiviz, Remote
Software Engineer (SRE) July 2013 -- April 2021
Google, Mountain View, CA
- Led SRE orientation for Australia and west-coast USA for 1.5 years
- Built SSD cache analysis pipeline and saved 10's of petabytes of SSD
- Member of oncall team for multi-million QPS/multi-petabyte scale storage systems (Kansas, Sawmill/ULS)
- Consulted for internal Google-internal teams
- Reviewed Practical Alerting chapter of Google SRE Book
Intro to Programming Instructor April -- May 2014
Davis Roots, Davis, CA
- Taught introductory programming to 11 students of various ages, backgrounds, and interests
- Created lessons, homework, and gave 1:1 mentorship
Software Engineer Intern Summer 2012
RapLeaf / LiveRamp, San Francisco, CA
- Consolidated HadoopFS-based stores to conserve space and decrease query times
- Developed Cascading (MapReduce) jobs to build datastores and collect statistics
- Researched experimental techniques for data inference
Software Engineer Intern June 2010 -- June 2011 & Summer 2013
CACE Technologies / Riverbed Technologies, Davis, CA
- Developed and tested software for server-side of a large packet-sniffer
- Designed algorithms for TCP/IP packet data extraction
- Ported open-source software (WireShark)
Personal Projects
- GradeOven
Single-server web server for compiling and running untrusted student code, with customizable HTML output per assignment submission.
- Completed over 150 ProjectEuler.net problems
Collection of math and programming challenges, ranging wildy in difficulty. Most problems involve number theory and/or dynamic programming.
- Automated drawing on Sketchful.io
Sketchful is a pictionary-type game where players draw a word and others guess. My program took a prompt as input, looked up an image of that prompt, then drew it using Sketchful's limited drawing tools.
- Patched Snes9x, an Open-Source Super Nintendo emulator
The Super Nintendo draws in 2 to 4 distinct layers; my patch draws each layer with a progressively larger separation in red and blue, giving a 3D effect.
- Simple Compiler in Python
Written in Python from the ground up, the compiler converts a very simple LiSP-like language to a stack-based assembly languages and then to BrainF***, an esoteric language similar to a Turing Machine.