I never thought I'd say this, but I guess I'm finally getting to that point. This industry is so ridiculously cut throat and unforgiving, that it's amazing that people are so willing to tolerate it. That's my opinion of both gaming and non-gaming companies alike. I don't expect everything to be perfect, of course, and certain things can apply to nearly any industry. So, if you would, please sit back and I'll tell you about my experience in this industry so far.
1. Gaining Experience
We're all familiar with the most common catch 22, right? No experience == no job, and no job == no experience. When I came back to Washington, that was my situation. Being in dumb 'ol Indiana for 16 years was a real set back; no IT opportunities, let alone any way to gain any real experience. So, I took what I could get. I was once told that any experience is good experience, and that if I started off in QA, then I could work my way into the dev side. Of course, that didn't pan out so well. With all of these manual QA positions on my resume, I was seen as a tester. A tester who was probably skilled at it because I obviously had so much experience. I quickly learned that too much QA experience is not so great when looking to break into something coding related, which I'll get to in a moment.
2. What Counts as Experience
Another thing I learned is that virtually nothing that's done outside of the professional world counts as experience. It never mattered that I wrote a complex engine, or collaboratively worked on and devised one of the most complex Windows emulator programs ever to exist. It was all about "what have you done in company X, or what have you done that generated capital?". Not trying to gloat, but for years, I have people telling me how they are jealous of my coding skills, and wish they could reach my level. They also say that they are surprised that I cannot get a dev position anywhere and that they wish they could hire me because they have seen what I'm capable of. Tbh, I don't believe I'm all that great, but to someone else, I am; based on results. I stopped letting this bother me, because I had bigger issues to worry about. See the next paragraph.
3. Experience == Skill?
After my resume began to get bloated with QA positions, as stated earlier, I'm seen as an average manual tester with no real technical skill beyond that. So based on that, I was continuously misplaced in positions that did not fit my skill set. I did not have the mindset of a standard issue QA person; never did, never will. In fact, I can honestly say that I wasn't really that great at it either. It sounds easy, but from a mental standpoint, it was actually harder for me considering the way my brain works (keep in mind that these were mostly game testing gigs). Even though I began to improve, it was never really enough. Many of my co-workers could tell that I was better suited for dev, and tried to encourage me, but of course I still crashed and burned in the end. Game testing was among the worst things I've ever done in the industry, and I have a deep distaste for it to this day, although it has to be done. Of course, I blame my lack of maturity in certain situations and in many situations, I have no one to blame but myself.
4. Keeping Up
Every job and company is different, and tend to have different expectations in terms of performance, workload, etc. My 2nd experience at Microsoft was undoubtedly the worst, although the 1st one was considerably better. Back when I did UI testing for 360's dashboard, everyone was monitored for performance. If you could not meet a specific quota within a certain amount of time, they were already looking for your replacement, and often with little notice. I could tell that I was not going to make it on that 2nd position, so I saw it coming. Even when doing my very best to focus and get the job done, I could never get X number of test cases done within a specific time period, and as a result, I was essentially "less privileged" and got more dirt. Once I got literally yelled at because I got confused. If I hadn't been able to control myself, I'd have probably yelled right back, then stormed out of the office because I was so pissed.
This wasn't always the case. When I worked at a company called Bsquare, where I was an automation engineer for Blackberry devices, it was very smooth and laid back. I was able to get all of my work done on time, and never had any issues with management, nor was I constantly being badgered about performance compared to others. The best part was that there was no competitive nature. It was undoubtedly the best company and best position I ever had the pleasure of working in. But when RIM (Research In Motion) was sold off, the company took a different direction, and as a result, I was laid off and my contract was terminated.
As far as performance goes, sometimes it was my own inability to stay focused on non-coding tasks, so I can blame myself for this pattern in some places, notably my first two positions in the industry. The 2nd two were a bit more ridiculous. But enough about that. These are things that I probably could have had more control over in one way or another, if I had been a bit more mature. The rest I'm about to mention is out of my hand(s) for the most part.
5. Pay and Worth
Eventually, I did work my way up to the ranks of SDET. It took a long time, but I had finally broken out of the manual test loop, which was kinda like Izanagi. I don't know how I did it, or how such an opportunity arose, but it happened and I did it. I was an SDET at Amazon, and it felt great. Not quite the same as Bsquare, but I liked it. Although there was one major problem I had with it, and it was the fact that I was being paid less than others based on GPA in college. Initially, I was being quoted $10k more than what I was making, then they dropped it down with that difference, but I still accepted it because I wanted so desperately for a job that involves coding. It was bad enough that I wasn't making what other SDETs were making for the same work based on that, as if my skills didn't matter...
6. Cheapest Person Possible
This one kinda obvious. Employers want to have the best employees for the cheapest payroll. Kinda like above, they want the most qualified people, but will try to pay you less than what you're really worth in many cases. The biggest rip-off IMO is where they say they want a junior level candidate, but instead hire the most senior person that they can find who's willing to work for less.
7. References
Sometimes, it can make or break you. This is the story of how it broke me in the most BSed way possible. I had an interview with Microsoft as an SDET for WP8. I passed the interview, and even the dreaded whiteboard with flying colours, all on my first shot. I would have gotten the job, if it weren't for one thing: a reference. They wanted a reference for that ONE time where I tested some games on a Windows Phone 7 years ago. I tried to tell them that this was only once, and at an ON CALL job with a very high turn over rate, so there was no way I could provide a valid reference because not only does that test lead not work there anymore, I never knew his name either. In fact, none of the leads I worked with were there anymore (at least, none that I knew). I kept trying to tell them this, but unfortunately (not trying to be racist, but) I was dealing with someone from India, and we had a communication breakdown because of the language barrier. So, they assumed I was bluffing about it, and refused to give me the job. Nevermind that I've proven to them that I can dev for the WP8, they just wanted that measly testing reference of a phone I tested ONE friggin time!
8. The Interviewing Process
Now this is what really bothers me. The one thing I hate most is actually getting a job.
Most of my angst involves the whiteboard. Regardless of whether I like or hate it, it's been a big obstacle. When I'm asked to write some mundane algorithm on a board, I know that this is either going to make me or break me; one mistake, and kiss your chances goodbye. What I learned is that even if I do make it to the interview, if I make one little mistake on that whiteboard, then I will not get the job. And what I mean by mistake is not fulfilling the algorithm to the interviewer's satisfaction level. This has happened multiple times, where I wrote a perfectly good function, but because they didn't like they way I did it specifically, they chose not to hire me. The only times I've ever gotten a job (or should I say, passed the interview) is where I completed the coding problems perfectly, and on the first try I might add (having to fix anything will cost me the job E-V-E-R-Y time)! I'll save my last whiteboard story for last.
Another issue I have is when an employer suddenly expects greater qualifications, or doesn't tell you about it until AFTER the interview when you didn't meet their hidden requirements. This has happened multiple times, and one of them was Microsoft. If they wanted someone with experience in X, they should have said so before! And then they're surprised that I don't meet their requirements. Once, I was told to write X in Java using X framework, one that I was not familiar with, so they moved on, and they eventually asked me to do something else I was not familiar with, or wasn't told about on the job description. So then he was like "Okay, I've got nothing else. Do you have any questions for me?" I wanted to say "No, because I already know I'm not getting the job", but I didn't want to be rude either. I mean really, they didn't even offer to pay me more! Microsoft pulled a similar stunt by asking for a lead SDET, but wanting to pay this person $36/hr. This alone was insulting (L. Spiro was appalled also), but I tried for it anyway. So, after the interview, I was told by my recruiter that I didn't get the job because I was not someone with lead developer experience, and that they have been very choosy with their candidates. Like I said before, they should have said that in the job description (not even the recruiter knew) and if they seriously want a lead dev, $36/hr is a VERY weak salary to offer, but that's Microsoft for ya. They always pay people less than what they could make elsewhere (in my experience at least).
Once, I essentially was insulted by the hiring manager of Sirius, seriously (pun intended). Essentially calling my life's work crap, he said that I have no programming experience or skill. Fortunately, there was a wall between me and this hiring manager, and my recruiter was that wall, preventing me from telling him off. If I wasn't like SoTL, I'd have cursed him out too. My recruiter wanted to tell him off also, but instead she respectively withdrew from this opportunity.
There's more bogus stuff about interviewing I could say, but I want to wrap this up with one more; intentional lack of feedback. This has also happened more than once. One ended up in going home with a broken iPhone (which set me back $75 and much personal dev time). This is when I interviewed at Epic. I won't get detailed about this one because of the NDA, but it's kinda strange how they seemed to want to hire me and admired my skills so much, and then refuse me while refusing to state why. The broken iPhone was my only issue (it fell out of my backpack), but the last one was the interview that caused me to snap. I was interviewing for a company with an outdoors theme, and my recruiter could tell that I wasn't feeling too sure about the interview. He told me that this company often is very accepting of those who aren't the most senior level of devs/SDETs. So I take his word for it and do my best. I'm given a white board problem, one that I'm told that I will not finish in time, so just do my best. So I choose a totally new approach to the whiteboard instead of blindly jumping in. As a result, I got further than most people do on average (that's what I was told) and that I did rather well. In fact, the lead SDET/dev guy told me that he hopes I get hired (secretly, of course). The interview had two parts, and the whiteboard was with a totally different set of people, so I have no idea what I did right/wrong on the other end. Ultimately, they decided not to hire me, and also refused to state why. This is irritating because then I can't improve myself for the next interview.
9. Continuous Long Term Unemployment.
And finally, I realized that as a contractor, finding the next gig can take more time than I can handle. Getting a permanent position is really hard, if you're not senior level. So my chances are best with a recruiter. A given contract is never guaranteed to last as long as I'm quoted, and so far, my contract ALWAYS ends earlier, then I have to go months before I can find a new job. Because of this, my employment history is a bit fragmented, and it's hard to fill in the gaps, since personal experience outside of work doesn't really count to employers. During my biggest gap, I ended up being homeless for 2 years (not living under a bridge, but in transitional housing because finding consistent work was really hard to do; and believe me, I tried applying for blue collar jobs too).
My last job ended in September of last year. 4 months and 14 interviews later, still no job. This isn't to say that it's all their fault because I do examine myself and I'm aware that I'm not always the best person for the job. This is really getting old, and I'm really getting tired of this crap. Quite frankly, some of my blue collar jobs have treated me better than the IT industry has, and my last Microsoft experience has literally been a white collar sweatshop because the office I was in had no AC during the hotter seasons, except for one small AC vent that was located by the lead's desk.
TL;DR, the IT industry has been very brutal and unforgiving. Life isn't fair, but this is just ridiculous. Tbh, I never want to work for a game company ever again (unless I'm running it of course), and I'm beginning to think the same thing about non game companies also. I'm also beginning to think that it isn't worth all of this trouble. Seriously, how do you all put up with this? This isn't meant to be a sob story, I'm just running out of ideas, and patience. No, scratch that, I'm fresh out of patience. Pardon my French, but
A peaceful life in the mountains of western Hungary is sounding nicer and nicer by the day.
Shogun.