Saturday, October 16, 2010

Strippers, lovers and why it's hard to be me.

Dear Readers. Warning, the following blog is going to be written on the spot at 1:30am, no editing, no second readings, no proof reading. It's from the heart and going to be on the internet. And I've thought about it and I'm okay with it. (Which isn't entirely sensible since I'm slightly under the influence of alcohol).

Today I spent the majority of the day with some wonderful people from my work on Waiheke Island off Auckland and I had so much fun. According to karma, clearly it was a sign things were going to go wrong. Horribly wrong.

After I came back to Auckland from the island, I went out with two other people from work. These are two great guys who like a bit of fun and who care for me and none of the following is meant to be disparaging to them at all. We went drinking at a place called the Steamship and then later one of them says "We should go to Mermaids". Mermaids is a dodgy strip joint in Auckland. Last place in the world I wanted to go, but since I don't really want to spoil other people's fun, I consented to go. Seriously folks, naked people dancing sounds scandalous and titillating, but it's really terribly boring and degrading to watch (both for them and for you).

Things were just harmless for a while until my friends decided to buy me a lapdance with one of the girls. At about $80 for 10mins, this is what you'd call a generous gift and they were just trying to be nice to the single, friendly, geeky, loser on the floor. I was terribly uncomfortable with this and said so, but they insisted. I got half way and whilst the girl was attempting to clear the payment, I backed out, was very apologetic and went back. The girl was upset (at missing payment), but one of my friends 'volunteered' to go up instead. My other friend was very impressed and said so. He was like he had never met someone with such a moral compass, who was so friendly, etc, etc. With my ego boosted and in a moment of weakness, I told him about the girl I am dating back home and said "You know what, I'm a great person and if after 5 dates she doesn't want to kiss me, when I get back, its over".

If it ended here, this would be a great (lame) story and I'd be a hero.

It didn't.

About 15 minutes later, another girl comes over (being bought by my friends) and unfortunately my friends had picked the one I had mentioned was the prettiest, which weakened my resolve. She dragged me upstairs before I could protest and because I'm a non-confrontational person, I didn't want to make a fuss in the bar and followed. The next ten minutes were...awkward. I made the appropriate 'moves' to make her feel like she was doing her job and tried to be friendly and nice, asking questions about her life, hopes and dreams etc, but I was pretty far from aroused.

I came downstairs after wards later and my friend took one look at me and went "You're not too angry with me are you?" and of course diplomatically I answered "It's OK. You were just trying to do right by me". They got dragged into some other private show after and I used the opportunity to escape. I got in a cab, went straight home and after 4 years, I cried like a freaking girl.

Why?

Not only did my moral compass fail and I did something I didn't want to, but my original position stands. I'm a person who believes in loving someone before 'loving someone', but after my first (and only) girlfriend, everyone I meet ends up making me their friend. The current girl who I truly like, is almost certainly not attracted to me as a boyfriend and I'm going to have to dump them and return to being a no-hope loser. And no longer do I have the moral high ground, because I'm just a sleaze who ends up in strip joint. I can't blame women for not liking me, because at the end of the day, something isn't quite right with me if I just constantly turn women from potentials into a steady stream of (admittedly awesome) friends. I don't know what it is the problem, I don't want (or think I can) rewire myself to be something else and frankly as much as I said before, I don't want to die alone surrounded by my huge group of friends. I'd much rather die knowing someone had loved me and chosen me as the person they want to spend their life with.

That's all dear readers. I'm probably going to regret this post in the morning, but sometimes it has to be done. Regular thoughtful (and infrequent) blog postings will resume shortly.

Thursday, September 02, 2010

Loving cloud nine, my head's in the sky, I'm ridin' solo

Traveling solo has simultaneously provided some of the most depressing and most rewarding experiences I've had. There is much to be said for a journey where you control so many of the variables of traveling. The downside is a journey where you don't have that easy comfort of loved ones nearby.

I've been stationed overseas with only work colleagues for company a few times now, but I don't really classify this as solo travel. After all, your control is limited and you do have colleagues (Not exactly loved ones, but close). So holiday wise, I’ve only done a grand total of two, but here are some of my thoughts on the matter.

Meeting People:

The number one fear of traveling solo (Well at least my number one fear) is the fear of being alone for a long period of time. Some people are excellent at meeting others and then you have people like me. These are my tips for meeting people on holiday.

If you’re hot, just hang around, someone will chat to you. For the rest of us, you need to be an active hunter. If you see someone else who is by themselves, go and chat with them. This sometimes works out and sometimes doesn't. I don't actually remember all the people who turned out to be losers, incapable of speaking English, though I know there were plenty. There are two ways I like to meet people. If it’s a formal activity, the old ‘going up to someone and sticking your hand out with a smile’ trick works pretty well. If I’m just wandering around various attractions, I try making an observation whilst near someone I want to get to know and then see how they respond. Leave those who don’t respond and pursue those who do want to chat with you.

Avoid couples. Perhaps it’s my luck, but many couples are terribly self-involved people. It’s not that they don't like you, it’s more they are more interested in spending time together than meeting new people. Couples are also far less likely to ask you to join them for other activities later.

Pre-formed groups are tricky. That big rugby group could be a godsend with a bunch of fun people or a complete nightmare of bigots. Groups that are formed for an activity however are gold. Everyone is trying to have fun and often the organizers deliberately set you up to talk to new people.

The usual laws of meeting new people apply. Smile heaps; ask lots of questions about them, keep it light etc, etc. I find a mixture of discussing what you're doing and discussing about their lives keeps things from getting too superficial or too probing.

What to do:

What you do is entirely up to you. It’s your holiday after all. I like to get a mix of culture, outdoorsy and indoors attractions, but plenty of people I know see travel as an overseas pub crawl. Whatever floats your boat. Make sure you have a list of ideas, but not an itinerary when you travel.

I would suggest that you leave the scenery stuff till last. Try and select activities you know are likely to have lots of people. Little aside: ask ahead about the tour, sometimes you don’t want to be the only person doing it. I once went horse riding in NZ hoping to be part of a riding group and it ended up being just me and the (admittedly very cute) instructor.

Where to stay

This isn’t a competition. The best place to stay is hostels. I always go for the largest mixed dorm I can find. It’s not only damn cheap, but you have a better than even odd of meeting a good mix of girls and guys. The hostel-world website is totally brilliant with its ratings and easy bookings.

See if you can get the hostels which have included breakfast (even for a nominal amount). Firstly, it’s typically much cheaper than at a cafe, it’s typically open earlier than anywhere else and it’s (again) the best way to meet people in the mornings.

See if the hostel organizes any kind of tours.. Typically a good hostel has various activities, sometimes free or often it will provide a discount. Sometimes it’s in conjunction with other hostels in the area, so even if you made an error and picked a quiet hostel, you can meet folks from other hostels. In Paris, the hostel (St Christopher’s) that I stayed at, arranged a free and excellent walking tour around Paris.

Beware of:

This may be pointing out the obvious, but be wary of high danger activities. You don't have a friend to dig you out of trouble and even simple things like losing your hostel pass can ruin your holiday. Let me clarify. Jumping out of a plane isn't a high danger activity. (Think about it, you have two concrete outcomes, land safely, or die horribly). In this and most high adrenaline activities, you're with other people, typically a qualified instructor who has a duty of care over the group. No, by high danger, I mean situations where you are by yourself with no one to look after you. For example, I was driving from Auckland to Rotorua and I was both tired and slightly hungover. That’s a high danger activity because if I crashed, I wouldn't have friends or family to bail me out (of Auckland Jail if I survived too). To compensate for this, I made it a point to take regular pit stops at safe locations to just rest and get my fatigue under control.

This is all I've gleaned off my relatively small experience. Anyone else have ideas?

Saturday, July 10, 2010

Growing up with games

"Buying experiences, not possessions leads to greater happiness"

In my ongoing search to be happy, I've found this article which seems to justify my world view. (Admittedly, I'm sure I can find anything on the internet which will justify a world view that eating frogs whilst juggling knives is the key to happiness, but let's go with this).

Especially when I moved to the UK, I realized I have very few possessions of my own. Clothes, several books and my desktop are the main things. Everything else really belongs to my folks and I don't even use it that much. So most of my money sits in investments or has been burnt into experiences. Holidaying, parties, dinners, these are the things which has eaten most of my money.

There is one oddity in all this though. Games.

You see, games fall into that gap of being an possession (you own it forever) and an experience at the same time. I was wondering about the many, many hours I've sunk into gaming in my lifetime and considered if this was a mistake. After all, I know many people who have amazing stories of nights out on the town and with friends whilst I was younger. I can certainly believe that during uni, I would have burnt through as much as everyone else on drinking and met many wonderful people, who I'd subsequently throw up on as part of the uni drinking bonding ritual.

But no, I was playing games. And I can't really regret this. Gaming is an experience in itself. It is like that deeply emotional movie you love to see over and over, a nail biting competition of wits and fingers or merely a creative, piss-farting-about experience between friends.

Whilst demonized by the media for being a solitary medium played by anti-social introverts and psychopaths, I'd argue the vast majority of gamers are very sociable and gaming is a powerful relationship builder. I have memories of games of 8 player Warcraft3 in between working on the same assignment together in uni, being on the phone with my friend Jack for hours whilst we figured out Age of Empires strategy and of play testing Quake 1 maps with another friend during high school.

Some of the friendships I've developed over the years have stemmed from shared experiences in gaming. I became close to some of my friends at work because we would finish up work, go home and get on Teamspeak together to play games at night. I've met so many random people at LANs who have gone on to become friends who invite me into their homes and share their lives with me.

Ignoring the benefits of relationship building, I recollect many fond memories of the stories and gameplay of various games. I still remember the heartache that accompanied the ending of Dreamfall. I can remember various nights having the shit scared out of me by jumping Howlers in Clive Barker's Undying. And as sad as it is, I remember the romance of winning over the druid Jaheria in Baldur's Gate. Yes, these aren't real experiences. They aren't unique, there are millions of people worldwide who have experienced it. But they form fond memories for me, and that's still important.

So whilst these are "things" I possess, they create so many experiences that are were influential in the way I grew up. When my time comes and I think back on my life, will I think I spent too much time at work. Most likely. Will I think I spent too much time on games? Probably not.

Wednesday, April 07, 2010

The Silver Standard for Interview Preparation

People often tell me that I over-prepare for things. There is a reason for this. I suffer from serious nerves (almost panic attacks) if I do not prepare which leaves me a wreck before and full of regret after (Oddly enough, during the event, even without prep I can falteringly get through, but it's never polished). And regardless of business climate, all the great jobs always require you to be reasonably polished to get the offer.

In fact, all this prep work isn't just about getting the offer. One thing which I never thought about until recently was how you interview doesn't just affect whether you get the offer, but it also affects where on the salary range for that position you are perceived. A colleague of mine interviewed at Thoughtworks and whilst he got the offer, he was offered the junior starting salary, despite several years of experience. And this is because he didn't prepare and outline all his real experience.

So I prepare. Some say over-prepare. Yes I did all the below before going into my interviews. It helped me feel better going into interviews and if I got an interview, I always got the follow ups.
I had two offers from the companies that interviewed me and good follow through for a number of others. It's overkill in some ways, but I feel it helped me, so feel free to take whatever you like from the below. If anything, if you do all the below, you'll come out being a better professional anyway.

So let's begin what is probably my longest post ever.

In general, my preparation could be broken into four main areas.
  1. Behavioral Questions Prep.
  2. Technical Questions Prep.
  3. Company Prep.
  4. Optional Extras Prep.
These are in order of importance as well. I'll explain more per section.

1. Behavioural Preparation
This is the most important area to prepare. Every company and almost every phase of the interview will ask questions around this area, so nothing here will go to waste.

I could go into detail about everything I did in this area, but I'll just tell you my secret weapon. I used the "Manager Tools Interviewing Series". For the uninitiated, Manager Tools is a regular podcasts given by a pair of management consultants. They have two regular podcasts, the 'Manager' series and a more generic 'Career' series. They also have the 'Interviewing' series specifically for those changing jobs. They like to call themselves the "Gold Standard" of interviewing.

These guys are massive gasbags; they manage to take a topic that you could summarise into 5-10 minutes and convert it into 50 minutes. Yet it's 50 minutes of GOLD. I used their advice at every job I applied for and I could tell it made a big difference in driving me through to the next stage. Look it's $150 USD, but when you see the pay differential when you snag your dream job, you won't care.

They will lead you through, how to prepare, what to wear, how to answer the 'big' questions like "Tell me about yourself" or "Tell me about A Significant Achievement" all the way to following up and salary negotiations. Augment what you hear with your own knowledge as there is a slight bent towards American corporate culture.

The only augmentation I have to the 'Interviewing Series' is to extend on their STAC (Skills, Traits, Attributes and Characteristics) cards system by creating Story Tag Clouds. This is a word page filled with individual stories demonstrating a particular S,T,A or C which you can easily search. It is best served with an example/template.

Bottom Line Up Front: I demonstrated ... to do ... which resulted in ...
Situation: The problem on our project was ...
Action: So naturally I had to do 1, 2 and 3.
Result: And because of how I did that, this resulted in us ...
Tags: Creativity, ..., Conflict Resolution

Once you've created your list of stories and memorized them, you can easily pull these out and then adjust emphasis to highlight what the question asked. The fact is your work career is filled with events where you need to use multiple skills to solve a situation anyway and being able to answer their question plus demonstrate your other skills edges you up on the list of candidates. After you've made your set of Story Clouds, try googling example behavioural interview questions and try answering them using the stories you just made. You'll find you'll be able to answer many questions with the stories you just created.

2. Technical Preparation
The next part will certainly receive some derision from my ultra-smart readers. But if you're not a super-talented-developer type and just an 'above average with other skills' developer type like myself, this is for you.

Software Development is HARD. It is too hard to develop anything useful in a one hour blocks which means often interviewers use standard questions that can be solved in 30-45min blocks. Hence I will point you towards books like "Programming Interviews Exposed" which give standard questions like 'How to reverse a string', techniques on how to solve them and general advice on the technical interview. I also got a book called the "J2EE/Java Interview Companion" to practice for Macquarie Bank's retarded online technical tests. I've never had to use it, but its been interesting reading regardless as it is a quick way to get an overview of the different parts of Java.

The last book I bought as study preparation never got used in an interview, but has been entertaining reading regardless. "How would you Move Mt Fuji" goes over a number of the brain-teaser/puzzle solving questions that hi-tech companies like Microsoft like to throw at candidates. I suspect the use of these might be more prevalent in strategy/analyst/non-developer type roles than what I interviewed for. Solving the puzzles in here does help jog creative problem solving neural pathways you might have abandoned in the last few years which is why I mention it here.

Finally, if you're going to apply for development jobs, it might help to do some actual programming. The better programmer site offers a set of excellent small programming questions you can whip up in under 20 minutes. There are some excellent development questions online such as famous Thoughtworks 'Mars Rover' or 'Sales Tax' questions which meatier and worth practising since they force you to effectively use design patterns as well (some companies are ga-ga for design patterns).

3. Company Preparation
Company preparation should be done only after you are comfortable with the above. At the end of the day, the hiring manager knows about his company quite well; it's you and your capabilities they don't know about. It is here so that you can separate yourself from your competitor candidates. There are two sides to company preparation. One being most companies now want to know why you want to work for them specifically and its a very common question. The second is you need to be able to ask questions which show you have an interest and you understand their business.

That said, please, please don't ask stupid questions about market share, stock price or macro-economic company questions. The hiring manager needs you to do a specific job, not run all corporate strategy. As Manager Tools would say, use the company research to formulate smarter questions for the hiring manager.

So I made a document for each company I interviewed with and it contained the following:
  1. Recruiter details
  2. Interviewer details: Linked-In is your friend. Yes it's mildly stalker-ish. Live with it
  3. Job description
  4. Brief SWOT of the company
  5. Industry trends
  6. Analysis of the main product: of the company, or say the division you are interviewing for
  7. Questions for the company: Feeding off the above, more on 6. less on 4,5 unless you can tie it into your current role.
For example: "I noticed you mentioned that has been integrated with to offer more functionality. Can you tell me a little more about how that is done and if I’ll be involved in doing any of that integration development work in this role?"

It does help if you care about the answer. If you hate integration work for example, you might as well abandon ship now and not waste your time and that hiring manager's.

This will take a minimum of a day per company which does suck, but it will make you feel so much more confident walking into that interview. You will ask great questions during and at the end of the interview. You can drop comments about events pertinent to the industry. You actually feel like you're part of the company and the hiring manager will also feel it.

So all the above is for the first interview right? If you get past that and into the second interview, you got to up the ante because the other candidates will be doing so as well.
  • Who are this company's customers (easy) and what their problems? (harder)
  • (Bonus points) Problems of this company's customer's end customer.
  • What challenges is this manager currently facing?
If I don't get/take the offer, I still file all those things away because guess what, you never know when this information will become useful again!

If you need an example of the profile I did on the company I got an offer from, let me know.

4. Optional Extras

I feel odd calling this Optional Extras because I feel they are really helpful to getting you that job. I don't think they are all essential, but you know, every little bit helps.

Clothes
For what its worth, if you feel your old interviewing clothes aren't great, do invest the money and buy a decent suit or two. It won't make or break you, interviewers aren't that superficial (typically), but if it makes you feel better about yourself, you'll have more energy and that is what interviewers notice. I got two from the Discount Factory Outlet and they made me feel perkier!

Extracurricular activities.
No, I don't care about your football or hang-gliding skills. This is opportunity to demonstrate you are truly interested in this industry and not just month to month pay-check kind of person. I restarted this blog, I started playing with Git/SVN and other technologies again, I started programming for my Android phone, I started posting on technical forums. Admittedly I didn't get far with many of these ventures considering how quickly I got employed, but if I took longer, I could have pointed at these achievements in interviews. That said, considering the 'Fools In Love' section of this blog, I wouldn't give them the exact address of this blog!

Read like there is no tomorrow
I used my unemployment time to catch up on a lot of blogs, technical articles and read a few interesting books as well. And don't discount being on top of the news either. One of my interviewers threw this curve ball at me. "What do you think of President Obama's performance to date?". Regardless of political persuasion, being able to form and communicate a sensible opinion on this show you aren't a one-trick pony.

Anyway that's enough for now. I think I need a holiday from blogging after this one. Thank you for getting this far. Job hunting can miserable, but it can also be a fantastic learning opportunity. If you have any suggestions, war stories, questions, ideas you'd like to share, post in the comments below!

Friday, March 26, 2010

Salary negotiation aka Career Limiting Post #13

Here is the hard truth boys and girls. If you don't ask for a raise, you won't get one or you won't get an appropriate one.

Asking for a raise is one of the hardest things you can do within an organization. Anything to do with salaries and money just becomes awkward (exception: any sales organization). And whilst I've been ripped off myself in the past, I won't pass judgement because for a manager, it is hard to give good raises.

In most organizations, this is how it works. A manager with direct staff will be proportioned $N of his budget to be allocated to merit increases and bonuses. That $N is often a tiny percentage of the total existing salary of the group. He has to then divide this up amongst everyone in a fair manner. That $N is fixed. So in order to give you a higher bonus/salary increase, he needs to give someone else a crappier bonus/salary increase. The excuse 'My team performed brilliantly, we deserve a bigger pool to distribute' doesn't typically work.

A manager's job is hard enough as it is. Knowing exactly why you deserve a bigger increase than 'Bob' can be very hard. Two things, particularly in software. Working more hours doesn't mean anything. Results are all that matter. Secondly, results are STILL hard to compare. If you have a project manager who met their results and a tester who met their results, who deserves more?

You deserve more.

That's the purpose of this post. I want to show you how. To prove to you I'm not making up random hypothetical nonsense, here's my story. I enjoyed my previous roles, but I felt underpaid and this was becoming a problem (Read about Herzberg Motivation Theory to understand why). My wonderful coach (separate concept to my manager) gave me the confidence to go make this right. I got a 25% change in my salary and I'll show you how in three easy(sort of) steps.

1. Market value.
At the end of the day, you need to get paid market value for your skills. If you love your job, market value is fine. The market value for the vast majority of jobs is really easy to find out.

1.1. Online salary information
Visit glassdoor.com, payscale.com or salary.com and fill in enough information to give you an approximation of what you're worth for a particular role, with X experience and in a particular location.

1.2. Ask a recruiter.
Recruiters can be scum, but some recruiters are honest, professional and clued into the market. Treasure and look after the good ones. Ask 3-4 recruiters what someone with your experience and skill set will collect in the open market with current conditions. Write down the dollar value, the recruiter's name, date contacted and their phone number. You'll need this for later. Have a one page document with the market information from online and the recruiter.

2. Achievements to date.
You're probably asking yourself why bother doing this? If you're under market rate, surely your boss will adjust you to market rate and if he doesn't you can just get a job elsewhere right?

Wrong!

Your best move isn't to leave. Leaving has significant costs outside of the job hunt which I won't go into here. Your best move is to remind your boss why you are important to this division.

In a single A4 page (no more, managers are busy), write down:
  • How you're going above and beyond your contract.
  • What are the significant accomplishments you have achieved.
  • What are the skills/knowledge only YOU have.
  • This one is often missed, but it is important. What are the key relationships you own? If you are the account manager for a key business or that developer who everyone on the team loves, you leaving can cause that account to move with you, or that team's morale to plummet.
If you are struggling to fill in the above, guess what? You actually don't deserve that pay adjustment to market rate. What the hell have you been doing all this time? You have been just doing your job, not kicking-ass in your role.

3. Talk to the functional manager in charge.
Not to HR, not to your PM if you're in a matrix organization, but your functional/line manager.
However, I will say this. If you have a good working relationship with the manager ABOVE your line manager AND you know your line manager isn't capable of improving your situation, you CAN attempt going to that senior manager/director. Yes thats what I did and yes there were consequences good and bad (let's not go into that here).
  • Book an meeting (at least two days away) with the two page document attached with a friendly "Hi John, I want to discuss my current renumeration with you, could you spare 15mins to go over this document?", or something to that effect. No hint of "I'm going to leave if I don't get my raise". It's unprofessional and no-one is impressed.
  • That said, you did include the recruiters' information right? This is your most subtle way of saying, "I'm taking this seriously and I hope you do as well."
  • Have the discussion. At this point you've done all you can. Hold firm, but play nice. You will get plenty of excuses. You just want them to say they'll try something for you. You won't get that increase in this meeting. Normally management has to wait till the next review cycle or if it's really urgent (you need to be a star), they'll put in an emergency request with their boss.
Hopefully you'll get an pleasant surprise within a few weeks. If you don't and you are below market rates and you have many accomplishments, you need to seriously consider if your current job is right for you. I hope this information has been useful to you.

Good luck!

Wednesday, March 24, 2010

Being a T1000 would make being soul-less more fun

(Repost - to fix the odd formatting problems. I do hate blogger sometimes)

Blast from the past - This is another post which I wrote over 4 months ago and never got around to posting. Enjoy!

At a late night function with co-workers, I had a colleague bring along her friend who is a beautician for a local hair-dresser. She introduced herself and told us her profession and then asked what we did. My manager at the time mentioned that she worked in IT as a Program Manager. Our beautician friend was impressed and a brief glance could tell she was mildly intimidated by being a blue-collar worker amongst a sea of white-collar technologists.

So my manager started to put down the entire IT field as boring, cold and soul-less. And then started exalting the joys of being a beautician: how they get to be creative, how they get to work with new people every day and so on. My boss enjoys her job, and I greatly suspect her saying this was just a NLP technique to win the other person's approval over or perhaps to allay any feelings of inferiority.

Whilst I'm completely aware that being a beautician can be a rewarding career from a personal stand point, I don't see the need to degrade working in IT in the process. Being vaguely experienced in social interaction, something tells me that ragging on anything, particularly your own job is a form of whining and it has a great chance of backfiring on you.

The tech industries (pure software, Telco, IT support organizations) are at its core, engineering services. Wikipedia defines it as "discipline, art and profession of acquiring and applying technical, scientific and mathematical knowledge to design and implement materials, structures, machines, devices, systems, and processes that safely realize a desired objective or inventions."

Notice how it says both a discipline and an art. This is a reason why engineers get respect. You have to be both disciplined like a soldier and sometimes as creative as an painter in order to get the work done. The word itself is Latin for cleverness. What we do changes the lives of hundreds, maybe thousands of people for the better. Perhaps it is because I haven't been working for long enough to become jaded and broken, but I still believe in my profession and industry as outlets for something amazing.

So yes, I can totally believe your job is fantastic. I'm sure there is some aspect in your job that is significantly better than mine. And I'm sure something about my job rocks over yours. At the end of the day, let's celebrate our professions, our industry and our lives, not complain about it.

Tuesday, March 09, 2010

The girls give it up for the VMWare Playa

After raging at Windows Virtual PC for not recognizing USB devices (and consequently halting my Android development), I threw away my Windows XP virtualized development environment and decided to start again completely anew.

I have Ubuntu 9.10 loaded into VMWare Player 3.0 and I've never been happier. Considering I migrated from MS Virtual PC, this might seem obvious, but this is actually nicer than Sun's Virtual Box as well.

Having only had a cursory glance at the VMWare architecture, I have no idea how the player runs so quickly for loading and operating VMs. The 'suspend VM' functionality is fast as well, which is particularly useful when you want to stop working so you can get in a round of Bad Company 2. In fact, after long periods of inactivity, the VM's real memory also seems to swap into virtual memory so efficiently that I've actually played rounds of Call of Duty (less disk intensive than BC2) and didn't even notice. In addition (and this was a REAL pet peeve of mine) VMWare player properly handles resizing of the window of the VM. VPC used to give me scrollbars within the desktop and that was infuriating.

Of course a lot has to do with the fact I've got a Ubuntu install in there instead of my old Windoze XP installation. Having only 2GB of memory on this aging machine, it is nice allocating the same amount of memory to the VM and getting significantly better performance.

One extremely cool feature exclusive to VMWare Player is Unity. You can run both the VM's application and the Host OS's applications side by side so it appears that they are in the same Window Manager Space. This removes some of the artificial "I'm working in windows now" transitions that happen and allow you to just use the applications more naturally. By activating the 'Shared Folders' option, you can save the files so that it can be shared between the host and the guest.

And I know what you're thinking. Why don't you just modify your existing OS to support the functions you need rather than having one OS and an OS stuck inside a hefty VM?
  1. I like to keep my development environments inside VMs. This way, hardware upgrades, hard-disk explosions, my tendency to rage-format among other things don't force me to reinstall EVERYTHING again.
  2. I hate Wine/emulators for running Windows apps in Linux and I dislike cygwin for getting a command shell inside Windows. Use the real deal man!
Some minor niggling points:
  • Oddly enough, I still get clock drift inside Ubuntu just like I did inside my XP installation. I've rectified this by installing NTP and configuring Ubuntu to connect to the CSIRO public NTP.
  • One unusual thing I cannot seem to fix is ubuntu seemingly either releasing the network connection or dropping CPU cycles down dramatically on a VM when you are out of focus from the VM. So for example, if I'm downloading a large file in firefox inside the VM, if I change focus away from the VM, it ends up slowing and terminating that download after a few seconds.
That said, these are minor quibbles and my Ubuntu box is often open. I'm guessing in future, it'll only get better again. Maybe my windows 7 and Ubuntu will run side by side in a hypervisor next. Who knows...