About Ryland Koopus

I am a recent graduate of the University at Buffalo, and am a developer at Algonquin Studios. My hobbies include golfing, paintball, snowboarding, and, of course, coding! I try to learn at least one new thing every day, and that helps me with both my professional and recreational development. I absolutely love coming to work each day, and I think that can be attributed to the people, the culture and overall positive attitude here at Algonquin Studios.

The Importance of Understanding the Big Picture

Many of us work Monday through Friday at breakneck speeds, trying our best to meet deadlines and produce quality code, with the ultimate goal being to deliver great products and services to our clients. For me, the feeling of accomplishment that I get when I complete a large task is one of the most rewarding aspects of software development.

And, while accomplishment is a great feeling, there’s a related phenomenon I’ve struggled with over the course of my 10-month tenure here at Algonquin Studios, and it’s what I like to call “tunnel vision.”

Imagine attempting to paint a twenty-foot wide mural without ever standing more than three inches from your canvas. Since you are so close, you’re able to add extra detail, and maybe even come up with new ideas while you’re working on the small section of the painting. But, what does this painting look like in the end, you might ask? Up close, the individual components of the painting appear beautifully intricate. However, if you step back twenty feet and look at the entire painting, you might realize that you accidentally have half of the people in the scene looking in the wrong direction or perhaps you gave someone two left hands. When you are in this tunnel vision state, you’re so focused on your task that you feel productive and it isn’t until you actually step back and look at the big picture that you realize the glaring mistakes staring you right in the face that will likely end up costing you time and resources.

So enough about painting, what exactly am I getting at here?

If we take this painting example, and apply it to any software development project, there are clear similarities. For example, if you have a large development team working on a project that’s estimated to take several years to complete, it’s easy to sit and simply focus on your task at hand. The issue is that, just like the painter I referenced earlier, your task may appear perfect up close but when you take a step back and look at how it fits into the rest of the system you may realize that things aren’t as peachy as you thought they were.  Maybe you’ve missed an opportunity to collaborate with someone who could’ve given you insight into how to better complete your task.Or perhaps you’ll realize that the extra functionality you implemented (which made sense to you at the time) actually breaks a significant part of the system or will require a significant amount of additional testing. Even something as mundane and simple as changing a database table column name can have a rippling effect throughout the entire system. These things can cost a project time and time is money.

It’s clear that we need a way to recognize when we’re experiencing tunnel vision and find ways to eliminate it.

Here at Algonquin Studios, we might take a quick run up to the seventh floor, just to get our blood pumping a bit. Others simply take a few minutes to sit on a couch and read a book. In the rarest of cases, we’ll watch cat videos on YouTube. Even simple things like these can help clear your mind of distractions and stay focused on the big picture, ultimately improving your productivity and making you a more effective developer.

Do you ever experience tunnel vision? Have you managed to defeat it?  If so, leave me a comment with some of your favorite techniques. It’s certainly an issue that I struggle with on a daily basis and I’m sure that I’m not alone.

Advertisements

My Journey to Android After Five Years of iOS Loyalty

I’ve been an avid Apple supporter for years, and have owned iPhones in various incarnations since their launch on June 29th, 2007 (Yes, I was one of the unfortunate / foolish folks who shelled out $599 for the shiny new handset).  Over the past five years I have watched both iOS and Android grow, but my focus has always remained on Apple.  When I was due for a phone upgrade about two years ago I naturally gravitated towards a new iPhone 4 and likely would have purchased it solely based on my belief in Apple, regardless of the phones new features.

Until recently, my experience with Android devices had been quite limited.  What initially turned me off to them was that, despite having great specifications on paper, they couldn’t seem to accomplish even the most basic tasks smoothly. Things like scrolling through a list of contacts or zooming in on a web page made it seem like the hardware and software were fighting with each other.  The unification of software and hardware is an area that Apple has always prioritized, especially with its iOS platform.

I became eligible for a phone upgrade a short while ago and, up until quite recently, had decided that I was going to wait for the next iPhone.  However, after some coercing by some of my Android-loving coworkers, I decided to do something pretty scary – ditch my iPhone in favor of a device powered by an operating system that I’d been so against for so long.  I was hesitant to say the least, but after doing some research and weighing the pros and cons, I ultimately made the switch.  I ended up purchasing a Samsung Galaxy S3, and can say that after using this phone for about ten days, I don’t regret switching one bit and really couldn’t be happier with my decision.

One major plus Android has going for them, from a developer’s standpoint, is that you can develop Android apps for free.  Apple charges a yearly $99 subscription fee to be a part of their iOS Developer Program, and while that may not be a lot of money if you’re an established company, it’s a lot to ask from someone who just wants to be able to develop for mobile devices as a hobby, with the hopes of one day maybe submitting an app for sale.

Recently, Google has begun to roll out their new operating system –Android 4.1 Jelly Bean.  One of the core features of Jelly Bean, known as “Project Butter”, is meant to help the operating system run as smoothly as possible.  Using technologies like triple buffering and vertical sync, the OS is able to run silky smooth, which really hits Apple in an area that iOS has absolutely dominated until recently.

The future is looking very bright for Google, as they’ve resolved the vast majority of the issues that I’ve had with their Android platform and, in my opinion, have caught up to, or surpassed, iOS in nearly every way.  While the iPhone UI is still slightly more polished, the differences are becoming less and less significant and are easily outweighed by the additional capabilities, raw performance, and overall sense of freedom that the Android platform provides.  I can safely say that iOS will always hold a special place in my heart, but it definitely won’t be occupying a special place in my pocket anytime soon.