Wednesday, December 29, 2010

Holiday Rescue Mission: Mug-Planter

T'was the morning of Christmas when my sister did receive, a planter disguised as a mug...from someone other than me.

Healthy Mug-Planter

Not one night later we heard a yelp, as young Bini left her planter in need of help.

Busted Mug-Planter

Quick to the scene, we all inquired: "How did this happen? What transpired?"

Disappointment

Wearing a disappointed look on her face, she pointed to the floor of the place.

Antagonist

An ill-placed boot was the culprit in fact, as our protagonist smiled and reassuringly leaned back.

The Protagonist

"This is a job for my trusty sidekick!" he exclaimed. Then out from the toolbox came the super-glue, well-acclaimed.

Irreplacable Sidekick

Twelve minutes later the planter was intact, with nary a sign of its former cracks.

Resolution

Last but not least were the characters' smiles, which could be seen all the way from the British Isles.

Success!

Happy holidays everyone!

Fun Fact My sister's name is Lindsey, but we're nicknamers. As such, she's gone by several variations of the name in previous years. A brief peak at the evolution:

  1. Lindsey
  2. Linds
  3. Linds-Binds
  4. Bini

Monday, December 27, 2010

Weekending: The Plan

To work in IT consulting is to travel. Depending on both perspective and the structure of one's life, this can exist anywhere on the spectrum from deal-breaker to unbelievable benefit. Fortuitously enough, I'm loving the travel.

It's for this reason a plan came to me during the middle of a November night. I sprang up from my comfortable hotel bed and grabbed the nearest lightbulb — it illuminated immediately, letting me know the significance of said idea.

100-365 Bright Idea For Shot 100 100-365 Bright Idea For Shot 100 by bcymet on Flickr

The idea was a simple one: embrace the layover. It met all of my criteria:

  • Monday-Thursday in Los Angeles
  • Friday in Chicago, the Miami of Canada
  • Weekends in alternate locations

In early December the idea was implemented:

TimeAction
Thursday, 11:15pm PDTDepart LAX
Friday, 6:00am CDTArrive ORD
Friday, 12:00am CDTArrive at Office
Friday, 8:00pm CDTDepart ORD
Friday, eveningArrive somewhere
Sunday, 8:00pm CDTDepart somewhere
Sunday, eveningArrive LAX

Needless to say, a very busy Friday was in the works...but where would it end?

Note I still haven't migrated to the compact fluorescent idea bulb, because it takes too long to illuminate.
Fun Fact The blue used in the table above is Lake Michigan Blue.

Tuesday, November 23, 2010

Project 1 Lessons [Retrospective Lead]

Progress on our project hasn't quite been at the pace we would have preferred, though time has certainly flown by. In fact, our speed of feature development was one of the hot topics at this retrospective — the first retrospective lead by the fearless team of Chris and myself.

Overview

Briefly, a retrospective is a look back at the previous cycle of work. There are several methods to go about it, but we're always trying to answer certain questions:

  1. What went well?
  2. What didn't go well?
  3. What's puzzling?

We started our retro in the same fashion as any other: a thorough reading of the prime directive.

Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.

Concrete Implementation

After covering our progress on action items from the last retro, it was time to jump into reflecting on our newly-completed iteration. We chose the rather standard format of placing stickies on a whiteboard. Everyone had roughly seven minutes to put as many thoughts as they could capture into their respective categories.

Our retrospective process is fairly democratic. We first want to make sure all the thoughts are captured on the board. Second, we group those thoughts into broader topics. Finally, we give everyone three votes to spend anywhere they like.

  • one cannot vote against a topic
  • one may spend all three votes in the same place

Discussion generally revolves around the things we can improve. Our retrospective was no different. We dutifully captured input and action items for next time, as well as recording owners for those action items (with group consensus, of course!). Oh David Allen, where would we be without you?

Velocity Check

Sometimes it's necessary to devote time to specific areas of concern before they become problems. The final piece of our retrospective was a section devoted to velocity, or the pace our team is completing features.

On the suggestion of a teammate, the visual we chose for this was a boat. Very similar to the exercise that preceded it, thoughts of things that made us go faster were near the engine of the boat. Ideas for what exactly has been slowing us down were placed near the anchor.

Perhaps unsurprisingly, virtually all of what we discovered here was covered in some form or another during the previous portion of the retrospective.

Takeaways

All in all, it was a pretty successful retro for the team, as well as for Chris and I. We did a many things well and received some helpful feedback on areas to improve, namely:

  • Timebox discussions and activities
  • Minimize open-ended questions
Both points lead to the overall goal of having concise and effective retrospectives.

Project Fact Our iterations are two weeks long

Comedy Quote "No no, my vote was voting against!"

Sunday, November 21, 2010

Recycled Air: Episode 3 [Options]

The aircraft is often listed along with the flight when booking trips; this information meant almost nothing to me early on. Now that I've picked up a fair amount of aircraft knowledge, I've learned its importance -- each plane has benefits and drawbacks. Fear not, blogosphere, that knowledge transfer is about to begin (in alphabetical order!).

United Airlines Boeing 767-300United Airlines Boeing 767-300 by Deanster1983, on Flickr

Airbus A320

The only Airbus I've been on, and it just so happens I take it about 50% of the time between Chicago and LA. The A320 is a narrow-body, featuring three seats on each side of the aisle in the economy classes (3-3).

Exciting because the television monitors are flat screens that automatically open and close

Worrysome because overhead storage is lacking. Slowing down after landing has significantly more interior rattling than a 757 or 767.

Boeing 757

The 757 is a common plane along my standard 1,800 mile route. Like it's Airbus competitor above, this jet is also a 3-3 narrow-body.

Exciting because the overhead storage compartments fit a relatively large number of bags. I don't have to worry about checking a bag at the gate when this aircraft is sitting at the terminal.

Worrysome because the tube-television monitors are positioned in the middle of the aisle often, providing several reasons to duck while walking through the plane for taller folks.

Boeing 767

My favorite vehicle for medium-long distances. This wide-body aircraft is arranged with two aisles in 2-3-2 fashion.

Exciting because there are four aisle seats and two window seats -- six of the seven seats in a row are actually desirable.

Worrysome because the overhead bins sized a bit weird; they only fit a standard carry-on if placed sideways, cutting down on room. The seats between both aisles require standing up to turn off the blasting air vents.

CRJ 700

Exciting because the first time is a novel experience? If you're flying from Detroit with premier status (25,000 miles), getting upgraded is easy. The one time I took this regional jet we had 21 seats open, though that's more of an airport feature.

Worrysome because overhead storage is almost non-existent. I have a smaller-than-average carry-on that scraped on all sides when going into the overhead bin. This plane also seems easily thrown around in the wind.

Fun Fact My favorite way to get around is high-speed rail.

Wednesday, November 17, 2010

Hooray! TWU-Developed [Internal] Application Launches!

It feels like just last week I was headed to India for TWU XVIII. I remember being nervous for the flight and eager to start our internal project. The previous batch began development on our web application, which was built for chronicling the experiences of ThoughtWorkers all over the planet.

My batch took over in August and headed up another four weeks of development. The initial goal was to launch just before our departure. Ultimately the launch was pushed back and development work was handed off to the members of TWU XIX.

Today saw that application go live.

I'm extremely impressed with the work by the last batch. I'm extremely proud of these three new classes of ThoughtWorkers, and feel honored to have been a part of this project. To see something you've worked on go live is incredibly satisfying, to say the least.

Learnings

I learned more than I can count on this internal project. To be effective, we had to dive in deep to the following technologies.

My favorite technical accomplishment on this project was implementing flash scope (as in Rails) in the Spring MVC framework. Prior to this implementation, we were passing around query strings for absolutely everything; that simply didn't feel appropriate.

It took a lot of learning on my part along the way to flash scope -- including how to implement a listener, filter, and Java annotation. The end result was a far better solution for the application and one that was reused several times in places where query strings just didn't make sense. I'm so very happy to have had the opportunity to push my knowledge and contribute to a delivered product.

Thanks!

So many people are to thank for this moment of accomplishment. Sumeet Moghe has put together a truly world-class training program. The real-world experience has helped me in immeasurable ways on my current project and is a far more effective way of learning than solving small problems from textbooks. Our trainers were wonderful as well, bringing their global experience into the classroom and project setting. I had the opportunity to work with young developers like myself from Australia, China, India, and the US.

Fun Fact query strings are attached to the address of a webpage. If an error were to appear on this blog with a query string, it would be shown in the address bar. e.g. -

http://sghill.blogspot.com?error=CommentTooLong

Clarification The app is not public facing, which is why a link doesn't appear in the post.

Monday, November 15, 2010

Project 1 Lessons [Coding Katas]

A few weeks ago a colleague and I took to center stage as we launched another lunchtime activity for our project's crew.

There were a few differences from the lunch and learn initiative, not the least of which was the voluntary nature of attendance. We also wanted to engage the audience with a bit more than a presentation. Perhaps worth noting, each of these goals came after the superb interest generated from casual mentioning of coding katas by friend of the blog and resident Bearsharktopus fan Chris.

Bearsharktopus Projection

The Task

CodingKata.org is a great resource for programming problems that build skills. In our case, we were using the simplest suggested problem as a way to teach Test-Driven Design (TDD). FizzBuzz was proven to be a great way to illustrate this very important concept; certainly much easier than a 10-year-old codebase.

The FizzBuzz problem is apparently adapted from a drinking game and is a frequent cast member of programming interviews. There are just five requirements:

  1. Run through the numbers 1-100
  2. If the number is divisible by three, print "fizz"
  3. If the number is divisible by five, print "buzz"
  4. If the number is divisible by three and five, print "fizzbuzz"
  5. Otherwise print the number itself

The Demonstration

Our plan going in was to switch out pairs of programmers every five minutes. Being the truly agile adopters we are, we went with another approach that seemed to flow naturally with the event -- keyboard passing.

Chris and I began with the way all good programs begin: writing a test that fails. He first asserted that our result, given a number, would return a string. Then I made it pass and wrote another test.

Soon we had almost all of our client developers writing tests and making them pass. The approach won praise and has since been requested again by those involved. Katas will definitely be on the docket for any of my projects.

Fun Fact Bearsharktopus is an Internet meme

Fun Fact There is no right answer to FizzBuzz. An "enterprise" solution is hosted on Google Code.

Yikes! Moment FizzBuzz is apparently an easy way of weeding out 99.5% of those who apply for programming jobs. Source: Coding Horror

Wednesday, November 3, 2010

Project 1 Lessons: Part 1

It's amazing how fast weeks go by on a project.

It feels like just yesterday I found out I was headed to California for my first project. Suddenly a month has passed and we've cruised through one-and-a-half iterations. A few general lessons have been learned along the way that I'll surely be applying in the future.

Be Uniquely Identifiable

I made an attempt early on in the project to go by SG Hill. This was a new venture in person that didn't quite pan out for a number of reasons. The need for a name other than Steve was obvious and pressing. As is so often the case, I have a teammate named Steve. Ultimately the problem has been solved with the kind of class and style only software developers could pull off.

I'm now new Steve(); whilst my elder teammate has become known as Steve.Instance();

Learn Over Lunch

One of the great things about bringing together so many people of different backgrounds and experience levels is the knowledge transfer that could potentially happen. Getting it to actually happen requires some effort. Three weeks ago we made the effort to have lunch in the office one day a week for a little thing we're calling Lunch & Learn.

The response to L&L has been better than anticipated, and we've covered some varying topics so far over pizza and sandwiches.

  1. ASP.NET MVC - Testable software designs
  2. Feature Toggling (nToggle) - turning features of software on and off from a switch in the codebase
  3. Automated Functional Testing - Automated testing of web applications through a browser with Selenium

Perhaps the biggest benefit to giving these presentations over lunch is not the new ideas being shown, but the discussions generated around them from the questions being asked.

Quote of the Day as said in a Russian accent "Pizza without beer? This is...crime"

Saturday, October 30, 2010

Strategy Pattern: A First-Class Request

The best way to learn is quite possibly from those around you.

I was lucky enough to be in the volunteering-to-give-up-your-seat line just behind a more seasoned traveler on last week's redeye, when I overheard an interesting strategy.

Passenger "Sure, I'll take the 6:00 tomorrow. Is it a 57?"
Agent "Yes, it's a 57."
Passenger "Beautiful. Let's get me confirmed for First Class right now as well."
Agent "Done. Okay, you're all set sir."

An exciting discovery to say the least.

I was able to achieve the same result simply by asking. Complimentary upgrades are a part of the deal with flying often on United, but they go in order of miles flown. For the ever-curious, I'm generally 30th or so on the wait list to be upgraded on the Chicago-Los Angeles route.

Fun Fact "Is it a 57?" is asking if the plane is a Boeing 757.

Fun Stats 3 bumps in the previous four weeks.

  • 3 that resulted in better seats
  • 2 overnight, with hotel stays and meal
  • 1 for a plane that left 45 minutes later

Sunday, October 24, 2010

Recycled Air: Episode 2 [The Sprint]

Friend of the blog and half-marathon-runner Molly asked me several weeks ago if I have had the pleasure of running through an airport yet. I'm a veteran at sprinting through Chicago to Union Station to catch (or miss) a train. Airports are a different story though, with an average arrival time of 1.5 hours early...until Friday.

My plans were to take the redeye again on Thursday night. When I arrived with plenty of time to spare, an announcement was made.

"We're looking for volunteers to give up their seats and fly out to Chicago tomorrow morning."
Naturally I jumped at the opportunity and soon thereafter found myself on a shuttle to another night in a hotel. My reservation was now for business class Friday morning at 6:50.

Not long ago I happily marched through the Premier security line for the first time at O'Hare. With a separate screening lane and an exceptionally joyful TSA employee, I made it through in just six minutes; nearly 20 minutes shorter than my typical experience with regular security lines. This flying 4,000 miles a week thing certainly has it's advantages.

Sadly, the airport in Los Angeles is not nearly as accommodating with premier security lines. It's the same line here, but you can effectively cut at the time you show your boarding pass. Arriving at 6:10, I thought I would be OK.

6:38 rolled around and with it came an announcement.

"Attention passenger Hill. This is your final boarding call for United flight 944, non-stop service to Chicago."

Panic came over me instantly I was still in the security line, only now preparing to put my shoes on the conveyor. As luck would have it, I was also randomly selected for my first body scan.

funky full-body airport scanner at #yyj - Think I'd opt for a physical search

6:41 marked the point where I retied my oxford shoes. Shortly thereafter I regretted a decision I'd made earlier this morning.

Cole Haan Cordovan Cap Toe Oxford
Running shoes are considerably easier, and quieter, to run through an airport in than the above style.

At exactly 6:45 I arrived completely out-of-breath to an empty terminal 74. One attendant was at the podium near the gate, looking ready to move on to something else. I waved my ticket and inquired about the possibility of boarding. He made a phone call and soon I was running again...this time through the gate.

Made it.

Fun Fact after 10 weeks and 30,000 miles in the air I have now sprinted through an airport.

Wednesday, October 20, 2010

Famous Pizza: BJ's of Los Angeles Edition

"So let me get this straight...you guys all came from Chicago to get LA deep dish pizza?

We're pretty fortunate to have an adjacent team from the Chicago office working just 10 miles from us in California. Occasionally we get together for cross-team dinners. Monday was such an event. We chose BJ's Restaurant & Brewhouse, known for their deep dish pizza.

BJ's Nutritional Guide

"Really? You got that? It's a brewhouse for crying out loud!"

Monday also saw the addition of another member to our team. Five weeks in and we welcomed our first person in the QA role, Kurman. It wasn't long until a drinking competition broke out between he and I.

In addition to the locally-famous pizza, BJ's is also known for its micro-brewed beer. My interest was piqued by a sold-out micro-brew root beer initially, but I ended up following Kurman's lead with a series of lemonades. Strawberry Lemonades, of course.

After just four, I was declared the winner.

Strawberry Lemonade at BJ's

LA Lesson #1 Never hesitate on freshly-squeezed strawberry lemonade.

Sunday, October 17, 2010

The Suite Life with Neither Zack Nor Cody

"Mr. Hill, I didn't know you were still staying with us."
"I left for the weekend, but I'm back Justin!"

One of those small things in life I really enjoy is when someone remembers my name. I try to do the same whenever possible. The response to being acknowledged as more than whatever job title they hold is generally pretty positive, but sometimes it's overwhelmingly positive.

Shortly after this cheerful welcome I found myself hearing murmurs of an upgrade. Sure enough I was awarded the King Spa Suite, a room not much smaller than my apartment in Chicago.

One bonus of the upgraded room was that it came with a Vista View. While nothing like looking at the Chicago Skyline, it was considerably nicer than last week's view of the road.

Vista View

Perhaps the main attraction of the King Spa Suite is in the name itself. This awesome shower/tub combination helped all week to slowly ease the pain of an ultra-stiff neck that comes from sleeping on a plane.

Spa Tub

Spa Shower

As if we weren't already bordering on excessive, the room included a living room with a second 42" HDTV.

Note The Suite Life of Zack & Cody is a Disney show that debuted the year I graduated High School. I've never actually seen the show, but its name has stuck with me for unknown reasons.

Tuesday, October 12, 2010

Recycled Air: Episode 1

"I'll just set my things down here...I've got to go powder my nose"

In just over 20,000 miles in the air I've discovered an amazing variety in neighbor passengers. More often than not I'm seated next to a silent traveler, completely interested and involved in his or her own things. Occasionally I'll get someone just the right amount of talkative to make the flight feel considerably shorter. Other times I'm in for an impromptu autobiography.

Sunday was my first flight to or from Los Angeles with any conversation at all. It would have been fine, except for a few basic crossings of the etiquette line and diving into a level far too deep for having just met someone.

I simply don't have the dexterity to recap four hours of conversation with someone in text, so instead we'll hit the highlights and lowlights of passenger Sam's monologue.

  • I understand it as universal etiquette to not disturb someone with earbuds in unless sharing some life-altering news. This is most certainly not universal.

  • "You computer people have some real goofy terms. GUI (pronounced 'gooey')? You kidding me with that? You'd never hear 'GUI' from a physicist. You know where you would hear that? From a five year old eating lunch."

  • "My wife and I used to go riding all the time on my Harley, now all of a sudden she's all hung up and don't want to go with me if I've been drinking. Can you believe that? I'll tell you what else, that's why she says she's leaving me, of course the papers haven't been filed yet...and she's been leaving me since June of last year. 15 years down the drain. I'll tell you what I'll miss the most though, the free concert tickets she got from work."

  • [said to flight attendant]: "Yeah, give me two cold ones"
    [said to me]: "You may not believe this, but there was a time where I didn't know who was in charge...me or the bottle. So I'll tell you what I did, I picked a month to see if I could go through it without drinking. I thought to myself I'll take February because you know thats a nice, short one. Felt like cheating though, so I went with July...my birthday is in July, and there are barbeques all over town. Made it too.
    (cracks open can)
    Hey, bottoms up!"

  • "Haven't been working in two years. Finally got this job as a building inspector. I'm also becoming a physicist, because I have to in my old age."

  • "One day I'll get on a new plane. I'll know it's new too, because I won't see an ashtray in the bathroom. Can you believe they used to have a smoking and non-smoking section on these things? It's a frickin' tube for crying out loud!"

  • "About 25 years ago I took my son to Disney World. He was four then...so it couldn't have been 25 years ago, it must have been 23. Yeah, 23 years ago. Anyway he starts crying in the middle of Epcot because Mickey Mouse didn't wave at him...and you know what a kid of four sounds like crying? It's loud, it's like (proceeds to demonstrate lung capacity on crowded airplane). So I told him not to worry, Mickey Mouse waves at everyone, and sure enough he later waved at my son."

  • Sam "So what part of LA do you live in?"
    Me "I live in Chicago."
    Sam "Oh no kidding! What part? Naperville or Schaumburg?" (suburbs, outside city limits)
    Me "No, right in the city."
    Sam "Oh wow, I thought you said you lived right in Chicago, you know, like Naperville or Schaumburg"
    Me "Those are both different cities..."

Sunday, October 10, 2010

Strategy Pattern: Voluntarily Bumped

I was scheduled to fly out of LAX last Thursday night when a rather intriguing message flashed across the status update screens. The airline was looking for volunteers to take the next flight instead.

I headed up to the customer service counter with several thoughts running through my mind, mostly revolving around the following equations.

  1. 11:15pm takeoff + 4 hour flight + 2 hour time change = 5:15am landing
  2. landing at 5 and sleeping until 2 = sleeping until 5 and landing at 2

To my great delight, the customer service agent joyfully placed me on the next flight with a couple of bonus compensation items.

  • $15 meal voucher
  • free hotel voucher
  • $400 airline voucher

For the meal voucher I indulged in my favorite ultra-expensive juices

Bumped: Free Meal

Needless to say I've now adopted a new strategy for my frequent travels: Voluntary Bumping

Note From what I hear, compensation is negotiable and bumps can be chained. Let the fun begin!

Note Odwalla juices are simply delicious. If you've never tried one, I'd recommend the SuperFood

Saturday, October 9, 2010

What Does My Agile Project Look Like?

When catching up with people many questions tend to revolve around my working situation. Curiosities including

  • Do you have an office?
  • Do you have a cubicle?
  • How many people do you work with?

Ideal Workspaces

Pioneers of Agile software development tend to not believe in partitioning people off into different sections of a workspace. The big change from traditional techniques is that development needs to be more of a social, collaborative effort throughout the entire development lifecycle.

When we put people into different rooms, or even put up walls between them, they're less likely to talk to each other and know what is going on between them. This leads to a pain point much later on when we need to integrate the code of several developers. The solution is to have people in an open area and constantly talking as questions and ideas emerge. We all sit at a table with our computers, where it's very easy to yell out a massive design change or ask a question.

"We've just implemented flashscope, so no one should be attaching error messages to models anymore. Take a look at the HomeController for how to use it."

Realistic Workspaces

Part of the project in Los Angeles is Agile Coaching. This of course implies that the workspaces aren't currently set up ideally. We have a team room that fits about half the developers and the other half utilize cubicles in the adjacent room. It unsurprisingly presents some challenges, most problematic of which is easily the higher barriers to conversation.

We combat this in various ways, such as having a second 5-minute meeting (or stand-up meeting) midway through the day. Fortunately for us, we have just another week until we move into a team room large enough for us all.

Team Size

The development team I'm on is comrpised of four TWers and four client developers. Team sizes vary based on the scope of the project and finding that sweetspot isn't always an easy task. This probably goes without saying for every field, but there isn't a direct, linear relationship between people on a project and the amount of work that gets done. With software development, a team that is too large will have people stepping all over each others toes and will subsequently spend more time merging code than writing code.

The grads of my TWU class in Chicago are all on, or headed to, projects with two members to 54 members.

Thursday, October 7, 2010

From Bollywood to Hollywood

"The grass sure isn't growing under your feet."

Perhaps one of my favorite remarks so far by a fellow ThoughtWorker upon meeting me. I was lucky in that just two days after being hired I was off to India. By the time I got back I was already staffed on a project. Now that my first week on a billable project is wrapping up, it feels relevant to announce that this developer has had the great fortune of spending just four days on the beach.

I'd love nothing more than to report the amazing weather my first week in Los Angeles has been. I seem to have brought the rain with me in my well-packed Space Bags®, though. Can you believe a week's worth of clothes fit into these?

Week's Worth of Clothes

I can dutifully report the view from our office. On the days when it wasn't raining, I was able to snap a few pics from indoors. I wouldn't say LA feels anything like Chicago. It's much more like a giant suburb than a city, with relatively few towering buildings.

LA Sprawl

Still, there is a skyline of sorts. Hopefully we'll make it out of the office in the next few weeks to enjoy some of it!

LA Skyline [of Sorts]

Tuesday, October 5, 2010

SG Hill Goes Public

While not exactly an IPO, I've recently heard of a rather neat service aimed at travelers. You've possibly noticed the new box on the right from TripIt alerting fellow blogfans that I'm currently in Los Angeles.

There are a handful of post-worthy features of TripIt --

  1. data-tracking
  2. contact-alerting
  3. keeping everyone in the loop
After registering, you forward itineraries to a magical email address at TripIt. The service then adds a trip to your profile and begins to tally miles and locations visited.

As can be expected of almost every app these days, there is a friending and social networking portion. If you'd like to connect and compete with miles, then certainly head over to my profile. At the time of writing, I'm the leader of my six connections by over 10,000 miles (Thanks, Bangalore!)

Monday, October 4, 2010

Welcome, TWU XIX!

Less than two months after the start of my Indian adventures we're set to welcome a new batch to Bangalore. TWU XIX had it's first day today with four Chicagoans. The good news is at least two of them will keep the proud Chicago-blogger tradition alive.

If you'll recall the start of my adventure, I headed out on a flight halfway around the world on my second day. Fellow Metro-Detroiter Damon has topped me, I believe; he moved to Chicago just three days before hopping a plane to India. You can follow Damon at his blog Training in Bengaluru.

Nan was also scheduled to leave with Damon. There was a visa issue that delayed things a bit, which ended up being quite a lot of fun.

Welcome, Nan!

As we waited for the visa to arrive, we covered some awesome subjects like Java and Test-Driven Development. It probably goes without saying, but we also covered the ever-evolving topics of fashion and styling. There's great news here as well -- Nan made it to ThoughtWorks University XIX and her adventures can be followed at her blog.

All the best to the new undergrads. I simply can't wait to hear about their experiences.

Sunday, October 3, 2010

Developer Showdown: DePaul Career Fair

Thursday afternoon in the windy city I boarded the 'L' like normal and headed to work. I was set for a day on the beach*. Little did I know the recruiting team was headed to DePaul University the very next day and would enjoy some company. Needless to say I jumped at the opportunity.

DePaul Student Center

The career fair started at 11:00am. Perhaps unsurprising as a career fair hosted in a university, but many people were very early in their academic careers and looking for internships. We aren't big on internships here for a number of reasons, but advice-seekers seemed to find the following helpful:

  • Join user groups and Meetup.com programming groups
  • Start side projects

I think most companies like to see people passionate about their work. Joining Meetup groups is a great way to express some of that passion. Other benefits include networking with people who share your interests and seeing first-hand which companies care enough to sponsor groups (we do!). Finally, at just about every meetup there are recruiters present.

Side projects are a good way to gauge a person's interest in this field. Since I started on this path I've had little projects going on with the goals of learning new languages and solving some of the smaller, more annoying problems in my life. Currently in my spare time I'm learning C# (C-Sharp) on the .NET platform by porting a school project over that deals with receipts and taxes.

The Staredown

Our expected attendance for the career fair was around 800 students. We probably had at least that many walking through the booths, but DePaul's most popular major isn't Computer Science. Our booth wasn't as crowded as some of the other management-focused booths, nor was the booth across from ours who wanted to hire Java and Ruby developers.

At one point we read through our company's description in the fair's booklet as well as the company across the aisle from us. They listed two very similar-sounding positions:

  1. Quality Analyst Engineer
  2. Software Tester
Instantly I called out to the crew.
Me What's the difference between a QA Engineer and a Software Tester?
Evan Is this a riddle?
Me No...you list both in your description
Nate Oh, Software Testers do manual testing
Evan I'm disappointed man-- I wanted a joke

The Plan

I was working the booth with two other colleagues. One was also a recent hire and developer by the name of Molly. Andy was hired at the same time as me into the recruiting department. We knew we needed to come up with a joke.

Fortunately Google wasn't lacking results with a search for 'ruby jokes'. A post from RasterWeb yielded the following programmer humor:

Q: What do you call a future Ruby programmer?
A: A Java programmer!

The Delivery

We knew this was probably the one, but we'd need to do things in more of an Agile way. First we had to refactor the wording. We definitely had to pair when delivering it. Finally, we needed to follow it up with a fist pound.

Me Hey, Evan
Evan Yeah...?
Me What's another name for a Java developer?
Evan I don't know...what?
Molly A Java developer!
*Victorious fist bump*

Note The Beach is where consultants sit before heading out to a project. It's known as the beach because of a delightfully small fake palm tree that sits near the middle of the area.

Note A Meetup I always attend when in town is Chicago Ruby. The Ruby community is easily one of the most passionate, and the Chicago group doesn't disappoint.

Note We did get a rebuttal joke from Evan and Nate about Ruby's over-eager versioning just before leaving

Friday, October 1, 2010

The Highly Anticipated Blogger Blog Stats Exposé: September Edition

It's becoming more and more fun to write these posts for three reasons:

  1. My [famous] week one Pecha Kucha set the bar for 100 visits
  2. The questions continue to roll in: "How many hits?"
  3. Who doesn't love a little transparency?
September August 13 thru
September 30
Unique Visitors 223 277
Visits 649 962
Page Views 2,152 3,283
Average Time 6:10 6:54

September Visitor Location Leaders

13 countries on five continents make up the September visitors. August's vistors were from 6 countries on four continents.

  1. Bangalore, Karnataka, India - 262
  2. [Metro] Detroit, Michigan, US - 114
  3. Chicago, Illinois, US - 54
  4. Galesburg, Illinois, US - 52
  5. Denver, Colorado, US - 39

September's Most Popular Posts

  1. Dance Night at the Orphanage
  2. Bangalore's #1 Socialite
  3. Free as in Freedom: Funniest Pecha Kucha Talk Ever
  4. A "Comfortable" Round Three of Pecha Kucha
  5. But What About The Actual University?

Fun Fact If you Google earliest hot shower, I'm now surprisingly in the top five results.

Thursday, September 30, 2010

Ceremony

We've covered bits and pieces of the closing days of TWU XVIII with Ending on a High Note and Graduates. The only piece we didn't really cover was the ceremony.

DSCF4245

After a brief slideshow put together by the trainers Felix and Elian, we announced diplomas. The first several graduates gave a speech upon receipt. Hilariously, the speech-giving ended by request. Now that's an agile, adaptable team!

Elian was my coach and presented me with my diploma.

DSCF4311

Out of nowhere, there were chants for dancing. I knew it'd be much less fun without the other half of the award-winning team.

DSCF4315

Six and a half weeks later, SG Hill is a graduate of the University and has 160 hours of project experience.

TWU XVIII Grad

The next project begins Monday in sunny Los Angeles, California.

Note In an effort for cleaner posts, picture attributions popup when holding your mouse over the pictures. The first three were taken by Sumeet.

Tuesday, September 28, 2010

Ending on a High Note

On Thursday the members of TWU batch 18 put their party shoes on and celebrated the experience in style. Our after-work destination was a place on 100 ft. road by the name of High Note. The elevator signs here always get me.

High Note 003

Our night started with an award ceremony. We recognized students for their stand-out performances in work-related tasks such as most talkative, food vacuum, and delhi belly. My orphanage dance-off proved memorable to the crew as I walked away with the night's first award.

Dance Award

From there, the night took an unexpected turn; a project was launched. One of our trainers, Felix, was the first to request a picture with my glasses. One thing led to another, and an eventually we got photos of almost the entire class.

High Note 018

We couldn't quite get everyone during the High Note celebration. For this reason, my side-project continued into another day and began to incorporate just about everyone. The waitress at our last lunch in Bangalore also was keen to get involved.

DSCF4240

Note There are far more phenomenal pictures than this post could possibly show. They're part of my Flickr set here.

Sunday, September 26, 2010

Back to the City Detour: Mysore Palace

On the way to Kabini for our safari we stopped off at Mysore for breakfast. As referenced in part 3 of the Into the Jungle series, this was the first time I'd seen monkeys in the wild.

The journey back home saw us stopping at Mysore again, twice. Our first visit was to the Royal Orchid hotel for lunch. There is also a Royal Orchid next to Diamond District, where we spent our first week of TWU for sessions. These are both incredibly posh places with delicious food. The Diamond District version also includes Geoffrey's, who proudly claim to be Bangalore's most happenin' English pub.

IMG_1711 IMG_1711 by sumeet.moghe on Flickr

The group split after lunch. Sumeet, Derek, and I went to the tourist-friendly Mysore Palace for a barefoot exploration (with audio tour). Kyle and Richard had already been, so they and Sumeet's wife headed toward the shopping district.

DSCF3577 DSCF3577 by sumeet.moghe on Flickr

The palace had burned down nearly a century ago. Since then it has been rebuilt in somewhat of a unique fashion -- this structure blends the Hindu, Muslim, Rajput, and Gothic architectures. The result is something impressive and befuddling. It's one of the few palaces that feels like a patchwork of varying influences without much coherence.

DSCF3581 DSCF3581 by sumeet.moghe on Flickr

Photography was not allowed inside the palace, which is unfortunate because I can't locate an example of the stunning 3d-like paintings. We picked up all kinds of fun facts along the way, like the virtual fire-proofing of the new palace after the old one went up in flames. The most memorable result of these instructions to me were the giant pillars that looked like carved wood in an octagonal room; they were actually cast iron.

IMG_1715 IMG_1715 by sumeet.moghe on Flickr

Fun Fact #1 Entrance to the palace is Rs. 20 for residents of India and Rs. 200 for foreigners

Fun Fact #2 After shopping proved to be more expensive than anyone had hoped, we all met up outside the palace for a group photo

Into the Jungle: Part 4 [Jeep Safari]

In part 3 we saw the monkeys taking over the climbing nets.

Soon it would be time for the reason we came: a Jeep Safari. An all-too-familiar overcast sky was encroaching as we neared in on the scheduled time for the expedition. As the Jeeps began to pull up into the parking lot, droplets of water were making us all nervous. We pressed the crew to leave a bit early. They refused and we left a typical 15 minutes late.

DSCF3533 DSCF3533 by sumeet.moghe on Flickr

The ride out of the resort to the park was longer than I expected. Our crew stopped at the midway point to let someone off and read the park rules. While there, we smartly pulled down the plastic window on the front of the Jeep to avoid getting any more wet.

Kabini Safari Rules

We saw over a ton of animals, which wasn't all that difficult considering the weight of an Indian elephant.

Three deer were near the entrance of the forest. Our excitement couldn't be contained, evident by the dozens of pictures we all have. After two hours passed, the deer were much less impressive -- we saw at least a few hundred during the day.

DSCF3515 DSCF3515 by sumeet.moghe on Flickr

The boar proved very fast and difficult to capture. The monkeys seemed exceptionally agile, even for monkeys, and were hanging out near this man-made salt pit.

Kabini Safari 019

Elephants were plentiful in Kabini. We saw both the wild and domesticated varieties.

IMG_1614IMG_1614 by sumeet.moghe on Flickr

IMG_1603IMG_1603 by sumeet.moghe on Flickr

There is a chart when entering the resort that keeps track of the animals spotted. On virtually every day there was a leopard. This day didn't break the chain. (video)

DSCF3456 copy DSCF3456 copy by sumeet.moghe on Flickr

Our tour guide was extremely excited to have spotted a leopard in the wild. He shook all of our hands just after the above video was shot. This ended our two hour safari for the day. The most exciting bit of the next day's safari was easily spotting India's national animal: the tiger. (video)

DSCF3531DSCF3531 by sumeet.moghe on Flickr

A special thanks must go out to Sumeet for capturing so many stunning photos and our tour guide, whose excitement and enthusiasm made the experience better for us all.

DSCF3466

DSCF3466 by sumeet.moghe, on Flickr

Note With great luck, and the weather patterns typical of this region, the rain stopped by the time we began the actual safari.

Note strictly speaking, it was everyone but me who saw the Tiger due to a legendary bout with asthma.

Friday, September 24, 2010

Graduates

Today was the last day of ThoughtWorks University XVIII. The schedule was fairly light.

Futurespective

After each iteration in a project, we reflect with a retrospective. The task for this futurespective was to imagine we were six months in the future, managed to be let back into High Note, and had completed a successful project. We wanted to write down what did go well and what didn't go well.

It's a pretty cool technique for getting the fears and risks of a project directly out of the customer's mouth. It's also a useful technique for realizing the fears of new and confidences of new TWU graduates.

Our successes ranged from completing the University to learning new technologies and successfully deploying products. Our imagined failures had a much wider range. We thought of things as wild as QAs (Quality Analysts) being eaten by tigers. More mundane shortcomings were brought up as well, like spending too much time on trivial tasks.

Richard's Birthday

Friend of the blog, Richard, turned 22 today. If you'll recall the previous birthday posts, we have a few traditions here: kicking and caking. Richard was fortunate enough to avoid one of them. We'll head to the video to see which one.

Note This certainly isn't the last post of India. We at the blog have quite a few more things to say in the coming days.

Wednesday, September 22, 2010

The Fifth and Final Pecha Kucha Night

Wednesday night of the last week meant it was time to gear up for ThoughtWorks University XVIII's final Pecha Kuchas. These presentations have been the highlight of the trip for me and I can't believe we went through them so fast. As is to be expected at this point (sorry, TWU XIX), we had another phenomenal round of speakers.

A record 33% of tonight's speakers mentioned me. The topics we covered tonight weren't always given away by their titles (or first slides).

  1. Humour by Rohit
  2. The Family by Nitin
  3. What Have We Learned From Our Mistakes? by Sanjiv
  4. Be A Career Super-Hero by Sumeet
  5. Canadian Winter Demystified by Felix
  6. Mr. Bean by Kiran
  7. Homebrewing by Julie
  8. The Truth About Tigers by Chirdeep
  9. Breathing by Derek [Video]

I was able to capture all of Sumeet's Super-Heros presentation on video. With his permission, it is reproduced here.

Note Sanjiv is from the last TWU batch. He was one of the organizers for the TWU Amazing Race

Challenge bonus points available for those who can guess the three which mentioned me (email submissions OK)

Tuesday, September 21, 2010

Into the Jungle: Part 3 [Monkeys]

We last left off as the crew headed out to explore the other areas of the Jungle Lodges & Resort. It was at this time that the monkeys came out to play.

DSCF3268 DSCF3268 by sumeet.moghe on Flickr

If the monkeys weren't enjoying a Coke® by the water, they were hanging out on the net.

DSCF3278 DSCF3278 by sumeet.moghe on Flickr

Sumeet's place was the center of most monkey business, as a group engaged in some rough-housing. [Update: added video]

Maybe what is most amazing about all of this is how regular it seems to everyone. Certainly this day was my first time seeing monkeys in any setting but a zoo. It was already my second time seeing monkeys out of captivity, however. We stopped for breakfast at Mysore and found some rather hungry and bold monkeys -- one even stole a sugar cane!

DSCF3200 DSCF3200 by sumeet.moghe on Flickr

The last bit I have to share comes in the form of advice derived from stories we've heard since being here: don't feed the monkeys. It's well-known that monkeys are smart. Once they get food, they start to expect food. It's not long before they become ornery with visitors who aren't feeding. With all of this in mind, I've never seen a better-placed sign.

Don't Feed the Monkeys