Just over a year ago I wrote a post about learning one thing each day and since I've been struggling to do this lately I thought I'd come back to this topic again.
My general thinking at the time I wrote that post was that sometimes it would be really difficult to find a way to learn anything on the project I was working on and the only way to learn would be to play around with something outside work.
While I still think it's useful to learn new things I'm moving towards the opinion that we have more chance of making things interesting for ourselves and therefore create opportunities to learn than we might imagine.
The underlying idea is that if it's boring and repetitive then find a way to make it interesting.
For example, I've been working on some cucumber regression tests today and I know that I can easily write the scenarios out manually but it's incredibly boring and unchallenging for me to do that.
I therefore decided to see if I could construct a cucumber table of the fields to be filled in by using jQuery to find all the field names on the page and then printing them out to the console with the appropriate values before pasting it into the cucumber scenario.
The next step is to see whether it's possible to record a scenario with Selenium IDE and convert that into a Cucumber scenario, assuming that's not already been done!
It's certainly not as productive initially as just writing out the test manually but it's much more interesting and potentially saves time in the future.
I think it's much better to take this type of trade off than to just mundanely go through what we're doing with minimal motivation.