Skip to main content

Gaming is essential

I have written a lot about programming tricks and managing programmers here, but when I talk to people looking to learn programming there's some things I always emphasize to them.  The first of which is that programming is hard.

You're using all of your brain


In a world where nuclear physics and rocketry are discussed to lighten the mood, it should be obvious (but it isn't) that your brain is being pushed to it's limit.  I've mentioned it before, but it bears repeating that there are programmers who have gone crazy.  Your brain simply isn't designed to think this way 100% of the time.

You need to relax


That's why I always talk about finding ways to relax.  I tell programmers who work for me to get away from their computer during lunch.  If they're exhausted, I tell them to go take a nap.  I do it myself sometimes.  It's not a weakness.  Most of what we do is not on a keyboard but in our head, and your head doesn't turn off when you sleep, it defrags.  When you're thinking of other things your brain is exploring areas of memory that you may not realize contain the solution to your problem.  Programmers are working 24/7, so I don't think twice about taking them away from the code during the 8 hours that we've decided to pay them.

So I'm a gamer


I take gaming seriously.  I have a high performance Republic of Gamers Laptop.  My office has 4 4k tvs and an xbox on each.  Even my day-to-day work laptop is designed for gaming.  I find that by making my entertainment as easy to get and as immersive as possible means that I require less of it to relax my mind when I need to.  But there's more to it than that.  Identifying as a gamer tends to mean you're going to be a good programmer in my experience.  It means you're creative, good at puzzles, and unwilling to give up when things get tough.  As an example, Disney just put it's corporate IT into an office that can only be described as a geek paradise.   The walls are covered with Marvel characters painted by actual marvel artists.  The internet may not know it, but I do because I've spent the last few months working in this office.   It's beautiful and I'm not allowed to share pictures sadly.  The point is that these things (gaming, comics, cartoons) have always been a sign of geeks.  It's part of our culture.  To be honest, in an interview I'd put more weight on them than any arbitrary question they answered.

But gaming most of all


Because I know that they have a way to decompress after a hard day.  Because I know that they are interested in the end result of all this programming when things are said and done.  Because I know what a massive impact gaming has had on my life.  Gaming is essential.  There's nothing more important I can suggest to a new programmer than that.  Be a gamer.

Gaming isn't just about video games either.  I have a sad addiction to a MUD; I play MTG, and D&D. I enjoy taking apart source code, creating video game playing software, and even building my own games.  But the truth is that the same things that drive me to game drive me to do other things, like building custom electronics around my home, and experimenting with the latest languages and libraries.

It's about problem solving


Because, as I've emphasized in my last few posts about interviewing programmers, the most important skill for any programmer, regardless of their platform or level of programming knowledge, is problem solving.  In order to finish a video game, you need the dedication to keep trying, and the ability to figure out the right things to try.  When everything is said and done.  No matter what you code, that skill is used EVERY DAY.  I solve problems.  I program a little, but even when I'm working on my own stuff, most of my time is spent figuring out what went wrong and fixing it.

Comments

  1. I agree. Sometimes when programming, I just want to scream.
    It's good to take a nap/play a game once in a while.

    ReplyDelete
  2. I think that you hit on an important part of any field; to pursue diverse interests and never stagnate. I agree that cetain kinds of gamers can develop the skills you talk of in this article, however some one who focuses their off time on a hobby of any sort would be beneficial for the same reasons. I do not believe gaming offers someyhing unique as a hobby over any other choice.
    Regardless, your article was interesting and an enjoyable read. It certainly brings up some valid points like that of a programmer's 24/7 problem solving tasks.

    ReplyDelete

Post a Comment

Popular posts from this blog

Managing Developers is HARD

I've been a software dev for a long time.  I've also been running my own software company for a few years now.  This is important information because of why I do these things.  I am a sofware developer because I love learning.  I slack off when doing a job that bores me, and software development always has something new to experience which keeps me excited and interested.  Why start a software company then?  That puts me in the role of manager rather than developer.  The truth is simple.  I've worked for a lot of companies, and I don't see any of them doing a great job of managing their software development.  That's not to say none of them have done a good job, but no one out there seems to be doing a great job.

How are they different?
A lot of companies get this part right.  Software developers are different from other employees.  The distinction is important in the same way it's important to acknowledge that an insurance agent is different from a construction…

When Is Software Done?

I have some very exciting news.  A piece of software I've been working on for over 2 years is released to the general public!  This is a little exciting if it were software I'd been working on for some big company.  It's very exciting because it's software I have been working on for my company.  That's right!  My company is ready to start selling software and start making money!

I'm not gonna use this blog post to talk about my company and what it does.  You can read about that in our press release.  Instead, I'm going to talk about the software industry and the concept of done.  Because, as with everything, it's more complicated than it seems.

Software is never really done
Actually that's a misnomer.  Software can really be done.  But done is sort of a quantum state--there and not there at the same time.  First and foremost, anyone can understand that software that works is complete.  If the software's purpose is to process a credit card, if th…

How to identify a skilled programmer during an interview

How does one identify a skilled programmer?  No company that has interviewed me could tell the difference between myself and other programmers they'd interview.  The interview process is truly a game of luck in this industry--on both sides.  Both the programmer and the company are basing their actions entirely on luck.

Companies have come up with numerous methods to attempt to discern a good programmer from a bad one.  The best tricks they have include a series of math problems, algorithms, problem solving technique tests, and even obscure programming questions, some without definitive answers.  As an example: Is there an authoritative source of information on the core principles that define object oriented programming?  I've heard everywhere from 3 to 7.  In a field of research about a synthetic concept, an authoritative answer is almost impossible to obtain.

Programmers were then forced to study to the interview.  Careercup is one of my favorite sites for this.  This almost …