Archive

Ideas

Over the last few years I’ve contributed to, organized, worked with, and been in the audience of hundreds of user groups throughout Portland, Seattle, San Francisco, and Vancouver BC. By far, this area of North America has the most active, resilient, and density of thought leaders in the technology world. There is something missing however and I’d like to start working toward filling this gap. What’s missing you ask?

Problem: People often get together and talk about tech, but rarely get together and do something about tech.

The vast majority of user meetups end up as presentations. I must sadly say, often boring presentations that don’t really teach or demo all that much. Attendees often just come to talk afterwards or otherwise socialize, which is hugely important to the community. However there has to be a way more could be done. A better outcome would be to create a two way conversation, instead of the one way presentation, and to involve ourselves in creating solutions, new technology, and idea. In a few rare situations I have found groups that do something about this void. What’s their solution?

Solution: They actually get together, implement code, pair, and work together on problems. Kind of like a Hackathon, but way more often.

That’s what I’d like to create. To start off with, I’d like a group that is technology agnostic, is fairly skilled yet willing to pair and bring others up to speed, and simply gets together at least once per month to implement a specific project or effort that is predetermined by group submission and conversation (i.e. we’ll use a google group, e-mail list, or such). I think, and feel like there is enough support to get something like this started in Seattle, Portland, San Francisco (especially here), and Vancouver BC. My question is though, would you be interested in helping out, coordinating with me, and otherwise uniting coders to do more, learn more, and better themselves?

If you are interested, please leave a comment and help me out by answering a few questions:

  1. Is “Coders United” a good name for the group? What ideas do you have?
  2. Do you have a project or three or four that may be of interest for a group to get together and work on?
  3. This type of group would probably need to meet for more than an hour, would you be able to meet for 3-4 hours, maybe even on a weekend to implement a full project?
  4. What’s your preferred method of contact (e-mail, twitter, facebook, text message?) and how should I get in touch with you?

I’m heading off on yet another coding adventure this coming weekend. I can never get enough hackathons, startup weekends, and such. The energy, creativity, and learning is unbeatable at these types of events. This adventure will be mashing up a plethora of APIs (SDKs) and other capabilities to build something cool against. What it may be, what it will be, I’ve no idea yet. But here’s a quick summary of the companies & entities involved.

First a quick review of Geoloqi and what CivicApps are, the key sponsors and organizers of the event.

Geoloqi - Development

Description: Geoloqi is a private, real-time mobile and web platform for securely sharing location data. We’re a company that believes in doing more with location, and creating useful services for people and businesses.

CivicApps
Description: The aim is social change. The path is regional collaboration. The focus is local.

Technology is changing our relationship with government. Not so long ago government made decisions with little public input. Those days are gone. Today, information technology has redefined the structure and authority of government. The problems our communities face are beyond the capacity of government to resolve alone. Cooperation, collaboration and openness are no longer questions of opportunity; they are essential means of conducting our community’s business effectively. Every citizen can be an active participant in reshaping their world. WE are the government.

The CivicApps.org site aims to encourage every citizen to be an active participant by putting the data in their hands. The CivicApps.org site was developed to source, profile, and accelerate innovative ideas using Web and mobile technologies. The aim is social change. The path is regional collaboration. The focus is local.
Beyond these two organizations there are a host of others that are putting forth support through either the hackathon or the CivicApps Efforts.

Here’s a list of the entities involved in the CivicApps Project, click on the respective image to learn more about each one. All of these, in some way, form, or manner have contributed data or otherwise to the CivicApps Data.

An elected regional government, Metro helps you make the region an extraordinary place to live, work and play. Metro serves more than 1.5 million residents in Clackamas, Multnomah and Washington counties and the 25 cities in the Portland region. Some of the related data & maps they provide are covered here.

Our belief is that mass transit ridership can increase dramatically through improved customer service.

We’ll help by:

Empowering passengers with information about waiting time.
Providing Transit Authorities and operators with a robust, reliable, and cost-effective way to manage fleets and communicate directly with passengers.
Reducing the uncertainty associated with public transportation.

TriMet provides bus, light rail and commuter rail service in the Portland metro area. Our transportation options connect people with their community, while easing traffic congestion and reducing air pollution—making our region a better place to live. TriMet’s developer resources are available here.

…and others:

   
     

Stay tuned and I’ll have more on the hackathon and my project. Cheers!

This talk is so right, but could it be so wrong at the same time?

Just watch this, that’s all I have to say. Jason is so right about this topic. Here’s a few quotes to convince you.

  • I’m going to talk about work, and why people can’t seem to get things done at work…
  • If you ask people the question, “where do you go when you really need to get something done?” you typically get three different types of answers; one is a kind of a place, a location or a room, another is a moving object, a third is a time…
  • The Train”  <  - That one caught my fancy, if you’ve ever talked to me about transit you know that one caught me…  :)
  • What you almost never hear people say is “the office”
  • Managers and bosses will tell you the distractions at work are things like Facebook, Youtube…”  ”…and they’ll go so far as to ban it…”  ”…what is this China?!”
  • The real problem in the modern office is the M & Ms”   <  -  Oh hell yeah, so very true.
  • Manager’s jobs are really to interrupt people…” “…they don’t really do work so they have to interrupt you.
  • You would never see a spontaneous meeting of employees, no, managers do that…

To summarize, do telecommuting right, and it will absolutely blow away anything that is ever accomplished “at the office“.

Oh my Adron, you’re such a hypocrite! You are always talking about TDD and BDD and Pair Programming and teams being together and…

YES! You have a point, so let me throw this prospective hypocriticalness of mine away and prevent any concern that I’ve missed a logical connection. I assure you, I haven’t.  :)

I do support people working remotely. I also love to have a team close together with high communication (and here’s the catch) that is focused on the problem. This is what Jason is talking about! People generally don’t stay focused in cross-cut teams, with this focus and that focus and then throw managers on top of that. The next thing you have the dreaded M & Ms dramatically decrease any chance of work getting done.

If a team can be left to their work, especially if they have clear problems to attack, to pair on, to write tests against and to implement this is the precise example of why to work together. However, I’ve also seen successful, very successful teams working together remotely. Jason & the 37signal’s crew have done that before! They’re a prime example of it.

But How Does Remote Work, Work?

You have to be disciplined, you have to have check in points, but take 2-4 hours at a chunk and do work! Use e-mail and instant messaging as Jason points out. These are the keys to successfully getting things done! Where I currently work, we actually get this type of allowance. We even do remote pairing (albeit rarely, but it has been done)!  It can work, and it can work very well. However we often break away and have time chunked where we don’t talk, but instead leap forward in our efforts to get work done. Sometimes we pair, sometimes we don’t, it generally depends on if we’re writing code or just getting configs and databases put together to write code against. No reason to pair on a configuration file!  ;)

So really, the key isn’t to be physically collocated, or that you have to be remote to each other. The key is to have communication, high levels of communication, but at the right moments in time! The communication must be focused and to the point. It much bring information that is needed, not long drawn out meetings of vacuous boredom and emptiness. The work is done when someone, or a pair, can focus on the problem at hand and find the solution to that problem – alone or with their pair. These are the keys to getting real work done!

Thanks TED Talks for getting me all fired up this morning!  :)

What is an ideal software project? What is an ideal delivery cycle? What is an ideal culture? From a client’s perspective do they see the team as a sluggish liability or is the development team proactive and looking for the next strategic or tactical step to take?

Ideally, I see the development team as a group that should be leading a company with technology. If a team isn’t doing that, they’re likely to be running the risk of appearing as a liability and risk. Often these are the types of teams that are often outsourced or off-shored because it seems easier to the clients or management.

I don’t like the idea of getting stuck in a team like that. However, I’d do everything in my power to change that situation. In the past I’ve done just that. It is hard, but it is worth it. It boils down, unfortunately, to a perception and practice problem most of the time. A little like herding cats. Once you get them all together… well, you can read the picture. ;)

Herding Cats, Oh yeah!

Herding Cats, ain't a feeling like it in the world!

So what is my ideal team, product, and environment look like? That’s simple to answer.

  1. Team cohesion through pairing, eating lunch together, having a beer once in a while, easy conversations, hallway troubleshooting, and other social interactions. These interactions should be easy, comfortable, almost as if everybody were friends. Better yet, the ideal situation is simply that people working on a project actually be friends. No reason, in and ideal situation, for everyone not to be.
  2. Frequent delivery of product. Weekly, maybe every two weeks, but not much longer than that. The customer or client needs to be kept informed. If it is difficult to deliver something every week or two, that should be the top fix it item on the list of things to do. In this ideal environment of mine, I’d like to keep conversation and delivery on a weekly basis. Two weeks, often is a long time between delivery points.
  3. Communication among all lines of the company. There should be zero resistance to talking to any part of the company, developer directly to whoever is involved in the product. If there is a user, the developers should have access to them.
  4. Casual work environments are important. Generation Y especially, but X and others also don’t particularly like an environment to be socially stuffy because of forced attire. Dress comfortably, yet respectfully.

Usually with three out of four of these I’m a happy developer. If I get lucky enough to actually find 4 of 4, I’m happier than a kid in a toy store!

What other characteristics draw you into a team or a product to work on? What gets you excited about the software you’re going to build or the team you’re going to work with?

If you write up your thoughts or ideas on an ideal dev shop or ideal product, let me know and I’ll provide a link to your blog as well!  :)

A good friend of mine, Eric Sterling, has put together the most ultimate Dashboard EVER! A beer dashboard at Bailey’s Taproom. It even has foursquare integration so you know who the mayor is!  Represent!

Bailey's Beer Dashboard

Bailey's Beer Dashboard

He put this together using Silverlight and worked with Jeff & team at Bailey’s to get it rendering perfectly on a giant flat screen. So now when you go to Bailey’s, you can see with a mere glance the state of every beer on tap!

The Oregon Live even had an article by John Foyston posted “Bailey’s New Electronic Beer Menu” on the new “beer screen” (I prefer “beer dashboard”).

Follow

Get every new post delivered to your Inbox.

Join 3,273 other followers