Monday, April 06, 2015

Visual Resume Template

Some time ago I posted about my visual resume. I think visual resumes are a great way to show off things you’re proud of in your career, so I started passing mine around together with my traditional resume.
Jim Holmes Visual Resume
More recently, someone asked if I’d put my resume out as a template, so I did! It’s a Visio file, and you can find it here on GitHub. I released it under Creative Commons CC0 which means, I think, you’re fine to do whatever you want with it.
Just don’t plagarize my stuff as your stuff. Other than that, I wish you well!

Wednesday, March 18, 2015

Changing Cucumber Fonts in Eclipse Editor

Problem: You’re writing Gherkin in Eclipse and you can’t figure out how to adjust font size in your Feature editor.

Solution: It’s actually in the Basic text editor. Window -> Preferences -> Appearance -> Colors and Fonts -> Select “Basic” folder in panel -> Text Font -> Edit.

Bonus: Make sure you’re using the Eclipse theme color plugin plus the Cucumber for Eclipse plugin.

Tuesday, March 17, 2015

Three Months with the Surface 3 Pro

I’ve had a Surface 3 Pro now for three months, and I thought I’d share my experiences with it for those interested.

TL;DR version: I hate it BUT I have some very specific use cases I bought it for—and it fails horribly at those. I know others who love their S3s, and there are a few things I do like about the system.

First off: My needs

I bought the Surface to handle loads of content production, authoring, and training when I figured I was heading out as an indie. I didn’t feel I needed a high-horsepower dev system, as that’s not my area.

Specifically, I needed a system that kicked butt at:

  • Running smaller-sized VMs
  • Video production
  • Writing
  • Portability
  • Light dev work

I purchased a top-of-the-line i7 Surface 3 Pro with 8GB RAM and the 256 GB SSD. I also sprang for a docking station and a few other odds and ends. Total cost was somewhere around $2,200 I think. (I’m on the road and away from my receipts…)

The Good

There are some things I really enjoy about the S3:

  • Form factor. Small, very lightweight.
  • Keyboard. Except for the trackpad (see below), I like the keyboard. I take my MS Ergonomic full-sized board along if I’m doing workshops or sessions where I have to code, but for general authoring and every day usage the keyboard/cover works really well. Great feel, good responsiveness.
  • Docking / undocking ease. Holy crap. I’ve suffered through decades of Microsoft’s crappy docking mess. The Surface 3 plus Win8.1 makes it a snap, literally. It’s a joy to not have to deal with the drama from way back.
  • Stylus. Freaking. Awesome. Great feel, extremely precise, great use of buttons on the pen. Kills anything I’ve used on the iPad. Did I mention it’s awesome?
  • FreshPaint. I badly missed Paper on my iPad. I fell in love with it for doing craay craay slides for demos and presentations. FreshPaint is nearly as good, although there are several icons/buttons that are a total mystery to me. The help for FreshPaint is non-existent, apparently.

The Bad

Here’s where the wheels fall off. Completely.

  • VM perf over USB3 is unusable. I lose horrific amounts of time trying to run VMs off an external USB3 drive—the same model I’ve had on other systems. It’s horrible. It’s unusable. Which means some of my demos requiring multiple VMs turn into a complete cluster fill-in-the-blank. I had better performance on Firewire 800 on an older MBP.
  • Power management. I hope the crew that designed power management on the Surface 3 gets infested with bedbugs and fire ants. The power management options are stupid, such that:

    • I can’t tell the system to stay awake while on battery, but turn on the screen saver. Utter fail when I need to leave the system on for long-running renders and uploads.
    • Hook up the S3 to my Bluetooth speaker, start music playing, system shuts down and goes to sleep at the hibernate timeout period. Apparently that timeout doesn’t monitor background system activity. Sigh.
    • Battery life is pathetic, even when I’m not running anything. Apparently there are a bunch of registry hacks and deep system tweaks I can do, but WTF? Seriously? Yes, I know, I’m holding it wrong.
  • The screen driver is tetchy and causes issues when I’m working in VMs. It also won’t let me properly use Telerik Test Studio on the native S3.

  • Sound output managment. Every time I plug in headphones I have to reconfigure the default playback device to play over my headphones. Same if I want to use an external Bluetooth speaker W.T.F?!? Crazy usability #EPICFAIL with much profanity.
  • My device died a horrible death a month after I bought it. Best Buy Geek Squad guy wrote “BIOS screwed up” on the RMA. BTW, this is the second Surface 3 we’ve had die. My wife’s bricked a couple months after we bought hers.
  • Wifi and bluetooth are tetchy. Dropped connections are far too frequent.
  • Touch screen experience inconsistent. Sometimes I click a finger into a field and it won’t recognize that I want to type.
  • Weird stuff when rotating (keyboard disabled, touchscreen weird)
  • Apps (other than FreshPaint) are meh

Do keep in mind my very specific use case. I know other folks who love their Surfaces. Good for them, and frankly I see some good use from this when watching Netflix or reading while on the road.

That said, for ME this is worst tech purchase ever. Over $2,200 with docking station and extras. Wish I’d gone with a completely different platform. :-/

Monday, March 02, 2015

My First Day with Pillar!

It’s another new chapter for me today: I’m joining Pillar Technology as an Executive Consultant!

I’ve known folks at Pillar for years in many different roles. They were instrumental in helping us sponsor CodeMash, and they’re deeply involved in the Heartland region’s active developer community. When we were struggling during the first CodeMash and knew we were tight on budget, Bob Myers, Pillar’s CEO, personally wrote me an extra check for $2,000 just in case we needed it. I was happy to be able to return it to him, but wow, what a great gesture!

I’ve talked with Pillar several times over the years about coming on board, and I always respected their team, but things weren’t ever quite right for one reason or another. Pillar’s Matt Van Vleet’s probably bought me as many breakfasts as he has key clients…

When I came back on the job market in December Pillar’s Don Abney immediately reached out to me and I had a great chat with him. I was extremely impressed with the extreme focus Pillar’s showing now, and I was very intrigued by the serious change they’re making in the organizations they’re working with.

Today I’m onboarding over at Pillar’s Forge in Columbus, and tonight I’m driving up to Detroit where I’ll start at a huge enterprise helping some of their teams build up their testing and delivery competencies. And automation. Go figure. I’m excited because I get to roll up my sleeves and do work, as well as help coach others along—which always ends up transforming me as much as those others.

It’s an exciting future, and I’m looking forward to the journey!

Thursday, February 26, 2015

Don't Start With Automation

I’ve lost track of the number of times new testers have asked me some variant of “I’m new to testing. What automation tool should I start learning?”

I really appreciate their excitement about automation—especially since I’ve made automation my wheelhouse—but it’s not the thing new testers should focus on!

Testing’s a craft with a whole lot of tools, most of which are between one’s ears. You need to focus on developing your skills as a craftsperson, not just jumping on the automation bandwagon. (Please, do join me on board, though. It’s a great wagon to use for parts of your testing ride!)

As a newcomer, there are a tremendous number of things you can use to build up your testing skills. In no particular order, here’s a few things I’ve pointed people to over the various years.

People:

  • Elisabeth Hendrickson, aka @TestObsessed on Twitter. Funny, wise, calm, extremely thoughtful tester. Her Test Heuristics Cheat Sheet is caramelized unicorn bacon drenched with awesomesauce.
  • Michael Bolton (@MichaelBolton) is a great thinker and writer in the testing space. He’s strong coffee and very opinionated, but I’ve gotten a lot out of reading his material. Much of Michael’s writing is at DevelopSense.
  • James Bach (@JamesMarcusBach) I’m really not a fan of James’s personality, but he’s done a lot of great thinking about what testing’s really about. Read with an open and skeptical, questioning mind. His deck on test cases is a great read.
  • Lisa Crispin (@LisaCrispin) and Janet Gregory (@JanetGregoryCA) are both smart folks who you should follow.

Other people who I’m not taking enough time to describe their awesomeness, but simply list. All are easily discoverable on Twitter, Google, etc.

General testing folks

  • Matt Heusser
  • Michael Larsen
  • Alan Page
  • Trish Khoo
  • Paul Carvalho
  • James Lyndsay

Automation geeks (who are also great testers, btw)

  • Adam Goucher
  • Richard Bradshaw
  • Dave Haeffner

Please keep in mind: these folks are a starting point! Many are folks I know personally and respect, and they’re pals. Expand beyond this list!

Books:
There are plenty of great books to read; these are a few titles that really stick out:

  • Beautiful Testing
  • ExploreIt!
  • Agile Testing and More Agile Testing
  • The Art of Agile Development
  • The Art of Unit Testing in .NET
  • Specification By Example
  • A Practitioner’s Guide to Software Test Design
  • ATDD by Example
  • Lessons Learned in Software Testing
  • Experiences Of Test Automation

Community:
Find testing groups near you, or start one! Look to some of the various online testing communities. Weekend Testers is a great start!

Conferences:
Some conferences are great, so are a waste of time and money. But I’m slightly opinionated…

  • CAST
  • EuroStar
  • STP Conference

Branch out to good developer conferences where there’s a welcoming, encouraging atmosphere. I’m biased, having been on the Board of Directors, but CodeMash is one of the best conferences you could hit for cross-polinating.

Other:

  • Elisabeth Hendrickson’s blog Test Obsessed. She’s stopped posting since moving out of the consulting space; however, her writing is gold. Just. Plain. Gold.

Don’t Stop Here

Testing is about curiosity. It’s about sharing information with your team, organization, and customers. It’s not about “assuring” quality—you as a tester simply can’t do that. You can be part of a team that delivers great quality.

Go out. Explore. Learn.

THEN go get started in automation.

Friday, February 13, 2015

Fixing Slow/Hanging VMWare Guests

Problem: Your VMWare guests may be incredibly slow or all together hang.

Solution: (One potential one) Check if your VMs disks have become corrupted. Repair them if so.

Steps:

Do the following with your VM powered off!

  1. Find the logs for your VM. They’re usually in the VM’s root directory, eg

    E:\VMs\2012R2\Win2K8R2.vmwarevm

  2. Open the latest logfile in that directory, eg vmware.log

  3. Search for “repair”
  4. If you find hits similar to the example below, you’ll need to run the disk repair utility.

    2015-02-13T14:00:06.102-05:00| vmx| I120: DISKLIB-DSCPTR: Opened [2]: “Virtual Disk-s003.vmdk” (0xa)
    2015-02-13T14:00:06.107-05:00| Worker#0| I120: DISKLIB-SPARSE: “E:\VMs\2012R2\Win2K8R2.vmwarevm\Win2K8R2-s001.vmdk” : failed to open (14): Disk needs repair.

  5. Open a command prompt and navigate to your VMWare install directory. On my system it’s:

    C:\Program Files (x86)\VMware\VMware Workstation

  6. Run the following command, where “” is the folder containing your VM’s disk—likely the same folder you found the logfile in above.

    vmware-vdiskmanager.exe -R

  7. Start your VM back up. Once it’s back up and stable, check the latest logfile and search for the same “repair” error. If “repair” isn’t found, search for the same file opening entry just before you ran the utility:

    2015-02-13T14:00:06.102-05:00| vmx| I120: DISKLIB-DSCPTR: Opened [2]: “Virtual Disk-s003.vmdk” (0xa)

  8. Verify there aren’t any errors.

Hopefully this will get you up and running!

Wednesday, February 11, 2015

Fixing Outlook Search Issues

Problem: Outlook’s “instant search” isn’t returning any results, or search isn’t returning results unless you change the scope from its default Current Mailbox to something else.

Solution: (Well, more accurately One Potential Solution) Run scanpst.exe, found in the same folder as Outlook.exe. On my system that’s C:\Program Files (x86)\Microsoft Office\Office15.

Point the utility at your PST or OST files. It will scan them. If it finds errors, you’re offered the option to back them up (Duh!) before repairing.

Fixed up my search problems that had been nagging me for a bit too long…

Thursday, February 05, 2015

Speaking on Leadership at KalamazooX Conference

I’m really pleased to be returning to the KalamazooX Conference as a speaker. KalX is my second favorite conference in the world, right behind CodeMash. KalX is something very, very special because it focuses on the human side of things: inspiration, motivation, self-improvement, self-fulfillment.

Mike Eaton invited me back to talk about leadership, so I’m polishing up a new talk “Growing Into Leadership based on previous talks, workshops, and of course my Leadership Journey book.

If you’ve been to KalX you know how special it is. If you’ve never been, I encourage you to consider attending—even if you need to travel. It’s that special. It’s that worth it.

Go register now on Eventbrite. You won’t be sorry. I promise.

Wednesday, February 04, 2015

I'm Listed in Top 21 Automation Blogs

I was surprised to find my blog as #3 on Testbuffet’s list of the Top 21 Test Automation Blogs for 2014. That’s quite flattering, and I’d like to give a big “Thanks!” to the folks at Testbuffet and the evaluators for that list.

That list is a great resource for you if you’re trying to broaden your reading horizons. There’s a lot of smart testers writing on topics other than just automation there!

I’d also encourage you to check out other lists from Testbuffet:

Tuesday, February 03, 2015

Book Update

Update: Wow, StackEdit did a horrible job of posting this! I had to fix several format issues including the book's price, which is is $12, not $122.

In case you missed it, I’m writing The Leadership Journey on LeanPub. The book’s meant to help individuals become great team leaders.

Pricing for the book is pretty attractive: Minimum price is FREE and recommended price is $9.49. When I release the price will change to minimum of $5 and recommended around $12.

The book’s currently at 67 pages and around 13,600 words. I hesitate to put a figure on it, but I’d estimate I’m around 50% - 70% done. Mind maps lay out the sections and their rough status, so you’ll have an idea where the book is going.

The latest major update is getting started on dealing with Impostor Syndrome. Self-confidence is a critical part of leadership, and I want readers to have some concrete actions to deal with self-doubt which can turn out to be quite destructive.

If you’ve signed up and are getting the updates, I’d love to hear from you.

If you’re not currently reading it, but are interested, go grab it! Please do let me know what you think of it, either on the LeanPub discussion group for the book, or via e-mail: Jim@GuidepostSystems.com.

I’d love to hear what you think of it!

Wednesday, January 28, 2015

Find me at CodePaLOUsa 2015

I’m very pleased to announce I’ve been selected to give two pre-conference workshops at CodePaLOUsa 2015!

If you’re not familiar with it, CodePaLOUsa is a terrific four day conference in Louisville, Kentucky. It’s organized by a number of terrific community folks including Chad Green, and it’s a wonderful conference full of great speakers and attendees. This is another conference where the hallway conversations are every bit as great, if not better, than the sessions themselves.

For my part of the schedule I’ll be doing my Leadership 101 workshop plus my Testing Web Applications with WebDriver session.

I hope to see you there if you’re in the neighborhood!

Tuesday, January 20, 2015

Hone Your Craft, Raise Your Hand

Last week I was talking with some folks at Pillar in Columbus, Ohio, and we were discussing career progression. The discussion evolved into how individuals could move up a career path, or be recognized as wanting more responsibilities.

John Huston, one of Pillar’s leaders, made the comment “Hone your craft, raise your hand.” That comment really struck home with me, so much so that I grabbed a 3x5 card on the table and scribbled the phrase down right in the middle of the ongoing discussion.

I love John’s phrasing because it concisely sums up one of the best ways you can advance along your career path: work hard, ask for more responsibility. I’ve always been a believer that hard work gets recognized in good organizations. [1] It’s not immediate recognition; sometimes it takes an extended effort to get to that point.

Honing your craft is critical both to you and the organization you work for. Honing your craft means you need to invest the time and energy in a focused, planned effort to improve your skills. That helps you get better at your job. Your improvement rolls up into your organization’s ability to better deliver value to whoever the customer or end users are.

Raising your hand isn’t always easy. First off, many of us (I’m looking hard in the mirror here) have problems letting our leaders know we’re ready for more responsibility. We may suffer from impostor syndrome, we may feel it’s arrogant, or we may just have a hard time speaking up. (I suffer from all three…)

Regardless, it’s something that everyone should strive to feel more confident about. Asking for more responsibility makes sure your leaders know you want to help the organization in one fashion or another&emdash;and that’s something they may have been too busy to notice.

My most favorite jobs have been opportunities that popped up after having worked hard at other roles: Director of QA at Telligent, Director of Engineering at Telerik, and a few other things further in my past. I didn’t plan for those advancements, I just worked hard at the role I was in and made it clear I was happy to take on other tasks as needed. That mindset worked out well for me and resulted in neat opportunities I’d never thought of.

Obviously my journey’s different than yours. Your mileage may vary. Insert other disclaimers here as necessary.

Point being, too often we forget that sometimes the best way to advance in one’s career is simply to focus on improving how we do our own work: Hone your craft. We also forget it’s good to let your leadership know you want more responsibility: Raise your hand.

Hone your craft, raise your hand. Solid words for moving your career along.

[1]Yes, yes, there are places and situations where it doesn’t. Remove yourself from those. You own your own path.

Tuesday, January 13, 2015

CodeMash Session Follow Up

For those readers who attended any of my three sessions at CodeMash: Thank you! I appreciate the great audiences I had, especially those who braved the 55 or 60F temps Thursday morning in Cypress for my Ten Tips for UI Automation talk!

Here are resources for my three sessions:

Leadership 101 Workshop
- Slide deck
- The Leadership Journey, my book on growing into being a great leader.

UI Automation Workshop
- Slide deck
- Basic examples on GitHub
- Demo site showing table access, updates to UI for dynamic IDs and flag elements

Ten Tips for Web UI Automation
- Slide deck

Common references for web testing
- Dave Haeffner @TourDeDave on Twitter.
- Dave’s Elemental Selenium site and newsletter
- Richard Bradshaw @FriendlyTester on Twitter

Monday, December 29, 2014

My CodeMash Sessions

UPDATE: I had the days wrong. Leadership workshop is Tuesday starting at 8am in Salon H. My Web UI Automation workshop is Wednesday from 8-5 in Guava/Tamarind.
I’m flattered to have been picked up for two workshops and one regular session at CodeMash! It’s going to be great being able to focus on just giving great sessions and not worrying about herding various cats around.
Tuesday I’m giving an all-day workshop on web UI test automation. We’ll dive deep into working with Selenium WebDriver, but the concepts will cover plenty of other toolsets. I’ll likely spend a bit of time showing how a commercial tool like Telerik Test Studio fits in to things.
Wednesday I’ve been asked to do a half-day workshop on leadership. That’s incredibly flattering! I’m basing the content for that off my Leadership 101 series, plus the book I’ve just started The Leadership Journey. This brand-new workshop will be very interactive with a good number of exercises meant to help you really dig deep and figure out how to evolve your own leadership style. I’m pulling this workshop’s content together very quickly, and I’m both excited and terrified.
Thursday I’m in an opening slot at 8am talking again about web UI automation: Ten tricks to help you get the most out of your UI testing. The talk centers on web automation, but it really will help you regardless of what UI tech you’re working with.
Interested? Check the CodeMash schedule for details, or go grab the EventBoard app and get your schedule built up.
Got questions on testing, process, leadership, or something else? Look me up at the conference! I’d love to chat!

You Broke My Code? It's My Fault

I was having a conversation with a few smart folks a couple weeks ago and one of them mentioned a great mindset their organization has: “You broke my code? It’s my fault–I didn’t have the right tests in place.”

Step back and think about for a minute.

This quip really set me back on my heels. If you’ve read anything of mine over the years, you know how I feel about taking responsibility for one’s code and one’s tests. This organization’s mindset of owning the responsibility for bullet-proofing your own code with great tests is terrific.

It’s one thing (a great thing!) to step up to the plate and be serious about getting testing ingrained in your delivery process. It’s a serious elevation to get a mindset where every developer takes it personally when someone else breaks their code.

“You broke my code? I needed more tests.” What a great mindset.

Tuesday, December 23, 2014

Book In The Works: The Leadership Journey

I swore I’d never write another book after finishing 1300 pages of Windows Developer Power Tools with my co-author James Avery.

Famous last words.

When the kind folks at CodeMash asked if I could put together a four hour workshop on Leadership, I figured I’d better get some solid content laid out to make sure the class wasn’t just boring anecdotes of mine. I needed something more focused, and something with some practical put-this-to-use-tomorrow kind of ideas.

Apropos, let me introduce to you The Leadership Journey. This book contains the original Leadership 101 blogposts and will end up with a lot of new content. There will also be practical exercises to help you focus in on a few key things.

What’s the books goal? To help you answer a few key questions:

  • Do I want to be a leader?
  • What are my strengths and how can I make the best of them?
  • What are my weaknesses, and how can I best mitigate them?
  • How can I make my team be awesome?

I’m publishing the book on LeanPub with a recommended price of $9.49. I hope you’ll have a look at it.

What would you find helpful in your own leadership journey? Leave me feedback here in the comments, or over on the book’s LeanPub page.

Friday, December 19, 2014

Choose Wisely AND Back Out Easily

Alan Cooper (Yes, that Alan Cooper) had a great-sounding Tweet yesterday that made me stop and think:
Instead of choosing the correct path in advance, develop better tools to incorrect paths soonest and without rancor.
I get the point I think Mr. Cooper was trying to make: we need to be able to recover more easily from our mistakes in software. I especially love his point of “without rancor” because we need to be more accepting of the fact that the path to success is littered with unsuccessful tangents.
However, I’ve got a subtle iteration of his phrase I like better:
Do your best to choose the correct path at the start, but know how to figure out it’s an incorrect path, and figure out how to reverse soonest and without rancor.
I completely agree that we need to get in the business and cultural mindset of being OK with failure/mistakes, getting out of them as quickly as possible, and doing it without rancor.
That said, I’d prefer the subtle difference of emphasizing avoiding those mistakes where possible. We should not, repeat NOT get wrapped up in fear or analysis paralysis blocking us from decisions that might lead to mistakes or failures, but we should be doing enough sanity checking to ensure the choice meets business value requirements, fits the teams’ ability to deliver, etc.
In my Leadership 101 talk I make the differentiation between smart mistakes and dumb mistakes. Smart mistakes are ones made when you’ve been thoughtful about your approach. Dumb mistakes are when you dive in to dig a 14’x8’x18” rain garden pit, then realize you’ve dug it right next to your house’s foundation–not the place you want a lot of water sitting for extended periods. (Ask me how I know about this…)
Backing out from unsuccessful choices is critical. First spend a little time planning to ensure you can avoid as many of those choices as possible.

Wednesday, December 17, 2014

Rethink Your Hiring Critieria

This article on how Google's changing their hiring practices really hit home with me.
I've long viewed learning ability and problem skills as far outweighing where someone graduated from or what their resume history looked like. I've previously blogged about my thoughts on hiring, and  my position descriptions have tended to drive HR departments crazy because they weren't checklist oriented.
I've always been more interested in how well someone's going to approach working as part of a team over what classes on compilers they took, or what certifications they've passed.
Technology changes too fast to focus on criteria like "3.6 years working with .NET 4.5" or "Must have graduate degree in artificial intelligence." I'd rather have people on my team who have made some big mistakes, learned from them, and want to share that knowledge with the rest of their team.
Do your hiring criteria look like shopping lists in the technology buffet? Perhaps you might reconsider reworking those around criteria that focus on your organization's real needs: candidates who can help you quickly and effectively solve problems core to your business needs.

Monday, December 15, 2014

Hire me!

I'm open for work!
Last week I parted ways with Falafel Software. They’re a great bunch of folks, but we weren’t a good match culturally or philosophically. That’s absolutely OK, and we parted on good terms. I’m happy to continue recommending them and calling them friends.
That means, however, that I’m open and available for new opportunities! I’m actively looking for work as an independent consultant, or for any full-time spots where organizations think I might be helpful.
What sort of things can I help you with? I’m passionate about helping organizations deliver great value to their customers, regardless of whether those customers are external or internal. I’ve helped teams build out their testing skills (not just test automation, but overall testing), smooth out quality issues impacting their organizations, and cut out waste throughout their delivery cycle.
That may sound a bit hand-wavy to you, so for more details check out my LinkedIn profile, visual resume, or more “traditional” (eg ‘non-gonzo’)resume.
Want to chat about things in more detail? I’d love to talk with you! Drop me an email at my new Indie digs: jim@GuidepostSystems.com

Friday, November 28, 2014

Xamarin Studio: Publishing to Device Fails

Problem: Attempting to publish an app from Xamarin Studio to an iOS 8.x device fails. You may see various error messages about unable to write/find Manifest.plist, and you'll likely see an error message akin to AMDeviceSecureInstallApplicationBundle returned: 0xe8000097 (kAMDInstallProhibitedError).

Solution (mine, at least): Ensure the restriction for Installing Apps is active, not disabled. Under settings, check General | Restrictions | and ensure Installing Apps is allowed.

Subscribe (RSS)

The Leadership Journey