How I continuously hone my skills and why you should too

As a consultant, and even more so as a freelance consultant, it is imperative to stay relevant and be able to land your next project every time. Or, and that’s the position I prefer to be in, have your next project(s) find you. I thought it would be a nice idea to share with you how I go about trying to keep up in the ever changing world of test automation and testing and software development in general.

Before I dive into the strategies I employ to remain relevant, though, I’d like to stress once more that test automation, like testing and software development, is a craft. I’ve said this so many times already, but I’ll just press ‘repeat’ and say it once more: being a good test automation crafts(wo)man requires specific skills that need to be constantly sharpened it you want to remain relevant. And I don’t think I’m going out on a limb here when I assume that you actually want to remain relevant.

Also, I’m writing this post partly as preparation for a potential mentee that contacted me with some questions regarding test automation career development. If this comes through it’ll be the first time for me in a mentor role, and that’s something I’m both very much looking forward to and scared as hell of..

So, what is it that I do to try and stay on the forefront of the test automation field as best as I can?

Discover your way to provide value
I’m no proponent of the ‘jack of all trades, master of none’, excuse me, ‘generalist’ approach to career development. I think in order to be truly valuable to any team or organization, it’s important to pick your superpower and grow it as best you can. For me, that’s helping organizations define and implement the best possible way for their test automation efforts. For others, that might be writing the best possible Selenium tests, or being the best possible software tester, or … It doesn’t matter WHAT your superpower is, as long as it provides value to the software development process you’re likely to remain relevant for the duration of your career. You will need to monitor whether or not you’re providing value constantly, though.

Get hired for the role you want to grow into
This applies especially to freelance consultants. Teams and organizations that hire you tend to do that because you know how to do something well, simply because you’ve done it before. That’s all fine and dandy in the short term, of course (there’s always the next mortgage installment or child care bill that needs to be paid), but there’s a real risk of becoming a one trick pony in the longer term. Personally, I’m always evaluating a project offer for things I can learn myself and whether those are things that I actually want to learn, i.e., whether the things I’ll be learning will contribute to me being a slightly better consultant or trainer after the project has come to an end. I tend to get bored on projects quite easily, and that’s especially the case when I’m repeating the same stuff over and over for a couple of months. And that doesn’t help me nor my client.

For all of you that are employees, it might be a little easier, simply because organizations are often willing to invest in your professional and personal development. Still, I’d advise you to always ask as many questions on possibilities to grow and explore new things when in an interview. Being in a job that allows you to explore, learn and grow is much, much more important than an extra couple of hundreds bucks every month. Really, it is. Also, grow as a crafts(wo)man and that pay rise will come, if not at your current employer, then in the form of an offer from another one. At which point you’re advised to look for the professional and personal development options THEY provide, of course.

Honing your skills

Attend and speak at conferences
Next to my day to day work, I find that one of the best ways to grow as a consultant is by attending and contributing to conferences. And the talks and workshops offered by the organizational committee are but one of the ways you can learn and benefit from being at a conference. For me, meeting peers, discussing the craft with them, as well as some good old fashioned networking often proves to be even more valuable in the longer term.

And attending is just one side of the whole conference thing: actually speaking at one might be an even better way to improve your craftsmanship. Yes, preparing a talk takes a lot of time, but it is an excellent way to organize your thoughts and experiences and to ‘find your voice’. And yes, going up on stage is nerve-wracking, but remember: that’s what every speaker feels, even those that are way more experienced. Not convinced? Just read up on the #SpeakerConfessions hashtag on Twitter to see what I mean.

Reading blogs and listening to podcasts
There’s a wider testing and automation world out there, outside of the confines of your office (or wherever you do your work). I’ve been gaining access to the thoughts, experiences, successes and failures of fellow automation engineers and consultants for a couple of years now, simply by reading their blogs, learning from them and applying what I’ve learned in my own work.

Instead of singling out individual blogs that I read (which is quite a long list anyway), I’ll mention two of the greatest starting points for blog reading here: the Testing Curator Blog by Matt Hutchison and the Ministry of Testing blog feed. Both are excellent sources for all things testing and automation to read for your pleasure and learning.

Another way to learn from others is by listening to testing and automation podcasts. Since I spend a significant amount of time in the car (it’s been getting less and less, though, since I started reshaping my career, which is something I do like), I like to spend that time in a useful way, and one of the best is by listening to podcasts. There’s a large amount of software testing podcasts out there, so I’d suggest you to do a search on iTunes and find something you like. As for me, I almost never miss an episode of Joe Colantonio’s TestTalks or Keith Klain’s Quality Remarks podcast. There are some other podcasts that I listen to on and off again as well.

Writing your own blog
There’s no learning from other people’s experiences through blog posts without there being people that actually write those blog posts, obviously. I’d recommend you considering to start your own. To me, there’s no better way to organize my thoughts and express how I feel about certain topics than writing a blog post (or a series of blog posts) on those topics. They’re also a great way to showcase your projects, thoughts, insights and experiences to the wider world, although it must be said that writing a blog post or two and expecting the work and the world to come to you might lead to a little bit of disappointment. Instead, you should remember that you’re writing for yourself in the first place, anyone else reading or reacting on your posts is a bonus. Having said that, when you’re consistently (and consistency IS key) putting out decent content and showing it to the outside world, the interaction and feedback will come.

It’s just not going to happen overnight. As an example: it took me three years to get that little bit of traction I’m having at the moment. I’m very glad I stuck with it, though, because so much good has come out of it! Being given the opportunity to write and publish an ebook, being offered speaking opportunities abroad, writing articles for industry websites, none of it wouldn’t have happened (or at least it would have taken me a lot longer) without this blog. I’m grateful for that every day, and apart from the interaction with readers, it’s one of the main reasons I keep at it.

Wrapping this up, I’d like to repeat that continuously honing your skills as a testing or automation engineer, consultant or whatever it is that you’re doing is imperative to remaining relevant and staying ahead in the competitive business we’re in. Hopefully the above has given you some motivation or pointers to start being an even better crafts(wo)man than the one you already are. Again, I’d love to hear your thoughts and feedback.

How to move up from being good to being great?

Summer holidays.. A perfect time for taking a step or two back from work and reflect on what I’ve been doing this year, work-wise. Having just returned from my vacation, I can confirm that this year has been no different. One theme (or rather, one question) kept coming back over and over again this time:

How do I go from being ‘good’ to being ‘great’?

I consider myself to be a decent, sometimes maybe even a good consultant / writer / teacher / whatever it is I’m doing that day. While this is enough to be pretty fully booked at the moment, and even have the luxury of being able to say ‘no’ to tasks or projects I don’t really want to take on, I feel I can do better in many ways. It doesn’t feel like I’m failing, but there’s a lot of things that I feel I can improve.

Here’s a(n incomplete) list of things I’d like to accomplish on my journey from good to great:

  • Improving my consulting skills
  • Improving my public speaking skills
  • Improving my teaching skills
  • Improving my writing skills

These improvements would, in turn, hopefully lead to the following results (and who knows what else):

  • I’d like to grow a (small) back log of clients that I keep in close touch with and that I can help with their automation on a periodic basis, moving away from the hourly billing model towards a daily fee or a retainer
  • I’d like to speak at more conferences, and not just at testing conferences (no need for siloing knowledge sharing when the whole world seems to consist of multidisciplinary teams nowadays)
  • I’d love to get more bookings for my training and workshop offerings
  • I’d like to write and publish a short (e)book containing my views on the test automation craft

Achieving these goals is only part of the story, though. What would happen if I accomplished the above tasks? Would I somehow automatically start to see myself as a great consultant, rather than ‘just’ a good one? Being the cynical and self-criticizing b*st*rd that I can be, will I ever consider myself being more than half decent? I’m not exactly sure, but I’d like to think that hitting the above targets moves me in the right direction, at least.

One thing that struck me when reviewing the list, though, is that they’re all totally unrelated to getting more knowledgeable with regards to specific test automation tools. I just don’t think that that’s going to get me much closer to what I want to be. Of course, tools are important (no test automation without tools), but I don’t think that’s key to the step I want to take.

According to you, readers of this blog, how do you think one moves up from ‘good’ to ‘great’? I’d love to see your input on this matter! In the meantime, I will start to reach out to people that I consider to be on the ‘great’ level, see how they got to where they are now and what I can learn from them. Call it looking for a mentor (or two). In time, hopefully I can be a mentor myself. I’d love to be able to do that and teach others what I know.

If there’s one thing that my time off work has made me realize this year, though, it’s that there’s so, so many things that I don’t know or don’t master! I’m already looking forward to what the future will bring.

Utterly unemployable, or another update on crafting my career

I can’t believe we’re almost halfway through April already.. With 2017 well on its way, I thought it would be a good time for another post on the way I’m trying to craft my career and build my ideal ‘job’ (that’s intentionally put between quotes). As you might have read in previous posts I wrote on this topic, I’m working hard to move away from the 40 hour per week, 9 to 5 model that’s all too prevalent in the IT consultancy world.

I’m writing this post because I see another trend in the projects I’m taking on. Whereas earlier I would join an organization temporarily as part of an Agile team and take on all kinds of tasks related to testing and test automation, I’m more and more working on shorter term projects now, where clients ask me to build an initial version of a test automation solution for them and educate them in extending and maintaining it.

Not coincidentally, this is exactly the type of project for someone who gets bored as quickly as I do. A typical project nowadays spans between two weeks and two to three months and looks somewhat like this:

  1. Client indicates that help is needed in setting up or improving their test automation solution.
  2. I discuss with and interview client stakeholders to get the questions behind the question answered (what is it that you want to test in an automated manner? Does that make sense? What’s the reason previous attempts didn’t work?). This is probably the most important stage of the project! Failing to ask the right questions, or not getting the answers you need increases the risk of a suboptimal (or useless) ‘solution’ afterwards.
  3. I start building the solution, asking for feedback and demoing a couple of times per week, with the frequenct depending on the number of days I have for the project and the number of days per week I can spend on the project.
  4. I organize a workshop where the engineers that will be working with the solution after I have left the building spend some time writing new tests and maintaining existing ones. This gives me feedback on whether what I’ve built for them works. It also gives the client feedback on whether the solution is right for them.
  5. After gathering feedback, I’ll either wrap up and move on or do a little more work improving the solution where needed. This rework should be minimal due to the early feedback I get from interviews and discussions with stakeholders.

After my time with the client ends, I’ll make an effort to regularly follow up and see whether the solution is still to their liking, or if there are any problems with it. This is also an opportunity to hear about cool improvements that engineers made (and that I can steal for future projects)!

Next to this consulting work, I’m spending an increasing amount of time writing blog posts and articles for tech websites (and the occasional magazine). You might have seen the list of articles that have been published on the articles page. As you can see, it’s steadily growing, and at the moment, I’ve got at least four more articles lined up for the year, a number that’ll surely increase as 2017 proceeds.

Another thing I’ve noticed is that my work is slowly but steadily getting more and more international. This doesn’t mean I’m travelling the world consulting and speaking (at least not yet), but recently, I’ve been discussing options for collaboration with people and organizations abroad. These opportunities vary from writing, to taking part in webinars all the way to (remote) consulting projects. Not all of them have come through, and with a new home and two small children I’m not exactly in the position to travel that much right now, but I’m nurturing these relationships nonetheless, since you never know where they will lead you..

Currently I’m doing a trip in May for the Romanian Testing Conference, where I’ll host a REST Assured workshop and will attend the conference itself, and I’m looking at another trip somewhere in the fall. Not sure where I’ll be bound, but there are some opportunities that can definitely lead to something. And I’m always keeping my eyes and ears open for opportunities I just can’t say ‘no’ to..

I’m starting to love the ‘job’ (there are the quotes again) I’m slowly crafting this way. It gives me the opportunity to say ‘yes’ to the things I want to do, and to say ‘no’ if something isn’t interesting enough or if I don’t have the time. Although I’m still struggling with that last bit, there’s just too much cool stuff to do! I’m not sure how my career and my working days will look like in five years, so don’t ask. I hate that question anyway. I AM thinking about the future though, and about whether it will be as easy for me to do the things I love if a) I get older and/or b) the market for test automation slows down or comes to a halt.

I’m also noticing that I’m growing increasingly unemployable, in the sense that I can’t see myself working for a boss or manager anytime soon. The prospect of having to deal with end-of-year reviews, billable hour targets and having to say ‘no’ to something I want to do yet might not be in the best interest or directly profitable to the organization makes me never want to return to that anymore. I hope I’ll never have to, ever again. But I don’t worry about that yet, because it’s quite hard NOT to have a freelance project (or three) at the moment. Real first world problem right there!

The message behind all of the above is that in testing and test automation too, there IS a way other than spending 40 hours per week on a given project for months (or years) on end. I’m not saying that there’s anything wrong with doing so, but it doesn’t work for me any more, and I’m pretty sure I’m not alone. It DOES take time, effort and above all perseverance, though, to get where you want to be. Whenever I tell someone about an email I received through this blog, asking me to collaborate on a cool project, what they don’t (or even don’t want to) see is all the work I’m putting in writing and publishing a blog post. Every. Single. Week. That takes time. That takes effort. And above all, that takes perseverance. But only by persevering and putting out (hopefully quality) content habitually and sharing your knowledge, expertise and experiences (for free, mostly) will you start getting noticed. And maybe, after a couple of years, there will be some paid spin-off work. It’s worth it. It just doesn’t happen overnight, though.