The cake is a lie

Finding a job as a new graduate

I recently undertook the ordeal of finding a job for when I graduate this spring. I interviewed at 11 different companies, with a total of approximately 18 interviews. Here’s some things I learned while traversing the Software Developer industry:

  • Apply by reference: If you know someone in the company, or know someone that knows someone, it’s much easier to get them to pass along your resume than… anything else (namely job boards, etc). This takes some networking (or being on good terms with The Nexus of the Universe), but it’s very much worth it. Not only does it guarantee that they’ll pay special attention to your application, but it also reduces the need for references. Keep in mind: this person is putting their reputation on the line for you, so try not to over-extend yourself by asking for positions you’re not qualified for.
  • References are not important: Especially if you get the interview by referral. Only one company asked me for references (coincidentally the one I chose to work at). I have a feeling that references play a bigger role in more prominent positions, but not so much for an entry-level new graduate software engineer.
  • Marks are not important: I exerted tons of effort trying to improve my marks over the past couple of years, but turns out that most companies don’t care, or have ways to circumvent the issue altogether. When applying for bigger companies like Google, try applying as a “normal person”, instead of a “new graduate”. I made it clear during the introductory interview that I was a new graduate and no one cared. GPA was never brought up. If marks are a factor, then a good reference, or impressive resume, or a really shining cover letter will usually eclipse any doubt.
  • Interview process: Most of of my interviews were performed in two parts. The first part was an introductory screening interview usually taken by an HR person. This includes reading your resume together, and answering some basic technical questions to make sure you didn’t misdial McDonalds. The second part is a technical interview where someone with more in-depth knowledge asks some real questions. In cases like Google, they can be nitpicky algorithm questions. But most other places like to ask abstract comparison questions like: abstract vs interface classes; memory management in C vs Java; design patterns, etc.
    As students preparing for the real world we are always warned of questions like “What is your biggest weakness?” and “Where do you see yourself in five years?” — I was never asked anything like this. All of the questions I was given were practical and to the point.

Given all the career talks I’ve been to throughout high school and university, these are the things I did not expect and/or wished I had known before. The Software Developer industry is obviously different from the average industry, so YMMV.

In the end, I received one offer with a 48 hour deadline1 which consequently sprouted a couple more offers. Along with the sale of our condominium and other issues, that was the most stressful two days I’ve had in a long time. Long story short, I now have an employer starting May 3rd. Keeping in the blogger tradition of not mentioning the name of your employer, I’ll refrain until I actually start work there.

1. This is not the norm. It happens either due to disorganization or as a pressure tactic. Regardless, I ended up rejecting this offer. In normal situations, expect offers to last 2-4 weeks.

3 comments

Ah choo on you

  • I’m sick, as many of you know. It’s a strange hybrid strain of Bronchitis and a Cold, imported from the seedy lands of Montreal. I look like this every few minutes:

    Me sick

    I’ve been spending between 14 to 18 hours in bed per day. With all the coughing, I’ve been getting what feels like 6-7 hours of sleep each night.

  • I’ve been catching up on my Neural Networks class’s readings, it’s still fascinating me as much as the first lecture. And still terrifies me just as much.
    Words like “Hessian matrix”, “paraboloids”, “hyperparaboloids”, “hyper-sphere”, “the”, “conjugate gradient”, “eigenvalue”, and “eigenvectors” are littered throughout, intermixed with complicated equations. Eigen stuff isn’t all that scary, but it’s a personal phobia. I never imagined I’d be reading words like “hyperparaboloids” in a paper I’m supposed to understand.
  • I upgraded WordPress, let me know if there are any anomalies.
2 comments

Prime possibilities

A new largest known twin prime number (a prime that differs from another prime by two) has recently been discovered. What caught my attention is that the largest known twin prime number is merely 58,711 digits long, while the largest known prime number is a whopping 9,808,358 digits long (discovered Sept. 2006). Had we actually known all the prime numbers between the largest known prime number and the smallest (2), then finding all of the twin primes in between would be trivial.

Being immersed in a field like Computer Science, it’s easy to start believing that anything is possible and within our reach today. Fortunately, the world is more exciting than that. There’s still oodles of primes to be found, people willing to pay money to have them found, and wide-eyed optimists investing their time to find them.

And then there’s the relentless sprint towards the perfecting of neural networks, achieving artificial intelligence, designing exciting new user interfaces, or coming up with a more addicting way to spend one’s time. Still lots of work to be done.

Tomorrow I’ll be having a dentist appointment, followed by an interview, followed by a departure to Montreal where I’ll be attending the Canadian Undergraduate Software Engineering Conference. I’ll be back Saturday night.

2 comments

Conquered by a tooth

Tooth #6 on the top row had me curled up in the fetal position yesterday. Turns out that the deep filling I had in there has let in an infection and another root canal is in order next week. This makes it 3/4 fillings that were put in by my old dentist have been infected… I ought to sue, or something.

In other news, I took a break from wasting time by working on a logo for Igor’s web application. The web app is called UTest, it lets professors upload secret solutions which students can blindly run unit tests against and see the pass/fail results. Blind-folded and hand-cuffed black-box testing.

The original sketch:
UTest logo sketch

The final accepted logo:
Make love, not war

My personal favourite, the Make love, not war edition:
Die tests, die

No comments

The one with the car accident

I was just gently violated by my exams yesterday, only to have a slightly more inconvenient day today. Since I’m going to be telling this story to about a dozen people sooner or later, I might as well tell it here.

The day begun with me wasting three hours trying to make my laptops display 1080p resolution onto the new TV, only to learn that they can’t display wide screen to an external source (I still don’t know why made it work!). Both showers were broken and the TV lacked component cables, so I had to drive down to Plumbing Mart and BestBuy today (the only day I have access to the car). By the time I was done wasting time with the laptops, I realized it was almost rush hour and rushed off to the car. Once I got down to the car I was faced with a small dilemma: I forgot my keys, so I can’t get into the car, and I forgot my keys, so I can’t get back into the building. With more time wasted, I was officially in rush hour, heading down Dundas and looking for a tiny outlet store without any luck. What should have been a 10 minute drive to Plumbing Mart, turned out to be a 40 minute escapade of going back and forth on Dundas with thousands of other angry cars. After buying a “crane” and a “shower inverter”, I headed off to BestBuy.

I was driving south on Dixie Rd., approaching the intersection to Queensway E. (here). I needed to make a left turn on Queensway and the turn arrow for the intersection was blinking, but the car in front of me didn’t quite leave me enough room to change into the turning lane. I was already half way into the turning lane, and saw that the car in front of me (a black 4×4 Jeep Liberty, 2003) had literally two cars worth of space in front of it. Naturally, I honked a “could you move up?” at the driver. He started moving forward, so I started switching into the left lane… but he stopped. I didn’t see that he stopped, so my only indication was the noise of my right side mirror getting wedged between his car. I stopped immediately.

Okay, so it’s my first accident. I got out of the car and went up to his window to see if he was alright, but he was PISSED (and really stubborn). He kept accusing me of crashing into his car (he must have had some sort of higher education, because I have no idea how he gathered THAT </sarcasm>), and then completely ignored my apologies and attempts to cooperate, as fumed with his wife. Just to paint the scene a little, this was a Caucasian male (with a French surname) in his 50’s, with a woman that I gathered to be his wife. He kept threatening to go to the insurance and that it’s a brand new car, with chrome wheels, it’s going to be very expensive and he had to go through insurance because it was a rental. Later I asked what company it was rented from, and he said “no no, it’s not a rental, I own this vehicle.” Then he started making other things up, like some scratch on his door was also from the accident (even though there’s absolutely no way my car could have reached his door, even if it had arms.)

Anyways, long story short: A cop arrived, took both of our statements, wrote down our registration and driver’s license information, then we exchanged each other’s information, the cop said “there’s no point in reporting this to insurance because this is a minor incident and definitely less than $1000.” The only damage for his car (that was obviously made by mine) was a gray scratch on his back wheel bumper (them Jeeps have wheel bumpers…). In fact, I wouldn’t be surprised if his car was perfectly fine once the gray paint (which came from my car) is cleaned off. Measly old Honda Civic doesn’t stand a chance to his fancy black Jeep with chrome wheels. Seriously… chrome wheels? What’s up with that?

Oh, and to top it off, when he tried to move his car, it completely ripped off my side view mirror (which was only dislocated before). Too bad it was dark and can’t see anything in my cellphone photos.

Now I’m waiting for him to get an estimate from his dealership and to call me back. Sigh. I hope my insurance rates don’t get gently violated, too.

1 comment

Quadruple shopping spree

After finishing my 8 AM exam (yes, on a Saturday; and yes, it went well, thanks for asking), then having breakfast with Maria@Google and company, I had to run an errand which inadvertently (ok, it was advertent) turned into a four-store electronics shopping marathon. I don’t mean to brag, but I find it amusing how I only ended up buying one thing from each store. Let’s reiterate the journey.

  1. Hard Drive: 320GB SATA2 Seagate @ PCCanada

    The story: I built a computer for someone last year, and their 120GB hard drive died. I had to get them to RMA the drive, but due to the recent Maxtor acquisition by Seagate, there were complications and it took 4 weeks. So, not to let the poor guy suffer a month without a computer, I bit the bullet and bought a 320GB drive for him to use until his comes back. Today, his came back, so I had to go down there and grab it. Effectively, I was getting my 320GB.

    From here, I went to look for a nice flat-key keyboard at BestBuy since PCCanada was out of stock.

  2. Mouse: Logitech MX Revolution @ BestBuy

    The story: This mouse has been eluding me for months, ever since Dell put it up for $77 a few months ago — original price: $139. I missed the opportunity to buy it for that awesome price, and I’ve been regretting it ever since (curse you, Andrew@IBM, for not convincing me). I’ve been using my original Microsoft IntelliMouse Explorer since 1998, when I bought it for $139 as well. I’ve had it replaced 3 times by Microsoft since then, but the warranty finally ran out and it’s near death again. Finally, I hunted it down for $79 at BestBuy, completely by accident. Alas, no decent keyboards in sight.

    Next stop, TigerDirect to look for a keyboard…

  3. Hard Drive Enclosure: Vantec NexStar 3 @ TigerDirect

    The story: As I was walking through the store, I remembered that I don’t have any more SATA ports for the new hard drive and it looks like I wont be able to build my new computer as soon as I thought. I can’t let the 320GB hard drive just sit there… So I grabbed a nice SATA hard drive enclosure with eSATA and USB2 ports, to insure eternal-ish usefulness.

    Much to my dismay, TigerDirect was also out of flat-key keyboard stock. Off to CanadaComputers.

  4. Keyboard: ENERMAX Aluminum Keyboard @ CanadaComputers

    The story: Last week I was eating cereal at my computer and in a lapse of judgement I let my hand control itself for a while — this is when it decided to drop the bowl and have milk go all over my keyboard. After some fun of trying to type on a sticky keyboard surrounded by cereal and milk, it short circuited which effectively made some of the keys permanently pressed. I had a spare plain cube-keyed keyboard to type on for a while, but I couldn’t live without my laptop-ish flat keys. Since the cheaper Logitech UltraX was sold out everywhere, I had to spill an extra $35 for the deliciously sexy brushed aluminum Enermax keyboard. Oh, it’s so sexy. And the keys feel great. I love this thing.

Moral of the story: Don’t go shopping for electronics after getting rejected by Google… again. All these are my birthday presents to myself. *Shifty eyes*

1 comment

Final Tally for Week of DOOM

The final tally for this week (2006-12-04 to 2006-12-08), henceforth known as the (new) Week of DOOM:

  • Assignments: 6
  • Presentations: 1
  • Interviews: 2
  • Casualties: <Result pending>
No comments

Generic update

Over a month since the last post, time to fill friends and potential employers in with what’s going on:

One week left until the semester is over, with one semester remaining after that. This means one really mean week of six assignments and a presentation, followed by two cuddly weeks of exams, followed by intense job searching and hobby coding.

I’m currently in the middle of yet another ordeal with Google, meanwhile exploring opportunities with startups in Toronto. If that doesn’t work out, I might have to resort to working at one of my backups. Not that there’s anything wrong with my backup job opportunities, it’s just not the most hip thing to do when you’re fresh out of school.

Aside from that, I’m tinkering with a light-weight tag-driven logging/ticketing system which will hopefully replace the minion of Satan that is WordPress. End of this week, expect a post pitching me to potential employers.

2 comments

Filesystems and murder

Hans Reiser created the Reiser4 filesystem which is widely regarded as the best
performing and most extensible modern filesystem. After stumbling upon href="http://video.google.ca/videoplay?docid=6866770590245111825&q=hans+Reiser">
Hans’ Tech Talk at Google, I was intrigued and
went off to read more about it. You can find plenty of information within the
various links in this post, so I’ll only go over what I personally found
interesting about Hans and his filesystem in approximately chronological
order:

  • Hans Reiser was born
    in California, dropped out of junior high school because he
    didn’t like the way things were taught, and got accepted into UC Berkeley at the
    age of 15. He earned a degree in Systematizing (combination of Math,
    Physics, etc).
  • Worked in
    various tech jobs
    to accumulate capital. Hired a small team of programmers
    from Russia (to avoid venture capital) and founded href="http://namesys.com/">Namesys which is responsible for developing the
    Reiser filesystem.
  • ReiserFS (aka. Reiser3)
    was created from scratch by Hans Reiser. Made it into Linux Kernel at version
    2.4.1. Hans was dissatisfied with the performance in some key situations (many
    small randomly-sized files), so once ReiserFS was stable, he went on to create
    Reiser4.
  • This would be a good time to read the href="http://newkerneltrap.osuosl.org/node/5654">interview with Hans Reiser on
    KernelTrap. In particular, the Background section where he talks
    about the thought process and attitude of being a systems architect, which I
    found very insightful. Some of the following points summarize the interview.
  • What happened to Reiser1 and Reiser2? Due to a versioning mistake early on,
    the major version number got bumped up to Reiser3, and they refused to go back.
  • Hans invented an improved data structure for Reiser4 called the href="http://en.wikipedia.org/wiki/Dancing_tree">Dancing Tree. This tree
    structure has better performance than most modern databases (which use
    variations of B trees). This has something to do with the tree structure being
    more parallel to the way a hard drive stores and reads data.
  • Reiser4 code is incredibly modular, clean and well-documented. It boasts an
    impressive plugin architecture which supports significant expandability, like
    live compression, encryption, metadata, querying, etc. Also, Hans is very
    supportive of the open source development mantra and very encouraging of
    external contributions.
  • Through plugins, Reiser4 is able to match all the functionality that
    Microsoft promised with WinFS
    and more.
  • One example of an impressive plugin is live compression: Due to advancement
    in CPUs, we are able to compress data faster than hard drives can write it, so
    we can compress things on the fly without performance penalty. In fact, we gain
    performance due to the decreased amount of data needed to write or read. More
    compression = less space = less blocks to read/write = faster operations. With
    average compression rate of 50%, we’d be able to achieve x2 read speeds (as
    well as 1/2 storage space required).
  • Reiser4’s storage is completely independent of the overlying structure (like
    the hierarchical structure that we’re used to). With plugins, Reiser4 can be
    extended to function like a relational database or any other metaphor we can
    produce.
  • Reiser4 is not yet part of the main Linux Kernel branch (but is available
    through Andrew Morton’s patchset). Next step is to get it stable enough to make
    it into the kernel and then start pumping out those awesome plugins.
  • Nancy Reiser, Hans’ wife, disappeared on September 6th, 2006. href="http://news.google.com/news?q=hans+reiser">Hans was accused
    of murdering her. Blood splatter was found. On October 16th, Hans was
    arrested. Body still missing. Alternate speculations include that she ran off to
    Russia (her place of birth). Great concern for the development of Reiser4
    ensues.

It may seem selfish and barbaric to be concerned about the health of the
development of a filesystem when a woman is murdered, but href="http://www.ninareiser.com/">many people do show compassion.
Similarly, many people believe that Reiser4 is the filesystem,
and with the leaps of advancement it has over competing filesystems, these
people fear for the project’s future. Slashdot discussion covered this topic on
several occasions.

My best wishes go out to Nancy Reiser and the Reiser4 project. May they both
turn out to be alive and healthy.

No comments

Bye bye Google

6:43pm - I received my Google Rejection tonight. Google was my ambition for the
past couple of years, but moreso over the past few months than ever befor
e (that’s an understatement). Naturally, I feel disapointment. Yet at the same
time, I feel relief — relief that the journey isn’t over.

Google was my holy grail. If I acquired a job there, I would be content. It
would be over before things even begun. This way, I still have my ambition to
show Flickr, Youtube, Facebook and all those yahoos how it’s done. Hear me roar.

I’ll stop stealing some poor sap’s wireless on Bloor and Huron and drive home.
Good night.

2 comments

« Previous PageNext Page »