Monthly Archives: June 2013

0 for 7

I kept having the Tom Petty song "Runnin' Down a Dream" playing through my head as I worked my way through three rounds of Microsoft interviews.  Since declaring Computer Science as my major in 2000, getting into Microsoft has been my #1 career goal.  In fact, it was after my 2008 interview there didn't go as I would have liked that prompted me to go to Grad School to get my Master's in Computer Science.  Really, taking that action of going back to school sums up what the desire to be a Microsoft employee has always done for me: it's driven me to be the best software engineer I could be.

What's interesting is after being turned down for the four positions I was up for, I'm not devastated. Frustrated?  Sure, but that's only because I got so close.  Like I nearly beat the boss in a video game and lost my last life when my opponent had just a sliver of life left.  And, of course, it's one of those games that makes you play the last level all over before you can try your hand at the boss again.  Will I be back?  Probably, given I don't like to leave things half finished.  Will I need time to sum up the desire to work my way through that last level again?  Definitely.

On the many bright sides to come from the experience, I do know what I want in my day to day job now and that's to use the knowledge I picked up in Academia (Though I'm not going to deny working somewhere that gets a 100 from the Human Rights Campaign would be nice).  I also know what I really need to work on to be a better author of code which I think, once I get down, I'll be able to take that final boss next time should I so choose to try.  Thing is here in this particular postscript, I won't be putting my life on hold to work on these things.  Having a Microsoft employee badge with my name on it is no longer so important to me I gotta drop everything and pursue it, which I think is a very healthy turn from where I came from.

Lattice Multiplication

I'm going to bleed a little in this post because it's about something very dear to me: Mathematics.

I got held back in math in second grade.  I remember walking to class and seeing my teacher holding the book for the lower level math class.  I'd been struggling in math and I immediately got this pit in my gut fearing what was about to happen and, sure enough, she called me over to her and escorted me to the lower level math class.  I don't remember much after that...

Well I was recently on an interview and my interviewer kept saying, "This is just like you learned how to do multiplication in third grade!" and kept pressing me to implement a solution in that multiplication view.  Unfortunately for me, my brain ceased.  I flashed back to being a kid again and being escorted to that lower level math class.  If I don't get the position I suspect that— response of mine will be a big factor why.

Thing is, I can do multiplication by hand.  Just in order for me to do it I have to change what it looks like cause, and it was actually in third grade, that I learned about Lattice Multiplication.  You go through all the motions of multiplication yet but, you change what it looks like and that change in visual has allowed me to do things like get through the math section on the GRE so I stand by it. I've no doubt that there are other walkthroughs on the Internet but this is important to me and I would like to personally try and help keep other children (and adults) from being haunted by math.  Math isn't scary.  But how to do it isn't one method fits all.

Lattice Multiplication is like this:  First you draw a grid, one box for each number you're going to need to multiply, and split the squares on the diagonals:

grid1

Then write your numbers you need to multiply.

grid2

In the "third grade" way this would be:

279
 84
---
  ?

Now you multiply.  Right to left across rows and down columns.  The number in the 10's position goes in the upper part of the diagonal split cell, and the 1's in the lower.grid3

Then you begin to add down the diagonals.  If you have a carry (blue circled numbers), simply put it at the top of the next diagonal and add it as well.

grid4

Then you just read your answer along the bottom (blue arrow).

grid5

As with the "third grade" method I was being required to use, as long as your basic multiplication tables are known, you're then able to approach multiplication this way.  Well actually it's the same way only you don't have to worry about indentation in the result and this way doesn't remind me of past events so I was able to do things like survive the GRE.  It's amazing what a change in perspective allows you to do or see sometimes.

If you're struggling with multiplication, I recommend giving this a go.  It has worked for me.