Why I Tutor

I love one-on-one teaching for two main reasons. Firstly, I enjoy discovering where folks are having difficulties, identifying the underlying reason, and resolving those issues in a way that works best for the individual student’s learning style. Secondly, I love celebrating successes and then finding opportunities to reinforce, contextualize, and stretch understanding.

My Background

Most of my career has been Software Engineering, but I’ve always found ways to teach/coach others along the way. Now, I help professionals and students with programming, algorithms, and interviewing by combine three major influences:

1) Software Engineering

I’ve spent 14 years as a professional software developer, including 8 years at Microsoft on the Visual Studio team building its rich C# editing experiences.

My professional career has been focused on building tools for software engineers. I’ve developed features that help programmers understand, write, and change code effectively. This has taught me a lot about how both students and professionals interact with their code and their development environment.

During that time, I also interviewed many candidates and mentored newer developers.

2) Competitive Programming Coaching/Judging

As an undergrad and graduate student, I competed in the ACM regional programming contests, as well as many other smaller regional contests.

In graduate school, I created and coached a competitive programming team, running weekly practices for undergraduate students of all experience levels. I designed the curriculum and practice format to grow students as independent coders, team members, and eventually mentors to younger participants. I continued coaching this group for 7 years.

I helped create the Baldwin-Wallace University “High School Programming Contest”, authoring problems for high school students its first few years (and have been on the Problem Set Team once again since 2022). I also worked on the ACM ECNA Regional Contest (2012, 2016, 2017), creating/judging problems for 63 colleges/universities.

3) Teaching

I’ve always enjoyed explaining programming, computer science, and math concepts to anyone interested in understanding. At various times I have tutored, taught, and coached students in one-on-one and small group contexts:

  • As an undergrad, I worked at our school’s Learning Center tutoring students in Math and Computer Science topics.

  • I worked as a Teaching Assistant for a Java-based Data Structures and Algorithms course.

  • I created and coached/taught a Competitive Programming team for 7 years, complete with weekly instruction including Data Structures & Algorithms topics, competition techniques, & guided practice.

  • As a Software Engineer, I enjoyed finding opportunities for helping others, sometimes serving as a technical mentor for newer developers.