Categories
Uncategorized

The Gauntlet

Interview season is in full swing. I currently have 8 interviews scheduled for the first two weeks in February, with 6 more pending to be scheduled. The experience has been a whirlwind.

In my previous career in clinical trials you could usually expect to do just 1 interview. Particularly discerning companies might ask you to attend a second meeting with senior leadership if you already got the go-ahead after the first interview. For new-grad Software Engineer positions, the normal process seems to require 5-6 interviews/assessment, totaling as many hours.

Anyone who is going through the New Grad job-finding process probably already knows this, but here is how it has typically broken down for me:

  • OA (Online Assessment) — 1-2 hours
  • Phone Screen — 1 hour
  • “On Site” round — 3-4 hours
    • 1 behavioral (aka “team fit”) interview – 1 hour
    • 2-3 technical coding interviews – 1 hour each

Most interviewers that I have had so far has been engaging, professional, and kind. Despite this, the process has been kind of grueling so far. I think this stems mostly from how hard it seems to know how well the interview process is going with any particular company. I’ve gotten rejections at the OA stage despite giving Big-O optimal solutions with time to spare. On the other hand, I’ve gotten to the final rounds for some companies despite the Phone Screen interviewer watching me sweat while barely scraping together a working solution.

It’s easy to waffle back and forth between feeling like I’m in over my head, to feeling like I must be doing something right since I keep being moved forward in the process. It can’t just be a fluke if it keeps happening, right? Maybe I’ve simply been a CS student for long enough now that the ambiguity and variability of the output despite the input now feels odd. I’d be more comfortable if formal logic could be applied to this process.

Alas.

Categories
Uncategorized

The Project

In my initial post I regaled you with the tale of how I got interested in computers: games. I also talked about what got me interested in computers as more than just a toy, but a tool: automating my work.

Through the capstone project matching process, I was lucky enough to been matched to my first choice of project, one that perfectly distills the spectrum of my interests in computers, from the most frivolous to the most practical: I will be see and understand a game being played, and maybe teach the computer to play the game on its own.

The Game

The game is this marble maze.

The object of the game is to, by tilting the board, get the metal ball from the starting position (arrow at the middle of the top edge) to the ending position (star at the middle of the right edge).

My capstone project will be one piece of a larger project being undertaken by OSU graduate student, Andrey Kornilovich. Andrey has already mounted the board to hardware of his own design that will record a video of the game board, eventually also physically manipulating the board as needed for a user or the computer to play the game. My goal is to use Computer Vision tools and techniques to process the captured video, detect various features (the ball, corners, walls, holes, etc.) needed for the computer to understand the current state of the game board, and display those to the user.

If all goes well and we can achieve our goals early, we may also work on further “stretch” goals including path planning and the actual control loop, two pieces that would be needed for the computer to actually play the marble maze game on its own.

I’m not sure at what point I crossed over from finding it more fun to teach a computer to play games instead of playing a game myself, but here we are.

Categories
Uncategorized

Hello Norrath!

Hail, and well met. I am Jorarzen, Wood Elf Ranger of Kelethin. Well, no, I’m not. I’m Mitch Campbell. But from 2001 to 2003, I was more elf than man. Getting Everquest (and its various expansions) to actually run on the family computer was my first part-time IT job. It was a huge hassle, but if I didn’t kill all those Crushbone orcs for their belts, then who would?

Struggling my way past installation errors and scouring enthusiast forums for arcane and esoteric knowledge about how to fix “missing DLL file” messages after each update or patch release was my first exposure to how computers worked on a deeper level than simply double-clicking on the Math Blaster icon. I enjoyed fiddling with computers, but our family only had the one, and we all had to split time on it, so I didn’t get exposed to them all that much (so little, in fact, that I was one of the worst typists at the outset of my rural North Carolina middle-school typing class). The only programming class that my high school offered was Intro to Computer Programming taught using QBASIC, which was already a decade out of date when I took the class in the mid-2000s. That was just about the depth of my expertise with computers for the next decade or so. I would spend a few weeks here and there building a gaming PC, or learning the basics of Python, or mocking up a website for fun, but it never went much further than that.

In 2017, I started a job that required me to do certain tasks in Excel multiple times a day. The tasks were repetitive and prone to human error. After a few weeks, I started wondering how much of my work I could automate. At first, this just meant learning to use simple Excel formulas. Then came more complex Excel formulas. Then came recording VBA (a flavor of the Visual Basic programming language) macros. Then came editing those macros, which required actually learning some VBA. Then came writing macros from scratch and passing them around to my colleagues doing similar work. This is when I really started to understand how powerful a deeper knowledge of computers could be. Even knowing just a little bit, I was able to meaningfully improve the quality and efficiency of my work while also improving my experience while doing that work.

Ultimately, that experience led me to where I am today: my final quarter of OSU’s CS bachelor’s program. Computers, once only a source of imparsable error messages and frustration keeping me from slaying ever more orcs have now, for me, become a passion and a source imparsable errors and frustration keeping me from deploying my damn code.