How do SDE paint a Tiger from a Cat
“Hi Jack, how is Tommy doing in his project?”, I was checking in with a new SDM Jack. Tommy is a junior L4 SDE Jack hired from college recently.
“Ah, Tommy is researching on data retention policies for our logs.”, Jack said.
“Research? I thought Tommy’s project is to enable real time log streaming on the new fleet. We’ve done it multiple times in other fleets. Tommy just needs to follow the onboarding run-book and get it done.” I was puzzled.
“That was the plan.” Jack said, “but then we thought maybe we could use a different retention policy for low volume data so I asked Tommy to do some research and come back with a proposal.”
“Hmm, how long has Tommy been doing the research?” I asked.
“About a week.” Jack answered.
“What do you think is the most important thing Tommy needs to learn at this stage of his career?” I asked.
“I don’t know … Coding?” Jack was confused.
“Right. Or we can generalize it as technical execution. Tommy is not ready to make ‘real technical decisions’ yet. Making good decision requires good judgment. Good judgment involves considering various factors, drawing on past experiences, and applying critical thinking skills to reach a rational conclusion. Junior engineers fresh out of college don’t have past experience. They are still building experience. So at this stage researching on policies won’t benefit them that much, they learn the most by doing things, hand-on experience. They should try to understand the context of the problem and the solution, but their main focus is to learn the engineering fundamentals through executing the decisions.
I call this stage ‘paint a cat from a cat.’”
“Interesting analogy. So when do they stop painting cat from a cat?” Jack is intrigued.
“In Amazon, when they are L5 engineers. At L5 level, we expect engineers to take an existing solution but tailor it to a new context. It is not the exact copy, they may have to diverge from the original runbook at some point. But the nature of the problem is close enough. L5 engineers are able to invent and simplify a little for the context based on the original design.” I continued, “I call this stage ‘paint a tiger from a cat.’”
“I see, the problem is a tiger, but it is similar enough to a cat.” Jack laughed. “What is the stage after this?”
“That will be to ‘paint a tiger from a tiger’. But that is a dangerous thing. Tiger can eat you if you are not skilled enough. Usually we use L6 senior engineers to do this kind of high risk, high return projects. But back to Tommy’s dilemma, how will you coach him next to paint the cat?” I asked.
“I know what you mean now.” Jack said, “I will just ask him to follow the existing policy from other fleets and focus on concrete execution - paint the cat from a cat. We can always change the retention policy later, it is a simple config. There is no reason to be blocked by this!”
“There you go. Until next time.” I moved on.
Last updated
Was this helpful?