The power of imprinting
I spent a week in KMSâ Arlington office to lead group studies for new college hires. We went through architecture, datastore, Linux fundamental, networking, CI/CD etc., all kinds of topics. But I found lectures were not that productive. New hires nodded during the lectures, the next day when you asked, very little stayed. You canât build Rome overnight. And people donât learn by listening, we learn by doings. To learn a new thing, we need to go through âKnowing - Understanding - Experiencing - Applying - Masteringâ phases. Armong them, we need to stay in the loop of âUnderstanding - Experiencing - Applyingâ for many rounds, before we achieve mastery. Many people have the illusion of understanding or even mastery of a skill, when they barely know the terminologies. I know. I was one of these people. Mastery means you stop thinking about the skill, you internalize it, it becomes part of you. Mastery is freedom. When Yo-Yo Ma closes his eyes and plays cello from his heart, that is mastery. The last few sessions we switched to hand on labs. It was so much better. We played local stacks together. We login to components, look at their processes and their file systems. We run API calls and watch logs and metrics generated from each hops of the request processing pipeline. You think every college hire from computer science should know Linux by heart, edit files in Vi like a wizard, understand Git like they were born with it? Nope, colleges donât teach them that. You are lucky if college hires even know there is a thing called âBashâ. But that is ok. We were all like that when we were young and stupid. The important thing in these group studies is not to teach them everything they need. Instead I want to give them a sense of: 1. Learn how to learn. Learn by doing: explore, try and error. For KMS engineers, play around different key types, decrypt, encrypt, sign and verify, using symmetrical keys and asymmetrical keys. Donât just read, donât just watch videos, do something in the local stack, open the payload, peek into the logs and metrics, break it and fix it. That is how we learn. 2. Learn problem solving. New engineers often blindly copy and paste from the run books. When they fail, instead of asking why, they just randomly pick something else or repeat the same things, hope after 20 times the command magically works. But good engineers have an arsenal of problem solving methodologies. They observe, reason, form hypothesis, try, prove or disprove their thesis. They quickly build a mental map out of solving problems. That is why they rarely get stuck. Problem solving is a skill to be learned by itself. But the more important thing is I want to imprint the KMS culture to new hires: engineering is hard, running a tier-0 cryptography service 24/7 is hard, but it is also fun. It has deep meaning and value to us, to our customers, to human society. Work hard, have fun, make history!Ac
Last updated
Was this helpful?