Coder’s Vacation : Preparation “RICON 2012, HTML 5 Developers Conference and Loading Up”

This next week I’m off to San Francisco for a coder’s vacation. I don’t exactly know what a coder’s vacation is but that’s what I’m aiming to define! I’ll put together a description of my idea of a coder’s vacation below. There are going to be several components about this vacation that really make it a coder’s vacation, such as:

  1. My trip is to San Francisco – This makes it an ideal place to be, as a coder, to hone one’s skills and meet the top people in startups, software and other areas. There is literally coding happening all over the city. Plus it is a fairly nice city to frequent to begin with.
  2. I’m Traveling via the Coast Starlight – This will give me significant time to study up on some of the things I’m learning right now. A little node.js, javascript, go and maybe even some other things while I relax in luxury and enjoy first class accommodations in the sleeper. I’ll also be blogging a bit about this and what it is like to disconnect for a while when you’re in transit between two points. There is some serious time to get out of the rat race and figure out we’re your headed personally, with technology, coding and more (and yes, that is one of my pictures of the Coast Starlight from a few years ago, it is a beast of a train at 15 cars!).
  3. I’ll be attending RICON 2012 – If you’re going to be there, let me know. We should meetup during the conference. Maybe pair up on some code, discuss data architectures, dilemmas and related things or just grab a drink. Since the trip is coinciding with the conference, there was no way I wasn’t going to go hang out with the Basho Crew and their inaugeral conference on #phatdata (see twitter for more context).
  4. I’ll be speaking at HTML 5 Developer’s Conference – This isn’t during the “vacation” part of the trip, but it is in San Francisco.
  5. Pairing up, conversations & coding with others – Because San Francisco is one of the best places in the world for this. I’ll be meeting up with some other coders and working on some ideas around #phatdata, architecture with various frameworks and solutions like Node.js, JavaScript and prospectively some others.
  6. I’ll be tweeting, documenting, blogging, video recording and photographing – Nuff’ said.  🙂

Definition:

Coder’s Vacation – [kohd]-er’s [vey-keyshuhn, vuh-] – A form of vacation, except that the individual taking the vacation is a coder and participates in coder activities. Such as hackathons, pair coding, maker development, physical computing, learning or reading about new software development technologies or otherwise spends their time on the vacation.

Phat Data (see also #phatdata) – [fat] [dey-tuh, dat-uh, dah-tuh] – I’ve replaced the use of the big data term with that of phat data. It just seems more fun, just as poor a characterization of the topic, so why not. If you can define big data then you can define phat data! So basically, help me define this, I’ll be tweeting about it a lot at RICON 2012.

For more definitions of things I often use in phrases on the blog, check out my dictionary. With this laid out, let the coder vacation begin.

Cheers!

Me on TDD/BDD/Pairing and Jason Fried’s TED Talk and “why work isn’t done in the office…”

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!  🙂