Using a Word Replacer to get up to speed faster
It’s summer which means graduating Computer Science majors are starting new jobs. Any time I’m working with someone straight out of college I give them two pieces of advice read these 3 books and use a word replacer.
The books are a common suggestion but the word replacer requires some explanation. At any new job your main task for the first few months is to get up to speed. Up to speed on the tech stack, up to speed on company lingo and up to speed on the domain. If you’re lucky most of these terms will be defined in a glossary somewhere, if you’re unlucky you’ll have to ask your cubemates for definitions (which you should write down and then share with the next new developer). Either way it takes time assimilate the hundreds of terms that are used throughout the company. This isn’t a bad thing since having a common language allows easier communication. It’s called ubiquitous language in Domain Driven Design.
The problem is when writing a design doc, bug report or how-to experienced people don’t insert the definitions, since they’re assumed to be common knowledge of everyone who’s reading the document. As a new person you don’t have all of that context in your brain so reading these docs involves a lot of breaking your flow of concentration to go and look up what a FooBarCollater is and how it works with the FizzBuzzFilter. Ideally people who needed the full definition or context would have it seamlessly while people who already know all the context wouldn’t have to read extraneous verbiage
This is where a word replacer comes in handy
A word replacer is a type of Chrome extension that looks for certain words and replaces all occurrences. The two most famous are Millenial to Snakepeople which replaces terms for millenials with variations of snake people and Cloud to butt which turns turns phrases like like “cloud services” to “my butt”. There are also chrome extensions that let you create custom replacements. For example I use Word Replacer II.
So whenever I start at a new job or a new team and I’m reading through documenation/bugs/email and I come across an unfamiliar term I’ll look up the term and come up with a short explanation of it. Then I’ll add that entry to word replacer. Then whenever I see the term again I don’t have to try to remember the term or have to look it up. An explanation has been inlined for me.
For example say you had the the following words
|FooService||which generates bar reports, deprecated and replaced by ThudService||FooService, which generates bar reports, deprecated and replaced by ThudService,|
|Baz||a desktop app to see bars||Baz, a desktop app to see bars,|
|ThudService||which generates bar reports and fnords||ThudService, which generates bar reports and fnords,|
Then when the PM assigns me a ticket that reads
Migrate Baz from using FooService to use ThudService
I instead get a ticket that reads
Migrate Baz, a desktop app to see bars, from using FooService, which generates bar reports, deprecated and replaced by ThudService, to use ThudService, which generates bar reports and fnords,
Which is obviously much easier to read.
A couple things to note
- Turn this off while editing anything in Google Docs etc. or reading code on Github. These are both cases where you want to see the actual text.
- As you get more experienced at the company you’ll want to start removing replacements. My rule of thumb is once I have a more nuanced understanding than can be explained in a short sentence I remove it.