Sunday 13 May 2012

Special FX

In happier news, I have pretty much been offered a job. I'll be doing development for interfaces to FX feeds, I think. My team is a bit split at the moment, so I don't really know where they'll place me. At the moment, I'm writing an automated testing tool that'll allow us to test SSIS packages, which I'm actually finding really fun.

As part of the graduate program, we are required to find a permanent role at the end of our last rotation. I think the graduate management team realised that if all of us start looking for roles at the same time, it would lead to 100+ people all competing for the same few roles, so they decided to let us roll off earlier if we managed to find a place. Since I'll be staying in my current rotation, they want to wait until the program ends before giving me my permanent role, because that way the graduate program will continue to "pay" for me, so I'll have to wait a few more months before I get a pay rise.

It's a bit stupid how they have organised the grad program. They merged some of the business and technology areas into one area, and hired grads under a "generalist" umbrella - meaning they didn't care what you studied at university, they'll take you and place you somewhere. However, since all the banks are currently going through a technology overhaul to get rid of ageing systems, a large amount of roles are in technology. Having talked to a lot of the grads during various grad catch-ups, I think I'm the only developer (and I wouldn't even consider myself one, if someone were to ask me. There's the one class, one method guy, but I don't count him). I know a couple of people who can test, and semi-enjoy it. I haven't met anyone who wants to do support. So basically a majority of the graduate program wants to be a business analyst, or project manager.

That would be fine, except for the fact that everyone is cutting costs, which means less projects, which means less BAs are required. So you have a bulk of the jobs being in dev, testing or support, and a bulk of the new hires wanting to be BAs. I'm just really curious about the entire hiring process for the graduate program. It's no secret that there is a shortage of dev/test/support staff.

I've been thinking a lot about someone's last blog post, where they said that they can code, but never seem to be able to get a job. They thought they were being talkative during an interview, but got feedback that they didn't talk very much. It also made me think of someone from the #se440 group who I think is a great coder, but is really quiet most of the time. The most animated I've seen him was when he was arguing with Yaksha about something, and even then, I think I generally talk more than he did then.

The current interview system for finding grads in this climate is stupid. One of the grads in my year was convinced he was going to roll off into a senior management role. Grad meetings with the leadership team were just a chance for me and the Arnie twins to play buzzword bingo during his brown-nosing. We nicknamed him "The Congressman", because he loves to ask stupid questions about U.S. politics to make it sound like he's intelligent. But if even I can tell that he's pulling stuff out of his ass, I'm amazed that everyone else can keep a straight face. Yet this is the type of person who gets hired.

Coffee Nick finds it funny that they tell each year of grad that they're tomorrow's leaders, and whenever they are introduced to past grads, it never occurs to them to wonder why that grad is still only a "lowly" senior support analyst. If only they would do the maths: for a company of thousands of people, there is only one CEO, and he might have a team under him of about ten people. That means to get into one of those positions, you need to wait for one of them to die/retire/quit. Not to mention the long line of people waiting to be promoted. It's like you're a distant, distant, distant, distant cousin of the royal family trying to make it to the throne. I wouldn't hold my breath.

They need to stop looking for tomorrow's leaders, and start looking for people who can actually accomplish something.

Thinking about it, Person got into the grad program because he's good with people. Paul and Tong got rejected because they're actually competent. Sumeet got in, but then again, he also got into Microsoft, so it's hard to say whether they only pick incompetent, sociable people. But I'm horrible with people, and a terrible developer. MrMan5.5 says I'm just not a technical person, and I agree. I definitely have no aspiration to be the next CEO of anything. I asked my manager what job he would have if he could have any job and not have to worry about things like how much he earns, or the hours, or opportunities for promotion, and without hesitation, he said he'd like to be one of those outdoors tour guides. I have no idea what I would do. I wonder why they picked me. I wonder what it means that I got rejected at first.

Unlike the blogger I mentioned above, I can't really do anything. If I were completely honest with myself, he could probably do my job at least five times as well, and yet I'm the one who goes into the office five days a week, and he isn't. Doesn't make much sense, does it?

Saturday 12 May 2012

End of the DotA Guide

I stopped writing the guides for a while because I was on a massive losing streak, and it is hard to convince yourself that you can give advice to others when you are losing game after game after game. Here is what I would have written guides on, so Google other guides on this topic if you even care.

Advanced techniques:
-Stacking and pulling neutrals (stack at x:52, pull at x:16 and x:45).
-Orbwalking
-Counterwarding
-Smoke of Deceit

Team balance and hero picking
-balance of supports/gankers/carries
-push teams
-jungling to add an extra support lane
-things to keep in mind:
--laning phase
--game phase balance (early-game vs late-game)
--number of disables
--balance of physical and magic damage
--number of invis heroes (on either team)
--opposing heroes
--play styles

Situational Items:
-auras:
--AC
--mek
--radiance
--Vlad's
--ring of bas
--Shiva's

-items:
--urn
--pipe
--linken's
--bkb
--magic stick
--refresher
--boots of travel
--dust
--orchid

I've decided to quit DotA2 - or at least stop playing for a while. My reasons for this are going to be long-winded, so I won't be upset if you decide to stop reading now and leave with the TL:DR reason of me being sick of always playing support, and realising that I really am not having fun anymore.

I remember a game of HoN a long time ago, it was with Teekay, Olek and someone else I don't remember, but may have been MrMan5.5 or Lume. It was all pick, and as soon as the hero selection screen came up, I hit random and got War Beast (Lycan). I can't remember who anyone else picked, but we had no support on our team, but I clearly had the hard carry hero. No courier (this was before the free courier), no wards, and the laning heroes had died quite a few times in the early game due to no missing calls, and the fact that no wards were up. The game was pretty much over before the 15 minute mark.

I got pretty angry, with an outburst that was mostly aimed at Teekay that went something along the lines of, "I play support for you every single game. I random a hard carry and you can't do the same for me in return?" This was mostly due to the fact that in a lot of games, Teekay would go Swiftblade (Jugg) and ask me to go Glacius (Crystal Maiden) for early first blood. Admittedly, I hadn't said anything before then, so how were they to know I felt that way? But I think 2 or 3 years have passed since that event, and nothing has changed, so what went wrong?

For one, I started falling into the support role more and more. Probably because my desire to win usually overruled my desire to play the hero that I wanted to play. Secondly, we started training for a tournament where it was important for each of us to become good at the roles we had chosen to play. Lastly, my success rate with carries was a lot lower than with support, so maybe I was just horrible at it.

With DotA2, and the absence of average game stats, I am looking at my own stats at the end of the game a lot more now. When I play carries, I have a decent gpm, even when we are losing. I have good map awareness, decent battle instincts, and am getting much better at last hitting. So why am I such a fail carry? I don't like to blame others when I don't do well, but a thought occurred to me - what if I never do well as a carry because I usually end up playing a support/carry hybrid? 1 set of wards costs 200g. Wards restock every 3 minutes, so that's 22 sets of wards over an average 60 minute game (assuming you buy them as soon as they're available). That's 4400g.

At work, I'm on what is basically the executive committee of the social committee. As over half the exec was away on leave, I volunteered to be in charge this week. (This is related to DotA2 in the end, not just a random topic jump.) A couple of the members came to me with a problem, that led me to take a look into the financials (as treasurer, that was my job anyway). I started to get a feeling that someone was stealing money, but since the last treasurer hadn't kept very good records (and somehow all these people who work at a bank were OK with this for some reason?!), I had no proof. I spent most of my lunch hour talking to people trying to see if I could find some proof, but failed. My suspect was being incredibly difficult to track down and not responding to any communication. So by the end of the day, I was really stressed out, and all I wanted to do was play a couple of games of DotA2 to relax, and then go to bed.

I end up joining a party with X, Y and Z, and we get SD. I was having enough trouble picking my own hero, and in a rare case for me, I didn't even care about team balance - I hadn't even looked at the other heroes my teammates said they had. Then I realised X was asking for suggestions on which hero to play, but I was way too tired to try and process that, so I left it for Y and Z to answer. I picked my hero and the game was about to start. But X still hadn't picked a hero, and was asking once again which hero to pick. I had no idea which heroes they said they had, and DotA2 only lets you see the last 5 lines of chat. I was about to ask what X's options were when the following thought process went through my head: after you tell X which hero to pick, they're going to ask you which lane to go to, and what items to buy (I really question whether anyone read my blog posts at all). I honestly could not be bothered with all that during that particular game, so I stayed silent thinking X would just pick a hero at random and do a Matti.

Instead, X raged at us for being really unhelpful, tried unsuccessfully to ask the other team (I discovered later that you can't talk to the other team at the hero selection screen) and then rage quit the game. I guess I should have known agreeing to play with X meant agreeing to answer those kinds of questions, but I think if I had tried to play without X, then they would have gotten angry at me anyway for declining the party invite without a good reason, and playing anyway. So it was a lose-lose situation.

Then there were the games yesterday. I tried to answer as many questions as I could to avoid a repeat of the previous game. In our second game, Y tells X to buy the courier, but X has no money left. T ends up buying the courier, and I say to X (who had Lich/Plague Rider) that next time it's better for Lich to buy the courier (I should have explained that it's because Lich is a strong laning hero due to his extinguish and nova spam, and so he doesn't really need regen items as much as other heroes, but I didn't). Then we got into an argument about whether it is worth buying the courier at the start of the game (X's argument was that it does not help you last hit better, or spend more time in the lane. I argued that it does help you spend more time in the lane because you can ship yourself items instead of walking back to the fountain to get them, but I guess since X was dying so much at the start of that game, it probably wasn't worth getting a courier for X, since dying gives you a free trip back to the fountain anyway! Not that you have any gold left to spend, but that didn't seem to be a factor).

X then said I was a bad friend, and if I wanted a courier, I should stop being a cheap ass and buy one myself. As I described above, this was starting to become a sore point for me. In previous games with X, either Y or I purchased the courier, and in a couple of games, I bought the courier, all the wards, and carried the game. Yet I am the cheap ass.

If I tell X what to do, I’m a bad friend. If I don’t tell X what to do, I’m unhelpful. It’s not worth breaking friendships over a game, so in the words of Joshua, the winning move is not to play.