Remix.run Logo
hinkley a day ago

I saw a Bruce Eckel talk one time after Thinking in Java became a best seller.

I expected him to talk about Java, and lessons learned about it writing the book (he did not start nor end in Java and documented a number of programming languages.)

What we got instead was a rundown of how he 'overengineered' the book. He had interns solving a problem for him: How to make sure the published code examples actually run when transcribed into an editor.

They wrote a tool to mark up live code with extraction points to excerpt it automatically into his manuscript.

About five years later I worked at a F50 company with a bunch of contractors who were all Getting Shit Done and making some of the more bureaucratic org units around us a bit nervous. Someone thought they found a gotcha by complaining about how our developer documentation didn't meet the defined documentation standards the company had devised. They weren't wrong, but people used to the platform we were building on wouldn't have been stymied at all by what we gave them.

If we had done it the way they suggested, it would have added almost a week of my time to every release, and I was already struggling with delegating enough work to make me not the bottleneck. So that extra week would have taken our velocity down a notch and made us a bit more comparable to everyone else. It was a clever ploy, but Bruce saved me.

Instead of spending a slog every release on updating the docs, I found that Bruce's strategy had already been made into a FOSS tool, jcite. So I spent about 50 hours the first quarter learning to use it, and fixing up all of my integration tests to be suitable to use the way Bruce taught me.

With that done, it took less an hour per release to fix the developer documentation, and half of that hour I got one of our tech writers to take off my plate (I couldn't get the documentation template to exactly match the corporate template, so she manually fixed the handful of errors). So within another quarter we were back to full speed. It's possible I imagined the disappointment when we explained what we did but it was a delicious hallucination if so. Nice try. Maybe you could learn from us instead of trying to pull us down with you, hmm?

Thanks Bruce, for teaching me a lesson I didn't even know I needed.

benbalter a day ago | parent | next [-]

Nice! My rule (pre-AI) had always been never force a human to do what a robot can. If you can automate yourself out of your least favorite part of your job, that's a win for both you and your employer. You can move on to more meaningful work, or in some environments, just leave early. Reminds me of that old xkcd about the tradeoff in time between doing something manually vs. automating it.

hinkley a day ago | parent [-]

If you open source it you can increase the payback multiplier by a couple orders of magnitude, or at least use the same solution at your next gig.

josteinhylin 27 minutes ago | parent | prev [-]

[dead]