Diversity of skill makes people self-sufficient.
It's in a paragraph about the culture at Automattic, the people behind WordPress, when Berkun worked there around a decade ago. The paragraph continues: "They didn't need much help to start projects and were unafraid to learn skills to finish them ... They weren't afraid to get their hands dirty in tasks that in a mature engineering company would span the turf of three or four different job titles. That lack of specialization made people better collaborators since there was less turf to fight over."
The biggest problem, though, is that I'm just not very interested in build pipelines. I want them to be there to support the work, not to be the work.
But.
The other day I wrote this: "I like to sit at the upper end of the learning scale [which] means that I'll try new ways to accomplish understood tasks and take on tasks that I don't know how to do, just for the learning opportunity."
So, the build pipeline is broken and I say that like to take on tasks that help me to gather knowledge and context? Yes ...
So I investigated and worked out what the problem was, found the team who were responsible for it, understood the reason for their change, and suggested a workaround while also trying to fix the problem from our side.
I got some of the way then paired with another tester who has deeper knowledge of this stuff than me. She helped to move my remedial action along by spotting something I'd missed and we had a functional pipeline again!
So now I could pick up a new build? No.
It turned out that in parallel my team had introduced a problem of our own which was masked by the first issue.
Another learning opportunity? Yes ...
This time I was reasonably confident about where the issue lay, because we'd been doing work on one of our Jenkinsfiles in the few days before. Again, I diagnosed it and, as the developer responsible had been off sick, I thought I might also try to fix it.
With some help from Stack Overflow, and a lot of use of the Jenkins replay function, I was able to create a patch that made the build run again.
As it happened, the developer was back in work later that day, so I handed the issue over to her along with my patch. She ignored what I'd done and fixed the bug I'd found (and another I'd missed) in a much more elegant way.So.
Was I upset? No. Because I learned, and through my learning:
- I understood a little more about our Jenkins setup.
- I got some background in some new technology.
- I was able to ask deeper questions about the fix the developer made, which caused her to run a couple more tests.
I like to remind myself that learning is incremental and cyclical. I'll learn something this time that can be helpful next time (like searching our company repos in a certain way to help find specific kinds of changes, or the Jenkins replay feature, or some terminology, or looking for particular log entries). Berkun's quote at the top also helps; you are more self-sufficient when you have more diverse skills.
Despite this, stepping into a task you don't know can still feel seat-of-the-pants. It's worth it in the long run, though.
Image: Wiley
Comments
Post a Comment