You are here

About Me

Who am I?

I'm a programmer who loves programming.  I'm a teacher who loves teaching.  I'm a pianist who loves playing.

Contact

The easiest way to find me is probably via LinkedIn.

Education

  • PhD in Computer Science, University of Notre Dame, South Bend, IN.  Graduated Spring 2018.  I don't think GPA even matters at this point. :)
  • MS in Computer Science, Midwestern State University, Wichita Falls, TX.  Graduated Fall 2012, 3.91 GPA.
  • BMus in Piano Performance, Midwestern State University, Wichita Falls, TX. Graduated Fall 2011, 3.97 GPA, President's Medal recipient.

Programming Interests

  • What I love: Low-level, high-level... whatever!  I like the learning process of understanding what a system/program is doing.
  • What I hate: Magic.  I don't mean Penn and Teller... I mean I hate software that tries to make decisions for you and doesn't explain what is happening.
  • I also hate buzzwords and I'm not going to pepper them here just for SEO.  I've been programming professionally for a long time.  I've had a lot of education, too.  I've done a lot of things and I love telling people about my projects, because I think that they're amazing (yes, I'm biased).  If you're trying to see whether or not I can check all the boxes on some "experience desired" list, then just know that you are wasting your time.  Don't look for someone who has already done something and that's all that they know how to do.  Look for someone who is constantly curious and has the capability and drive to learn and do more.  If that's me, then great!... Make me an offer, just don't lowball me (it wastes time for both of us).  If it's not me, then that's fine, too.  There's plenty of amazing programmers out there, and someone will be a good fit for you and your team!

A bit of background

I fell into programming accidentally without even knowing it was a valuable skill.  It was just a fun puzzle to solve.  This is the backstory.  Read it if you are bored.

I began programming in Junior High, only I didn't know that it was programming.  It was BASIC on an old Apple IIe that we had in a keyboarding class.  I remember the teacher told us that we could give the computer instructions and showed us a few.  I thought it was cool and so I checked out a book from the library and wrote a program to help study for the final exam.  We didn't have a computer at home, so I wrote the program out in paper, complete with line numbers.  I remember how I felt when I typed the program in at school and it actually worked!

I forgot about programming until High School.  By then, we had an old 386SX, 33mhz and 120 meg hard drive which the person we bought it from told us that we would never fill up.  I was in a general computer class that taught us how to use Word, and the teacher saw that I caught on quickly and then would help the others when they had problems.  One day, she gave me a big yellow box and said "Corey, I don't know much about this, but you might be able to use it."  It was a Borland Turbo Pascal compiler.  The library didn't have any books about Pascal, so all that I had was the function reference book that came in the box.  Each function had a few lines of example code, and it is from this that I learned how to read and understand code.  I learned object-oriented concepts and pointers, and I delved into Assembly in order to write faster graphics routines.  I liked word searches, so I wrote a program to generate them and print them out on the tractor-feed printer.  Later that year, I wrote a self-contained database of customers for a local company using my own doubly-linked lists and text files.

After high school, I kind of forgot about programming.  I was studying for religious work and was learning how to play the piano (on my own because I could not afford lessons).  I figured out how improvisation worked based on chords (which I had learned in band in high school) and used my piano playing in church.  Eventually, I was also on staff at a small series of churches.  Since the Internet was growing in popularity and everyone had a website, I began to create websites for churches, and discovered PHP.  To my surprise, aside from the syntax difference, the basic concepts were the same as I remembered from Turbo Pascal.  I tried several different CMSes, but when I found Drupal, the elegance of the structure called to me, and I began writing modules and helping in the forums.

I decided to pursue a music degree, thinking that I would be working in churches, but I found that I couldn't make a living playing the piano.  I could, however, get paid for doing freelance work with Drupal, and so that is what I did.  Eventually, I was also able to work remotely for a company in Dallas for two and one half years, which is where I learned important programming skills such as Agile development and CVS management with SVN and Git.  I finished my music degree, but since I did so much work with computers and I loved it, I decided to pursue a Master's in Computer Science. I began doing the leveling classes as I finished my Bachelor's, and had several CS Graduate-level classes done when I finished the music degree.  I was able to finish my Master's degree exactly one year later, with the support and encouragement of my family and friends.

While finishing my Master's it was suggested that I pursue a PhD if I wanted to teach in a University.  So I did, and I was then hired as a professor at the University of Notre Dame. My favoite class to teach was the introductory C/C++ class for CS majors as well as Theory of Computing.  When Covid entered the picture, I realized that I cared more about being close to family than the prestige of being a professor.  So I moved back to Texas and went into industry, where I have been working as a Data Architect.

I still help students to do research at the local University on a voluntary basis, as the opportunity permits.  I still give guest lectures.  I still love teaching!  But industry pays the bills, so that's my day job.  Oh, and I'm still a church pianist. :)