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!!
Good post. I think that paired learning is a great idea, and yet I have seldom come across it in any of the many organisations that I have worked at! One of the best things about it, in my opinion, is that it keeps you productive and motivated – it would be very difficult to slack off if you have a partner next to you keeping you honest! I suppose one important thing for this to be successful would be to choose a suitable partner, someone that you enjoy working with and is just as motivated as you to learn whatever the subject at hand is. Finding the partner might be the hardest part!
Thank you for the comment.
We are very lucky at NVM to get given the time to learn something new, it’s factored in to our normal working life. It’s part of the culture here. If you’re not learning new skills or up skill the ones you already have, life can get very boring very quickly.
As we hire very like minded people the available people to learn with is never a problem at NVM.
What are the types of things that you are interested in learning – maybe someone in the wider community could help you out with this?
NVM sounds like a great place to work! I hope that, going forward, more companies can become this forward thinking.
Right now I am interested to learn more about Python – I know how to program and write code, but I am struggling a bit for inspiration on suitable programs to write that would actually provide some real benefit to me. I just bought a book, “Automate the Boring Stuff with Python” (after hearing a podcast from Joe Colantonio) to hopefully address this!
I suppose I could look for someone in the wider community to learn with, but do you not think that it would be better to be learning side by side with someone “in the flesh”, so to speak? Saying that I suppose any paired learning, remote or otherwise, is still of benefit!
People learn in different ways I guess – during this particular learning I was remote for a few sessions so we used hangouts and that worked well for us. I’m much more of a face to face person and I buzz of the interaction between the people in the room but we couldn’t make that happen every time so we were flexible and adapted our approach.
There are lots of people in the testing community that know a great deal about Python who I’m sure would be happy to help you out.
Best thing about the community is that every wants to share their knowledge and experience with others.
Lovely blog yoou have