I love doing paired work and I try to do it as much as I physically can while working on stories within my team. This is not the only time that I’ve adopted this paired approach – Over the last couple of months I’ve had the pleasure of some paired learning with Gemma Lewington (@GemmaLewington) one of the awesome testers at NewVoiceMedia, she is a serious ninja and someone I have learnt so much from during the last year and half. We both identified a desire to learn more MySQL so we thought it would be a great idea to try to learn this together.
We all have to start somewhere….
We needed to establish “where we were at” skill level wise – I can only speak for myself here but before i joined NVM I couldn’t even explain to you what a very basic SELECT statement did – why would i know? It was never something that i had any exposure too in my former roles. Gemma had the great idea of creating a skills matrix:
We chose some of the popular statements and assigned a 1 to 5 score to these – 5 being “Very confident”. We had our starting point!
How did we progress our learning forward?
One of the first things we did was talked, that sounds like a stupid thing to mention because it’s so obvious but we work in different teams and on different pieces of work so our daily work patterns are slightly out of sync. I also tend to work from home a lot so we had the added pressure of finding a day that suits both of us, to set up a learning session. The best thing about this experience was that we were not being told to do this or to make time to learn something we didn’t want to – We were doing this off our own backs so if we did miss a meet up day or let it slip by a day, it was never a big deal.
One thing that I think helped us in the early weeks was that I suggested that we both pick something for the other person to teach, in the next session – So I would say to Gemma ” I’d like to know more about ALIAS” and she would in return say to me ” I’d like to know more about JOINs”.
For me there were 2 main reasons for doing this:
- It forces you to go and research the topic in greater detail and prepare to teach this back to the other person. Practicing the art of verbal explanation.
- It gives the next meeting more focus and structure, it sets out an agenda rather than turning up and spending 30/60 mins not really going through anything.
What made use of the W3Schools website to give us something to build from, the templates were kind of perfect for our needs.
We could take something like:
Extract from W3Schools
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName=”Around the Home” AND c.CustomerID=o.CustomerID;
Then apply this to our context by using our databases and tables etc – It made them come to life and it made it easier to explain and visualize the end result in our minds.
Really picked up the basics in a very short time….
After a few weeks we were starting to get really confident and were using lots of things in the same queries like Multiple JOINS between Databases, ALIAS for every table, renaming columns, INSERTS etc. We would send each other random queries that we knocked up while testing and kind of showing them off in a “Check this out!!” sort of way. It was great.
We added things that we found useful to a central “Useful SQL Queries” page so that other members of the team could reuse these, I’m not saying these were perfect (mine at least) but there was no point in just making throw away statements, when these could benefit others.
Not keeping it to ourselves…
As this was a sharing experience, was chose to present this experience to the rest of the test team in our weekly meeting and explaining that having the confidence to get in to the database and not be scared about all the data in there can be a massive help to our daily testing. Being confident enough to give queries that I had written to a developer was a massive step forward for me and it proved how far I’d come. We will continue to practice these newly found skills and increase our knowledge and ninja MySQL skills.
I would encourage everyone to get some paired learning going, not only with people within your companies but with others in the community – only good can come out of this!!