My name is Kenneth Kuan, the tech guy at Penny Arcade, and my decision to leave is why this position opened. Since the posting for my replacement went up, I've seen a lot of speculation about the position and what working for PA might be like. I figure it might help to hear the reality of my experience there. These are my own unfiltered thoughts; I'll be leaving the company in three months, so I'm not exactly worried about getting fired for what I say here.
First things first - you may wonder, how could this job possibly be so good if I'm leaving it behind? No, I did not burn out. No, the conditions are not awful. I am leaving because I have always wanted to teach. Doing so comfortably requires that before then, I need to put away a lot of money to support myself when I’m getting paid a truly ludicrous wage. It is true that I am paid below market value, but not so significantly as folks on the internet assume. I live quite comfortably on this salary, and while it’s less than I could make elsewhere, it’s not out of the bounds of reasonable expectation. But I want to accelerate my plans for teaching. So here we are. I love this company, but I have goals that won't be fulfilled by working there, so it's time to move on.
To give you context about how the position is currently filled, I’d like to tell you about myself. I am 27 years old. I graduated from the University of Washington with a BS in Computer Science. I worked immediately after at Amazon on the AmazonFresh team for 3 years, mostly on the customer-facing website. My focus was on building the areas of the site with heavy User Experience and User Interface aspects. We used Java on Struts, JSPs, and MySQL.
At the same time, I developed a relationship with Penny Arcade (the company) as well as Penny Arcade (the people). By 2011, I'd been an Enforcer (volunteer for PAX) for 6 years. I took on management of the Console Freeplay department in my second year, something I continue to be heavily involved in. Because of this, I had a fair bit more exposure to the office and PA staff than your average fellow. It was then that an opportunity opened up to fill their technical needs on a short notice, and given the immense respect I'd developed for everyone in the office, I jumped on it without hesitating. I took a moderate pay cut and loss of half of my stock vest by doing so, but I had no reservations. This job meant security, a huge opportunity to go out of my comfort zone and learn, and countless other 'soft' benefits I couldn't think of. And I got to work with people I truly enjoyed.
I want to be clear here. When I started, I was a fairly well trained software/web developer, and I could handle general IT about as well as anyone else with a CS degree. I had fairly limited exposure to systems administration; anyone who knew how to type 'apt-get install apache2' knew about as much as I did. If I had had to apply for the job with the presently listed requirements, I might not have gotten the offer. But I had a very strong idea of my limitations and what I would need to do to get the job done in spite of them.
So what does the job actually require? If you want to do *well*, the job posting is absolutely accurate. I helped write most of the technical requirements. Because I've been learning as I go, I've had to constantly triage out tasks and rely heavily on outside help - Rackspace's Managed Cloud support is an incredible (albeit costly) resource, @Icyliquid
has saved my ass more times than I can count, and the support of the shadowy PAX Engineering team, made up of Enforcers who are also IT or development professionals that I informally manage, has also been a huge boon. It seems like a herculean task for just one person. I'll run down the four primary hats and describe things:
* Web Developer: pretty straightforward. We've got lots of sites, they need building and maintaining. Erika is actually better than I am with HTML and CSS (seriously she is some kind of goddess) and a fair hand with PHP, so I largely get called in for weird special needs or out of the box projects. We use ExpressionEngine (PHP) for practically all our properties, with Apache (nginx in one weird instance) and MySQL under the hood.
* Software Developer: weird random projects that aren't web development. Maybe you need a warehouse management system, or an auction checkout system, or I don't know what. Pick your favorite language, write clean, maintainable code (for your own sake), and you're pretty much set here. You own the code base. You are responsible for every line of it, but that also means you have full control. Nothing I leave behind has to be set in stone. Of course, part of development is knowing when to reuse - you might not necessarily implement every tool the company needs from scratch. You might instead identify off-the-shelf products and do the work of evaluating and integrating them.
* Sysadmin: the hardest part (because I'm not one). All our servers are hosted on Rackspace Managed Cloud. We have a bunch of Apache servers sitting behind Varnish caches sitting behind a Cloud Load Balancer. I think there's a MySQL DB or two somewhere in the back. That I can't quite keep up with the job required here is evident any time we get a particularly large spike. At this point I have a pretty decent idea how to configure Apache, I mostly know how Varnish works, and I'm really good at bugging @Icyliquid
and/or filing tickets with Rackspace support. Someone with better experience here could surely fine-tune our setup to get more out of less. Which, honestly, is kind of a mantra of software development.
* General IT: yes, everyone at Penny Arcade is fairly technically savvy. I'm pretty sure every one of them are the respective go-to IT professional for their families. Sometimes weirder stuff comes up - you need an FTP dump set up for clients, a local fileshare, "the thing isn't working and I don't know why". Whatever. This is honestly the smallest drain on my time by far, but it is part of the job and there's no one else to foist it onto. If you don't know how to fix it, you're the one who gets to figure out how.
So four hats, right? Why not four tech staff? The reality is that one highly motivated, highly skilled person can handle all of this. You do not need to be constantly working IT, or constantly managing servers or writing code. There’s a lot there, yes. This is a job that will keep one person fairly busy. Two people might find themselves spending a lot of time on /r/aww. Running as lean as we do, we have become a group of people incredibly effective at accomplishing huge tasks with limited resources.
I like this bullet point thing.
* Hours, on-call, etc: work demands don't tend to be especially consistent. Depending on the project load, I might spend 8 hours at the office and call it good, or I might stay til 10-midnight consistently for a couple weeks. The period where we launched Child's Play, Trenches, and PAR? I think? all within months of each other was pretty rough. As far as on-call is concerned, you are the only one on call. Prepare to have a laptop and some way of connecting to the internet with you at all times. Want to go on a hike somewhere there's no reception? Sorry, you can't. It's one of the hard realities of this job, and you should be aware of it going in. On the other hand, for better or worse, the likelihood you'll be paged is directly proportionate to your ability to write reliable code. You're not responsible for anyone else's messes. If something does go wrong, you are fully expected to jump. Fast. No matter what time it is or where you are. Generally speaking, you are also expected to be in fairly regular contact - easily reachable at normal waking hours, regularly checking email in case something urgent comes in. If someone needs you on the weekend, you’re available on the weekend. You will quickly become frustrated that other vendors don’t keep the same weekend hours that you do. Of course, it’s just as likely a coworker will message you to go to the movies, or to test out a new game they made. Everyone takes your time very seriously, and you will never get interrupted for frivolous issues.
* Life at PA: guys, I’m going to level with you. The ping pong table is *not* a benefit. I’m at the bottom of the goddamn ladder and I’m reminded every day I walk to my desk. Stop bringing it up. More seriously - everyone works as hard or harder than this position requires. Every job is actually four hats, but it just happens that these particular hats are very distinct and definable. Some people have families and go home at 5. Some people don’t, and stay well into the night because that’s what they’ve chosen to do. Even when I go home, I’m usually working at some point. I keep my laptop next to my bed so I can do a little work when I wake up. But I have never, ever felt uncomfortable, abused, or taken advantage of. People seem to disregard this notion of a “work family”, and it is certainly abused in other contexts, but it is really really real here. Folks at PA take care of each other. Some of them are my closest friends. I popped a lung and spent a week in the hospital, right before a scheduled launch. They pushed out the launch, came and visited me in the hospital, brought me delicious Asian snacks and lent me a Vita to help pass the time. Last December, I was dealing with a lot of unrelated anxiety and depression issues. It screwed over the project I was working on at the time, but I was given time off, no questions asked. Actually, no - question asked: “What can we do to help? Can we send you anywhere?” A person hired at Penny Arcade is a huge investment, financially and emotionally. We spend almost all our waking hours around each other, so we better like and care for each other. You can’t just hire someone you expect to burn out in a year or two. I play Warmachine every Monday with coworkers. When I’m not totally raging out, I play UMvC3 with Robert and Kiko every day at 4:30. We have family lunch every Friday. A yearly weeklong company retreat. Is all that worth the lower salary and longer hours? That’s up to you.
There is this notion that work/life balance is some kind of sacred goal. I’m sorry, but it’s ludicrous. That’s like saying everyone would be fulfilled by getting married and having 2.5 kids. If you want to work 40 hours and never think about your job after 5pm, great! Find something that does that for you. If you want to work 80 or more hours at something you truly enjoy, in fact you don’t want to stop working ever because you love it so much, shouldn’t that be okay too? Shouldn’t we be so lucky as to have a job that we are so invested in? We are very honest about what working at Penny Arcade requires. No one here has been scammed into working as hard as they do, and the implication that we’re all blind fools with low self esteem for being here is honestly insulting. If you take a job here, you know what you’re getting into, and you’ve decided it’s worth it to you. There won’t be any taking advantage of starry-eyed young twenty-somethings. You need to have a very realistic idea of what this job requires, or you will fail. And we’re not interested in hiring anyone just to set them up for failure.
This is all I can think of to cover, which is already quite a bit. I hope it helps you understand what life is really like as a unicorn.