When I start growing a junior engineer to senior, I remind myself of a dance story –
Choreography request
Several years ago, two of my friends asked me to choreograph their wedding’s first dance. The then future bride picked Ed Sheeran’s “Photograph” as their opening song.
Because they were good friends (and I was the best man), I took on the challenge.
We picked West Coast Swing because that’s been my hobby for about 10 years. They’ve seen me a few times on the dance floor and requested the style for their wedding. The dance has an elastic feel instead of the hoppy look you might associate with swing. West Coast Swing competitions are often danced improv to contemporary songs.
I spliced Photograph to 2 minutes in Audacity. I listened to the music over twenty times, writing down each phrase’s moves with suggestions to capture the spirit of the dance.
The couple starts in an embrace. The groom shifts his body weight and sends her out with a grounded pencil spin. They’ll do a few basic side passes and turns. The clip then finishes with, “Hearts are never broken/and time’s forever frozen still …”
At that moment, this was how I planned the finale:
The couple is connected right to right and with a tug she spins inwards to him. His arm catches her waist. They’ll end with a crowd-pleasing drop at that final line. Her back is braced by his left leg so they’re in a stable position facing the audience. Freeze for pictures!
Dance training
We started the lessons on an early Sunday morning. Step, step, triple, triple. Don’t collapse when you move backwards. Took a few hours to get the timing.
Then we played the music. They couldn’t catch the beat.
How would I coach listening to the music?
We tried counting. We rewinded the music and the groom counted the couple in. 5 & 6 and a 7 and.. a flop.
We switched to 4-count swing to remove triple steps.
Didn’t work.
The groom mentioned he took waltz classes over five years ago. If he knew how to waltz, maybe she can fudge the steps to Christina Perri’s A Thousand Years as their second song. We wouldn’t need choreography and they’ll spin around the room..
On the first spin, they de-synced.
I tried to follow with my friend to try and understand what the bride would need to do. I could do the movements on reflex but I didn’t know how to simplify each step. Now I had to explain 3/4 timing when previously we were on 4/4.
There’s no pulsing beat in the song to help the couple synchronize. I would listen to Perri’s voice. That confused them. We had to listen when she accents a word plus tracking where their feet was landing to stay on time.
We looked up tutorials on Youtube. I dug up emails from my instructors and read out the breakdown. We called another friend to help.
No dice. I had been dancing on autopilot all these years and could not explain how to dance.
Let’s fast-forward to the wedding.
The couple went with the classic 6th-grade dance hug. Completely ok for a first dance. After the couple’s first few songs the floor opened to everyone else. Doesn’t matter then if you had any dance training. You could twirl around, wave your hands. We all had a good time. That’s what’s important.
I won’t forget the difficulty training a couple to dance. I’ve never taught anyone how to dance nor have I created a routine before.
If you’re getting married, I would find a professional dance instructor to avoid this situation!
Let’s tie this experience to engineering management.
Coaching junior engineers
Training or coaching someone is a meta-skill I develop over time.
If I find myself thinking, “Why is there so much trouble? I don’t seem to have that problem.” I stop.
What comes natural to you might not be simple to a junior engineer. You could have been doing the job for years. By now you’ve forgotten the struggles and mistakes as you progressed through your career.
A good question to ask yourself is, “Why does that comes easy for me?”
Ask previous teammates how you were as an individual contributor – were you fast at debugging? Were you known for system stability?
Let’s use debugging as an example. You were known for your ability to hunt down the root cause and here’s three questions to start with.
- What do you do first when you get a ticket?
- How do you narrow down the files in a 100,000 line repo to begin your search?
- How do you trace the issue? Do you use a debugger? Do you print every line?
As you improve your document to answer questions a new engineer could ask, you can share with the engineering organization how to replicate your prior success as an engineer in one dimension. That’s influence.
Don’t assume you can transfer years of software experience in a couple weeks to a junior developer. 4-6 weeks wasn’t enough for me to teach anything I scraped together over a decade of dancing. Dance requires a barrage of technical skills. So does software. You will need time to train someone. And patience.
Here’s my process for training a new skill:
- Write down your approach as your first draft.
- Explain to a new engineer how you did something step-by-step. You should get more questions.
- Revise your document after the attempt
- Try again with another engineer or a group of engineers.
You’ll create an evolving document which captures the essence how you execute one skill. And that’s one piece along the path of growing a junior engineer to senior.
Leave a Reply