When I was a kid, I used to love coming home from school and messing around with my computer. I remember being 12 years old sitting in front of an IBM PS/2 model 25. 640k of ram was all I would need to explore the machine and learn as much as I could about how it worked. There were much more advanced 286 and 386 machines available at the time, but I didn’t care.
DOS and BASIC were my friends. With these two tools, I was able to tell the machine anything I wanted it to do and watch the instructions be executed in the exact same manner each time. With each run and iteration I would tweak and adjust the program to do what I wanted, fixing problems as I went along. Some bugs actually became features as I designed an e-comic called “Barfield” (a garfield parody) with my friends. The comic was pretty twisted at times, but it wasn’t always on purpose. At one point, a yellow fill call ended up escaping the line drawn object it was supposed to be contained in. This became part of the plot. I won’t explain exactly how this incorporated into the story, but think of a group of almost teenage boys laughing at a bunch of yellow filling a living room. I’m sure you’ll follow right along.
Bliss! I could compile down the comic with quickbasic into an exe and share it with my friends on a floppy. Even those that had not been involved in the development of the comic could see it in all of its glory. We shared it with everyone. We had become artists and writers. Nothing could stop our comic from conquering the world. It turns out that this was also a great way to spread the then prevalent boot sector viruses AntiCMOS, and stoned.
As the years went on, programming in my childhood tended to be fun, engaging, a great learning experience, and often times very social. But then something changed.
While in my senior year of high school I began working as a professional software developer. Developing business software in Visual Basic and C++, I started to understand programming wasn’t always all about fun and games, but was actually hard work. Gathering and understanding business requirements, translating user needs and wants into code, bugs actually meaning something more than an occasional yellow filling of the screen. Someone was counting on you to make sure that their vision was properly executed, tracked, and catalogued.
Though I had interaction with numerous employees throughout the day and had co-workers on and off throughout my experience at that first programming job, the vast majority of my time involved sitting alone in an office staring at code on a screen. Following that first experience, I worked a few other jobs, and I ran my own consulting business for a while. Sometimes I would get lucky and have a peer programming or software architecture project where I was constantly interacting with other programmers, but the vast majority of my time was spent in isolation. Just myself and the machine.
Fast forward to InWorldz. What an awesome project for a programmer. 3d work, lots of important data, huge performance challenges, internet scale architecture. I get to meet tons of interesting people, I get to try to help them build out their dreams in realtime. I get to see vast flowing landscapes, amazing artwork, and avatars of all shapes and sizes. When I’m able to actually log into the world that I helped to build, I am always greeted by friendly people doing some fascinating things.
But there is a downside. I work from my home office, and I get even less real life interaction with the people I work with, admire, and care very deeply about. InWorldz employees, owners, and contractors are spread literally throughout the world. We’ve had to send equipment to Guatemala, I try to travel to Nova Scotia once a year to see my right hand man, and I’ve made plenty of trips to Texas.
I know many programmers in the same boat as me, so what do I do when I start to feel disconnected from the world when most of my time is spent staring at a screen?
I log into InWorldz and see what our customers are up to
This is one of my favorite activities when I’m feeling isolated and disconnected. It gives me a sense of purpose and shows me the value of my work and why I am working so hard. Seeing and hearing about people enjoying themselves and being productive due to your efforts reconnects you to the people you’re doing the work for.
I start or get involved in some twitter conversations
There are plenty of people on twitter that will join into a conversation about pretty much anything. You can find everything from geek talk to food. I often try to spark up a day or two worth of food picture postings. The food some people make at home looks like something from a gourmet restaurant! The world is chock-full of amazing, and sometimes it is the simplest things that strike the right chord.
I got a pet
My cat Chester reminds me daily that life is not all about code and bugs. Sometimes life needs to be about being silly, sleeping in, and getting some attention from the people that are close to you.
I sit on Skype or debug in-world with my co-workers
While not a substitute for working alongside people, an open group Skype audio session can really make your home office feel like a real office with all the banter and distraction you can handle for a while. Because InWorldz is a virtual world I can also join my compadres in 3d while we all attempt to break things and reproduce problems. Finding some bumper cars on the beta grid and crashing into each other is a great way to remember we’re all human regardless of distance and lack of physical presence.
I go to a coffee shop and work
Sometimes it is enough to just be around people and have some conversation and good coffee in the background. If you need to get out, a coffee shop where they’ll let you sit and work while ordering drinks all day may be the ticket.
I hope this post can help others in the same situation I am. Don’t forget to reconnect with the world when you need it. Remember that you are not and will never be an island. Reconnect.