What I Learned From Job-Shadowing My Husband

My husband, Bryce, is very supportive of my need to find a career, and is sympathetic to my bewilderment about what direction to go. In an effort to reduce my confusion, he offered to let me job-shadow him for a few days so I can see what a senior back-end engineer does every day, and determine if it is really something I want to work toward. This is what I learned.

— Two computer monitors is not overkill. In fact, it might not actually be enough.

— Patience is key in maintaining sanity while working on a big project. Each day, Bryce had to wait for various reasons: for another team member to contribute their portion to the project, for a new release of node so he could release his team’s work with appropriate changes, for code to compile (aka “all those numbers and letters to finish flooding his monitor”).

— Once I’ve memorized more than `git status`, `git push`, and `git merge`, I should learn to make some aliases for my commonly used commands, because they save a lot of time.

Bryce and Fritz, the pipe-smoking bulldog, patiently waiting for the Matrix to stop streaming across his monitor, just after Bryce took the blue pill.

— Nightly builds are not just used by web browsers. Some companies use nightly builds to help find bugs, or to provide certain employees the opportunity to move on with their work with an updated build every day, even before a new release.

— Never interrupt a focused programmer. I already knew that programming takes extreme concentration, but sitting with Bryce reminded me how important it is to limit interruptions. Probably why programmers are so often found wearing giant headphones while working.

I hereby apologize for every time I have asked Bryce a question or started telling him something important, then been annoyed when he wasn’t listening. I promise to wait until he is not working from now on.

— The keyword `const` can be used just like `var`, except the identifier cannot be changed.

Bryce’s very neat notebook — the tidiest thing he owns.

— If you don’t have a solid short-term memory, keep paper and pencils near you at all times. Moving back and forth and back and forth (and back and forth and back and forth) between files is a meltdown waiting to happen for anyone who cannot keep track of where they are in multiple places at once. I’ll be right back — running to Costco to buy 11,000 sticky notes to supplement the three notebooks I’ve already started.

— Programming must be fun, because time sure flew.

— Familiarity with the command line and git are critical, especially if you want to work quickly. Bryce knows every command you never knew you never knew.

— Deadlines are a necessary evil and inescapable.

— As a project lead, one of his roles is that of a technical copy editor. Today he was a fact-checking detective who utilized his global knowledge of all parts of the project to copy-and-paste till his fingers hurt. He wouldn’t want me to say he knows everything about everything, but it sure looked like he did.

— I really need to get better at git…

— Bryce is scary smart and also great at collaborating.

— Yes, I can do this job. The amount I have yet to learn to even be employable as a developer is intimidating, and getting to where Bryce is will take me until computers are implanted in people’s brains, cars fly and Ashton Kutcher is POTUS. Still, I feel more motivated than ever to continue learning.

— My ideal job would be part coding, part writing, and part public speaking/education. If there were a little singing required, too, I wouldn’t complain.

— Job-shadowing was a great idea and I’m so glad I thought of it.