Tag Archives: Life

Counting down to Google I/O


I’m starting to get incredibly excited for this year’s Google I/O.  We’re just 10 days away from it’s commencement and I have word from my close friend that he’s booked our hotel room. We’ve compared notes, vetted the list of sessions we want to attend, and are excited to meet the worldly gaggle of like willed people who attend this event. On the short list are the mobile development sessions and the tech talk series. This coming 6-months should prove quite frantic with the number of devices coming to market and the stage is set for a lot of innovation.

At this years event I’m interested in meeting with other test minded developers to discuss the current cutting edge in testing applications on Android devices. I’ll mention ahead of time that I consider everyone involved in the software process a developer whether you’re someone who tests code, writes documentation, are a project manager, or simply write code. Drop me an email if you’re interested in chatting!

 

Oh, the places you’ll go!

http://www.stockphototalk.com/photos/uncategorized/2007/10/29/masterfile_39_royalty_free_2.jpg Yes the title of this post doesn’t hide that I’m about to dive into a short story of some sort… and yes as a child I tended to take my Dr. Seuss and Shel Silverstein tales with much seriousness.

These last few months I’ve been struggling for excitement and passion at work. I came to several realizations, some not so pretty about why I felt stuck.  In the interest of not speaking ill of my soon-to-be previous employer (note: there is no ill… honest) I’ll simply say the goals of the organization and mine diverged (Shifting Sands) and have continued to follow different paths.  There were of course many good experiences, I just realized my time to leave had come.

I followed the advice of several people (after brief conversations on twitter: James Bach, Lanette Creamer… to name a few) and created a syllabus to guide my learning. Part of this self imposed syllabus included pushing myself to reach out into the professional amphitheater and start gathering experiences and learning from my peers. This has included attending conferences, uncons, after work meetups, and anything else that I could toss myself into.  Of the conferences I attended, GTAC was by far one of the most influential for me. There was a lot of mad-technical-geekery as there should be but what struck me was the level of passion.

 

roarAfter stepping into the convention center I was at once immersed into one of the most passionate-hotspot nests of technology centric people I’ve ever met.  When I say impassioned, these were not your typical simple get-thy-geek-on types but expanded to include a passion for how internal development processes impact the end users and reflect how the dynamics of the teams are impacted.  The types of people who want to talk about optimizing process, discussing what seems to work and what has failed… the type of people who have an innate thirst for knowledge and are driven by that curiosity to explore. In short these were my types of people and to shorten the story even further it turned out I was their kind of people too.

Post conference I had a wild ride of strange luck and landed multiple interviews with interesting places and interesting people (Opera, Google, Amazon, Mozilla, to name a few).

That said I’d like to announce that I’ve accepted a QA Engineering position with Mozilla! I’m very excited to start this new adventure come January 31st, 2011.  I truly look forward to working with an incredible group of people who work on projects that make significant contributions to millions of peoples lives.

Shifting sands

Yesterday (Friday) I received an email from a project manger announcing the dissolution of the team that I’m on and that we are to be assimilated by the b0rg or the developer teams in our department. You see the teams need help meeting their customer deliverables and our little 3 person test automation team decidedly knows how to and enjoys coding.

Many of you at this point I suspect will laugh at me, the little (or big) voice in your head will say “oh but the places I’ve been, this young whipper-snapper will see many more of these in his lifetime.” I am aware this phenomena, it is industry non-discriminate. I come from a psychology background and have worked in homeless shelters, youth detention centers, health clinics in 3rd world countries, etc; I understand the importance of teams that are dynamic and able to handle the immediate need.

A little history, 2-years ago I jumped on the test-automation horse as an intern. At first the prospect of working as a tester scared me, would I forever be labeling myself as a tester and axe any future career moves to work as developer on teams? One of my loves is developing and writing code and I didn’t want to inadvertently limit the scope of future employment opportunities.  A few old-timers in the department even went so far as to warn me that their 25+ year careers had been shoe horned into the testing category because of early decisions they had made when they were fresh from the ranks of college.

A couple of items I’ve learned in the last 2-years:

  1. I’m a stickler for quality – I love driving innovation through quality practices.  Agile, XP, pair programming, TDD, continuous integration, etc.  The quicker a problem is discovered the cheaper it is to fix. Siloing of knowledge is just plain bad for a team and a product.
  2. Breadth of knowledge – I have had broad access to the systems we test and understand nuances and aspects of our products that evade some of the developers because of their macro-expertise.
  3. Creativity – Writing automation harnesses & frameworks is a challenging and ubber::fun process. Answering the question of how do we test X without re-implementing the functionality of X leads to very diverse and important conversations with teammates. This leads to understanding how the product works (or should) from multiple points of view: customer proxies, architects, developers, manual testers, mangers, pms, spouses, etc (I know I’m leaving a few people out). The point being that to automate the testing of X extension or product you need to be able to integrate all of these perspectives and then decidedly take your own road towards how to automate a testing solution targeting the highest areas of risk.
  4. Give me a Volkswagen not a Cadillac - Ultimately give me the right amount of bang for the buck. A team member who I love to argue with always pushes for the simplest solution to solve the problem. Distill the essence of the problem and don’t gold plate the solution, you don’t know what you don’t know so don’t plan for it.
  5. Sometimes you want more than a VW Bug – In conversations with teammates I changed the previous analogy to taking a single-speed bike and turning it into a 21-speed. Usually after riding a single speed bike you quickly start to see a pattern for the type of terrain that your attempting to negotiate, at that point it might be time to refactor your approach and your code. I recently spent some time automating testing on a few database centric extensions and I started to notice a pattern in the approach I was taking at testing these scenarios. After 2-weeks of fiddling with a new approach in-between deliverables my dbtester framework was born. Instead of it taking me several hours to churn out a database related test it now takes me a quick 15-minutes to script a new test.
  6. Bolt on a motor to your 21-speed bike – The team liked the testing approach I took with the database scenarios and we’re now taking what we learned from my experiment and are refactoring our other frameworks to more closely follow this paradigm shift.