Writing documentation is painful, because it reveals inconsistencies and fuzzy areas in your design. If you're not paying attention, you may associate that pain with the act of writing documentation. In reality, the problem lies with your designs.
This. As a technical writer, this is one of the biggest pain points of the job. While writing the documentation, valid questions will come up regarding design decisions, but no one has the answers.
Why programmers don’t write documentation
141–150 of 153 posts
Re: Why programmers don’t write documentation
#142Documentation is a skill. Like any skill it takes practice. I have moved to a FAANG and their documentation is downright fucking awful. _everyone_ just writes code, with lots of "clever" bits, and doesn't bother to fucking comment. Not only that because people don't even _comment_ their code, the wiki is a total shit show. Want to know how to use a Queue? tribal knowledge. want to know which DB is best for x? tribal…
Re: Why programmers don’t write documentation
#143Writing documentation is painful, because it reveals inconsistencies and fuzzy areas in your design. If you're not paying attention, you may associate that pain with the act of writing documentation. In reality, the problem lies with your designs.
I regularly run into the very issue you describe. I then update my designs.
To me, documentation is also tool to verify my designs.
Re: Why programmers don’t write documentation
#144Documentation is a skill. Like any skill it takes practice. I have moved to a FAANG and their documentation is downright fucking awful. _everyone_ just writes code, with lots of "clever" bits, and doesn't bother to fucking comment. Not only that because people don't even _comment_ their code, the wiki is a total shit show. Want to know how to use a Queue? tribal knowledge. want to know which DB is best for x? tribal…
Stupidly Simple Code is the best code, but it is also possibly the hardest to write from a programmer perspective.
Re: Why programmers don’t write documentation
#145Earlier quoted context omitted.
It's not bs. They said should, not must. Yes there are trade offs with everything you do in IT, one of them is creating a shit place to work in the name of speed. It might work for a little while but eventually you're going to realize you're shitting where you eat.
This was my attitude as well for much of my career, and it was a mistake. The "correct" decision depends on the state of the business and your resources at the time. And nothing else.
Til I realised it was a false dichotomy.
I don't want to work for a company that puts its need above mine. That company isn't worth my energy.
The correct decision is to take an approach that involves producing quality code and documentation as you go.
If you don't have the time available to do that then you don't actually have the time to do that piece of work.
Doing so regardless, or becoming expeditors is the worst thing you can do for a company. It creates a race to the bottom which in turn creates a god awful place to work.
This feedback loop continues to worsen as you struggle to hire and struggle to retain.
Eventually, you're fucking Comcast.
Re: Why programmers don’t write documentation
#146It's easier to maintain documentation when it's closer to the project. You can also automate a lot of its parts for your projects. You can create template projects and use tools like cookiecutter every time you create a new repo to have the basic structure in place. That's already half of the road.
Re: Why programmers don’t write documentation
#147First of all you now have 2 sources of truth, both rot and only one of them is the actual truth.
Besides that I expect us all to write code the same way so after you are onboarded and need to learn something you should just dig into the code. In fact your job is to dig into the code and iterate it.
Own that code even if you weren’t the last to touch it you might have to be the next.
Re: Why programmers don’t write documentation
#148There are barriers, both psychological and real, against documenting changes that ride on an undocumented ball of mud.
The psychological barriers amount to, "what is the point". Why document some insignificant part of something that is documented, on the whole? For instance, imagine a windowing system that is mostly undocumented, except for the wonderful 15 page treatise on its scrollbars, because a compulsive documenter touched the scroll-bar code. Which was 13 years ago.
The real barriers stem from the problem that the documentation depends on other documentation, much like code depends on other code. If you document a small part of some undocumented whole, that documentation has nothing to refer to. There are no certainties it can rely on, provided by other documentation, no context. This attaches a barrier to the documentation: the first person to document anything at all in that system has to provide the context for that documentation, and start the process.
That barrier brings with it psychological barriers: the fear of the effort (how much time it will take to start the documentation effort) and the perception of futility: that nobody else will come on board, and so that will be the first and last piece of documentation ever written, effectively making it a waste of effort.
For these reasons, even programmers who write excellent, lengthy documentation for their side projects can become reluctant to document something on the job.
Developers working on an undocumented ball of mud might put their documenting effort into detailed summaries of their changes and the reasoning behind them, rather than into building a coherent description of the system: in other words, to write that documentation that is more likely to save them from any predicament caused by their changes, rather than to help someone else navigate the system as such.
Re: Why programmers don’t write documentation
#149I’m in games so the visual element often forces this, but I’ve moved our team to making a lot of video content, both for PRs and for much of our “documentation”. I’ve always preferred reading, and the trend to everything being on YouTube has driven me nuts, but I’m a convert to this method for a few reasons. First, it’s fast. I can sit down and make a deep dive video in 30 minutes and not have to sit around writing a…
With respect, you save time making 30 minute videos, but everyone else then wastes time watching your video looking for info. I prefer it if people just write it down so I can ctrl-f or find it in a web search and get what I need instead of sitting through your videos. For general "welcome to Team X!" onboarding or training though I agree that videos have benefits. But for day to day knowledge and docs I couldn't thi…
Re: Why programmers don’t write documentation
#150Earlier quoted context omitted.
It would help if people read them. I write good docs and I often wonder why, as I have to endless redirect inbound queries to the doc. It's ok for my team, they learn, but it's annoying that the whole org never reads anything.
I am one of the guys who appreciates docs but also wants pointers at the start. Just giving me an URL with 50-100 pages of docs is not good enough. Give me something like "when you are just starting", "when you want to tackle a ticket involving X" or "when you need to edit the deployment script" etc. In my last job the architect was always irritated with me because he wrote a bunch of docs but never organized them or…
As I said, I write good docs, but no-one will read them until they have been caught out 3 times asking obvious questions had they gone to the doc first. If I am not around, I know the docs will be abandoned immediately despite it representing a tome of hard won knowledge that saves an incredible amount of aggregate time from never needing to figure out how to do the same task twice.