Blog

New Workspace Setup

As you may recall, I wrote a post about Proximity Programming about two months back.  Since then we’ve had a few changes in our lineup, and as such have made a few changes to our workspaces in an attempt to be even more collaborative.  I thought I’d take a chance to give you a view of our current workspace for Robin, David, and myself.  As David sits in the center, I believe this now qualifies as a Proximity Creation workspace!

Workspace


Posted By: Glide Interactive


Grokking Innovation

Glide Interactive announces Innovator of the Month award

Today marks the beginning of some new-newness inside of Glide Interactive; and something that I’m personally pretty excited for: Innovator of the Month. It’s a challenge issued to each of us to get outside the box; figure out a better way to reach our goals. Iterate on these ideas and improve the process for everyone. Find new technologies, try them out, fail on them and succeed with them. It’s hard to actually commit to something and just try it. More importantly, it’s also difficult to gauge any form of success, knowledge, or new perspective from just trying alone.

    in·no·va·tion/ˌinəˈvāSHən/

    Noun:
    1. The action or process of innovating.
    2. A new method, idea, product, etc: “technological innovations”.
    Synonyms:
    novelty – newness

So I guess that’s the reason that we’re awarding a unique human ability to extend yourselves to the unknown(or, loosely known as the case might be) with recognition from within Glide. It’s commendable and it makes us stop to think, not only about our own abilities but, about the abilities of our co-workers and how important it is for each of us that they continued learning and caring, continued to refuse “the way it is” and find a better method. It helps us reflect that it isn’t about development, design, sales or project ownership — it’s about all of us, doing each of those things not just to the best of our abilities but to the best of the anyone’s ability. It’s about finding that project details get lost in the shuffle or that we can get great clients to trust our decisions; then it’s about fixing those problems or creating that trust all of the time. Sometimes, likely more often then not, we won’t see or fix those problems, but other times we’ll find that there’s money to be made, time to be saved, impressions that can be felt and attitudes that can be improved. We’ll find those things to be stupidly obvious or the solution incredibly easy; but we won’t grow without committing to a solution. Again, trying is the hard part, but until we address the issue, create a solution, determine possible outcomes and execute in a real environment; things that are stupidly obvious will continue to be, and solutions that are incredibly easy will never be implemented. We’re all open to creating a better thing, it comes down to who’s going to put in the work to make everyone comfortable and execute idea, that uncomfortable place where you might fail in front of everybody, or that you might have to put this innovation ahead of personal pursuits. That’s why it’s hard, that’s why we’re awarding you, that’s why Glide can be a greater company than anyone can imagine today.

We all come to Glide with game faces on, not so that we can shoulder through all these things in our path, but so we can design a more glorious path for the future by pushing innovation today. I’m proud to say I can see some really great things happening at Glide, that we’re all starting to turn our attention to each other whenever asked, or when it feels right. Putting the concept that we’re all highly intelligent, capable individuals as our first perception leads to straight liquid awesome: so we can build stronger prototypes faster, so we can build covered code more that’s more maintainable, so we can draft designs that are more unique and creative, so that we can deliver products that generate envy in competitors, and launch applications that touch our user’s lives.

It’s not just about being innovative, it’s about creating innovation. One requires a great deal effort more than the other, and fostering or rewarding the former will, with luck, inspire others to reach just as far.


Posted By: Glide Interactive


Proximity Programming

On my morning commute today I was listening to my favorite podcast, Ruby Rogues, and they were discussing a topic that’s been growing in popularity over the past few years: pair programming.  Many, if not all, of the Rogues have pair programmed at one time or another, and largely had all positive things to say about it.  While pair programming is something the other developers here and I have had interest in at various times, we’ve never really tried to implement it in our workplace.  That being said, none of us particularly like working completely isolated and are all social individuals, so we’ve taken time to make the office a more collaborative place over the past few months.  A few of us now work side by side at a long desk so we can be in close proximity to each other.  Doing so enables us to discuss topics, work together, and aid each other easily.  When thinking about the podcast coming into the office, I came to the conclusion that the tactic some of us use would likely be called “proximity programming”.  Note: If that phrase hasn’t been coined yet I call dibs!

Some would probably call this a side effect more than a methodology, and really for us it is half and half, but allow me to explain what I think to be the “principles” behind proximity programming.

Fast Code Review

Adam and I work adjacent to each other and our monitors are about a foot away from one another, allowing us to quickly glance over at the other’s screen should he need help (or if we feel like heckling the other).  We can easily ask questions on implementation, style, or techniques simply by grabbing the other’s attention.  I believe the best advice and reviews came from random peek-over comments or harassment.  For example, Adam saved me several hours of work and days of frustration by making a snarky comment along the lines of “Think your function could get any bigger?”.  That one comment helped me realize that I had created a sloppy and gigantic controller method for something that should be stored in the model.  After a bit of refactoring, I felt better about the code and it was once again manageable.  That probably would’ve taken me a lot longer if he wasn’t able to look over at my screen and give me a hard time so easily.  Sometimes a little “That looks like crap” comment is enough of a smack upside the head to think clearly again.

Immediate Access to Help

Developing new features, as fun as it is, can get extremely frustrating if you have no idea what you’re doing.  Teamwork shines through when you can ask someone for help or bounce an idea off a ready ear; proximity programming keeps that ear nearby and usually within enough context to help out immediately.

Resource Sharing and Temporary Pair Programming

Adam and I both have a preference pane on our Macs named “teleport” that allows us to assume control over another Mac with our mouse and keyboard.  This is excellent for quickly dropping a file or copied text over to the other machine, borrowing an app temporarily, or a quick stint into pair programming.  Note: We mostly use teleport to mess with each other’s machines; flipping monitors upside down, closing windows, inverting color schemes, etc. :)

Ease of Adoption

How do you get started with Proximity Programming?  Quite simply: teamwork!  If you’re willing to help out your teammates, simply sit in close proximity and you’ve met what I consider to be proximity programming.  You don’t have to drastically shift your development mentality or workflow, so giving it a try has a very low risk.

Compared to Issues of Pair Programming

Disengagement

If one of us is having a rough day or is tied up on another project, it’s not particularly a concern.  We can still nudge that person and get feedback just as quickly as if they were on the same project and wholly focused, there’s no discomfort or anger to be had from your navigator being off on his or her game.

Lack of Communication

If we had a new hire who wasn’t particularly social or wasn’t comfortable working in a collaboration setting right away, that isn’t a huge hangup for the rest of the creative team.  That individual could still sit at our desk, or swap out with one of the other team members who we can’t yet fit at the long desk with no problem or consequence.  We won’t be a partner short, but it does indeed weaken the effect of proximity programming if not everyone is on board or willing to help out.

I truly believe that working in close proximity to one another has really aided in lowering my error rate and makes me think twice about a solution before I type out a new section (we’re also really big on whiteboards here).  I fully recommend giving it a try in your workplace if you have the ability.  Due to its simplicity it shouldn’t be terribly hard to convince management it’s worth the effort of pushing a few desks together for a few days.


Posted By: Glide Interactive


BarCamp Sarasota

BarCamp Sarasota

Creatives, unite!  The ‘unconference’ conference is back in SRQ this weekend, Oct 15-16.  For me, this will be my first BarCamp in Sarasota as I am a fairly recent transplant from Pennsylvania.  BarCamp Tampa was my first conference experience and it was a blast!  If you haven’t yet checked out a BarCamp I highly recommend you set aside some time this weekend to stop in and see what it’s all about.

To provide a synopsis, BarCamps are an unconventional conference (get it, unconference?) where speakers sign themselves up to give a 25-30 minute talk about a topic of their choice.  Normally, these topics are related to development, design, marketing, or entrepreneurship.  There are often several rooms giving presentations at a time so you simply pick the room that interests you the most during that time slot.  The settings are intimate so it is quite easy to ask a question to the presenter, or have a discussion amongst the room.  BarCamp is also an amazing place to network.  It puts you amongst your peers and you can sit down and have some really awesome conversations related to your field, or learn about a whole new area.  Maybe a hardcore database administrator could learn all about the latest in the world of responsive web design, or a developer such as myself could learn the first thing about business and marketing.

BarCamp is an awesome experience and I strongly recommend you try make it out!  I’m hoping to speak on Saturday at some point (sign ups are first-come, first-serve so I can’t provide an exact time) about some interesting things related to PHP 5.3/5.4, object-relational mapping, and awesome frameworks out in the wild.  If you see me out, feel free to come say “Hi!”, I’m always down to meet people and have some intriguing conversations.  If  you don’t know what I look like, in our group photo a few days ago I’m the gent with the buzzed head and beard, second in from the left.

Check out http://bcsrq.com for more info.

Hope to see you there!


Posted By: Glide Interactive