As always I think too much but it seems like if I don't think about these things time will just pass and I'll look up at 60−65 thinking why didn't I do something about this sooner? Of course the problem is knowing what to do and actually doing it.
Lately I've been wondering if I'm in the right career. I used to enjoy programming. I still do sometimes but for some reason I've developed an aversion to anything that is going to take too much time alone, especially overtime as I feel like that is what has gotten me to be 39, lonely and single.
To give a specific example, I'm a game programmer and currently the hot topic in game programming is what are called shaders. The simple explaination of a shader is that computer and video game images are made from pixels (dots on the screen). Shaders allow the programmer to do complex math fast enough to generate those pixels. In the past, without shaders, we couldn't do very complex math or else the game would be too slow. The complex math lets is make prettier images fast enough for games.
The issue is, complex math is hard, at least for me, and I have little interest in learning it for various reasons. The biggest is it will take too much time, more time than I'm willing to give it. I'm talking like it feels like in order to keep up I'll have to make this 90% of my life. All my reading in and outside of work will have to be the latest math and shader techniques. Every week new techniques and ideas are posted. Ideas that while not over my head at a basic level requires some seriously detailed thinking. Ever heard of a "vorticity" or "neumann boundry condition"? How about a "jacobi relaxation" a "poisson" or a "laplacian". Neither have I.
On top of that I mostly find the whole topic a waste of time. As a game programmer, what do I care how a model gets displayed. In an idea world, that would be up to the artists making the art. If they give me a cel−shaded model it would get displayed cel−shaded, if they give me a normal−mapped model it would get displayed normal−mapped, if they give me a typical PS2 like textured polygon model that would get displayed. As a *GAME* programmer I don't care about how it's displayed I only care that it is displayed and possible some of the management around getting it displayed. Working about shading is like a movie director worrying about the type of electric motor in their camera.
That's not to say I think it's unimportant, it's important to have the a fast graphics engine and a good system to display the best images possible but at this point in the game industry, that's no longer really making games, that's making engines. I'm sure at one point in the movie industry making the cameras was considered part of the industry. Now making cameras is something camera companies do; making movies is something movie companies do. The same should now be true of games and graphic engines IMO and I want to be on the game side, not the engine side.
Even more evidence of that is DOOM3 just coming out and most of the reviews are that it's pretty but it's also boring, repetative, 10yr old game play. In other words, concentrating on shaders is not where game developers should be concentrating on. Some engine guys should go make the best engine they know how and then let like camera manufactures, sell those things to artists to make beautiful things with.
But it's even more than that. Especially here in Japan where it's been made clear to me that being a game programmer is something for people under 35 years old, learning this shader stuff is not going to help my life. In fact it's going to hurt it. The more obscure stuff I know, the more I'll be asked to use it but if you look at the way the world works, those that know this stuff are controlled by those that don't so basically the more I learn the more of a slave I become. WTF would anybody want to do that? Most of us do it because we love it. I certainly did in high school and through my 20s. It was only in my mid 30s did I start to realize that the more esoteric stuff I learned the less choices I would have in my career and life.
That thought or idea has sucked most of the enjoyment out of this stuff for me; knowing that learning this stuff isolates me from others and forces my career down a path I don't want as the guy in the basement doing stuff no one else can do and making the boss rich instead of myself.
And so, the question is, what to do about it? Do I refuse to learn this stuff? Do I push to be moved into different kinds of more generic responsibilities? Should I try to design more, manage more, do less programming more overseeing? Should I switch careers and do something else entirely? I once asked a friend why he kept programming. He said "momentum". A very true but not a good answer.
I've complained before, maybe not on my website, about how low salaries for game developers are in Japan. Where as the average game programmer in the west supposedly makes $106K a year according to Game Developer Magazine, the average in Japan is more like $45k. Yes, you heard that right. The programmers making your favorite games in Japan are most likely making around $45K a year and living in an economy where most products cost 50−100% more than they do in the states. Sony and Sega for example have official limits on salaries of non−management positions set by the personel department of $50k! WTF! Money isn't everything but it is a means to most things. Want to fly home to see my family? I need money. Want to get that new graphics card so I can learn about shaders? I need money.
So that brings up another question. Should I switch industries if I want to stay in Japan? For example I have programmer friends in the financial industry. One used to work at Sega of Japan. Most of them make around double what I make and they have very little overtime as well. On the other hand, most of them don't appear to really enjoy what they do. It's just a job. While I feel that's not true of my job, making games is pretty cool, as I mentioned above it's losing its allure.
I think one of the main problems is that I haven't really been on a team in 4 years. When I was at my last job in the states I worked with 2 of my cloest and best friends and I was friends with many of the rest of the staff. We worked hard to get the game out and it was fun to be part of a team. Since then though I've been to Japanese school for 2 years, then at Sega but not on a team and now my current job even though it's been 8 months since I started nothing has really started yet so there is no team feeling or a feeling of being part of anything yet.
I'd like to change that and that would certainly help my current attitude but it wouldn't really change the reality of where it all leads.
There's also the issue of my Japanese. While it's good enough to talk all day with friends in Japanese it's not good enough for work. I get by but how do you discuss a "jacobi relaxation" in Japanese? It's not even the super hard stuff like that that's the problem. It's actually relatively normal stuff but not used in typical conversation. Stuff like you'd hear on a discovery channel show. "This car accelerates from 0 to 60 miles per hour in 4.5 seconds but it's back heavy so if you accelerate too fast you'll pop a wheelie and the front wheels will leave the ground. It has a friction coefficient of 3.1 so if you go faster than 30 mph and turn harder than 22.3 degrees the back end will skid out and spin around. When turning the front left part of the car leans in 4 degrees front and left due to the special racing suspension system which also shapes the car like a spoiler into the window increasing traction" I don't know how to say stuff like that easily in Japanese. While one on one, probably with some paper diagrams I might be able to get those ideas across, in a meeting about game design I'd be lost.
I just started Japanese lessons again last week, hopefully to fix this problem. The point is though, without being actually fluent it's really hard to be a part of the company. At an American company I would naturally and without trying know what was going on around me, what was happening with people around me, what they were working on, what products were being worked on and what was about to ship etc. I could contribute to all of them in some way or another. I could browse the company news to see what was going on, read the company BBS, look up company policies on the company database etc. At a Japanese company, so far I can do none of that. I'm like a little island of gaijin surrounded by a sea of Japanese that I don't really understand. It's very isolating and I wonder how long it will take to get better if it ever will. It's not about the Japanese not being friendly, it's about me not just naturally being a part of it because of the language barrier.
Things to think about when coming to Japan.
The majority of my non−Japanese friends work at English speaking companies (financial companies) or they work in mostly English speaking departments within Japanese companies. Maybe I'm ignoring a few of them but at least it seems like most of them are not in my position of being the only gaijin in the department. Of course it doesn't help that my internal setting is set to introvert so that as much as I might want to be a part of everything I don't want to bother everyone which is what would happen with my poor Japanese. To put it in concrete terms I get on average less than 20 minutes a day of human interaction at work here in Japan, that includes lunch which doesn't happen at my company since no one is in the office until 1:30 − 2pm.