Documenting Work (A.I.-Powered Work)
I hate documenting work. It’s probably the most boring part of any job, yet it is so crucial to collaboration. If you don’t document your…
I hate documenting work. It’s probably the most boring part of any job, yet it is so crucial to collaboration. If you don’t document your work, it becomes terribly difficult to pass on knowledge to others, since they can’t read your mind. I have a bad record at documenting my own work, so I decided to see if ChatGPT could pick up the slack and write one for my current writing process. Here’s the prompt I gave it:
Please document my workflow. I write a first draft in 1 hour. Stew on it for at least 3 hours. Review it once and send it to Sarah by the end of the day. Review Sarah's edits the next morning. Schedule/publish on Medium with images.It generated the following text:
Sure, here's how I would document your workflow:
1. First draft writing: You spend 1 hour writing the first draft of your article. During this time, you focus on getting your ideas down on paper without worrying too much about perfection.
2. Stewing period: After finishing your first draft, you take a break for at least 3 hours. During this time, you may step away from your work, take a walk, or do something else to clear your mind.
3. First review and sending to Sarah: After your break, you review your first draft and make any necessary edits. Once you're satisfied with the content, you send it to Sarah by the end of the day.
4. Reviewing Sarah's edits: The next morning, you review Sarah's edits to your article. You take note of any changes she suggests and make any necessary revisions.
5. Scheduling and publishing on Medium: Once you've reviewed Sarah's edits and made any necessary changes, you schedule the article for publishing on Medium. You choose appropriate images to accompany the article and ensure that everything is ready to go.
Overall, your workflow involves writing a first draft quickly, taking a break to let your ideas marinate, reviewing and editing the article before sending it to someone else for review, and then making final revisions before publishing. This process allows you to produce high-quality content while still working efficiently.This is the great documentation text for me to start with, IMHO. As my work process evolves, I can easily make tweaks, adjust, and clarify. I love that it was able to write this in a matter of seconds based on the mere 46 words I gave it. Sure, my prompt is a more succinct, efficient version of my process and the generated text doesn’t add much in the way of new information, but it gives me a launchpad that gives structure to the workflow. I probably could have written a document of similar length in half an hour, but why bother when ChatGPT could do an equally fine job for me? I just got half an hour of my time back! Wouldn’t you like an extra 30 minutes in your day?
Large language models (LLMs) like ChatGPT recently exploded into our collective consciousness due to its incredible ability to mimic human intelligence and outperform many humans in tasks such as passing every standardized test (GRE, LSAT, the bar exam, AP exams, etc.). These models are the evolution of more primitive language models like the n-gram language model that predicts the next word given the previous n words (n can be 1, 2, 3, etc.). LLMs are more sophisticated with complex deep neural networks trained on vast amounts of text (it’s text scraped from the entire internet). Even if we never improve on LLMs (which is highly unlikely), LLMs as they are can already improve our ability to work more closely and efficiently with our human peers. A.I. can become the grease between the wheels and reduce friction in human collaboration and in that process, accelerate advancements in every field imaginable.
I was recently invited to check out a project that allows coders to fine-tune their own LLM, which got me really excited, because I love tinkering. Problem is, I’m a little rusty with code. Nevertheless, that didn’t deter me, and I was excited to jump back in. My excitement was dampened when the thought of documenting my work crossed my mind (even when the sole benefit of it was for my future self). When it comes to coding, documentation is the bane of every programmer’s existence. There have been whole systems, methodologies, automations, and tools developed around producing better documentation. It is extremely important to programmers, especially since code can be such an alien language at times. So this time around as I dust off my keyboard, I vow to be better at documenting my work (and sharing it!) with the help of some trusty LLMs!
I studied mathematics in college. My logic was that almost every science required some mathematical fundamentals, so by having a solid understanding of math, I could choose any career I wanted after college. I guess I just like to keep my options open. After some soul-sucking years as an actuary, I decided software was the future and switched gears, teaching myself how to code. To be honest, I’m more of a hack. There are lots of gaps in my knowledge because I don’t have a traditional computer science background, and I haven’t had a whole lot of time to dive deep.
I’m also an impatient hack. I want things to be done, and done quickly. So, once I figure out how something is done, I could not give two licks about documenting my findings so that other people will know how to do it, even if those other people could be future-me.
As I rolled up my sleeves to get down to it, the first order of business was to make a copy of the project onto my computer. This required using the command line–a text interface where you can type commands for your computer to run. Immediately, when I try to copy the project, I get an issue of non-existent ssh — short for secure socket shell, a secure connection to access computers across the internet — authentication key to clone the code repository from Github. Bummer! This is a common experience for all coders: You are guaranteed to expect the unexpected. Sometimes setting up one’s coding environment can take days. Configuring settings, setting up containers, all these unsexy underpinnings in software development is what stops many newbies from learning the craft (I wonder if that’s something LLMs can solve for us 🤔). But, this wasn’t new to me. I know you can always find a way forward. It used to depend on your Google-fu, and perhaps it still partially does, but now and in the near future, you’ll probably just ask an LLM and it’ll generate an answer for you. These are exciting times and it will be fun to test drive this new way of developing software.

After an hour of tinkering, I got the script up and running generating data from an LLM. Woohoo! I guess I haven’t completely lost touch with my developer skills. It felt good to be building again, and it was a pleasure playing with my friend’s project (still in stealth) — a sign of quality engineering. If a dummy like me can easily clone and run the script, you can, too. Not that you need to… generative A.I. might just do the tedious parts for us in the future!