Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. Other Discussions
  3. The Insider News
  4. Why programmers don’t write documentation

Why programmers don’t write documentation

Scheduled Pinned Locked Moved The Insider News
comtools
13 Posts 9 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Kent Sharkey
    wrote on last edited by
    #1

    Kislay Verma[^]:

    I believe that there are two main reasons software engineers don’t write documentation. Tools play their part but they are a hugely distant third.

    Present company not included. (I hope)

    M B M G abmvA 5 Replies Last reply
    0
    • K Kent Sharkey

      Kislay Verma[^]:

      I believe that there are two main reasons software engineers don’t write documentation. Tools play their part but they are a hugely distant third.

      Present company not included. (I hope)

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #2

      Quote:

      Writing is a tough, demanding task. It requires organizing our thoughts clearly, examining them critically, and expressing them clearly.

      Isn't that also true for programming? So if you can't write documentation because of the above....finish my sentence. :laugh:

      Latest Articles:
      Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

      Greg UtasG 1 Reply Last reply
      0
      • M Marc Clifton

        Quote:

        Writing is a tough, demanding task. It requires organizing our thoughts clearly, examining them critically, and expressing them clearly.

        Isn't that also true for programming? So if you can't write documentation because of the above....finish my sentence. :laugh:

        Latest Articles:
        Client-Side Type-Based Publisher/Subscriber, Exploring Synchronous, "Event-ed", and Worker Thread Subscriptions

        Greg UtasG Offline
        Greg UtasG Offline
        Greg Utas
        wrote on last edited by
        #3

        In one sense, the need for critical examination and clarity is absolutely true for programming, because either the code works or it doesn't. However, code that works isn't always expressed clearly. Writing is different in that there isn't as an objective measure of whether it "works" or not. You'd have to survey its intended audience to assess how well it works. Writing is also a different skill. Granted, technical writing isn't creative writing, but we don't expect writers to be good programmers. So technical writing is often done by specialists, which has the advantage of bringing in the perspective of someone who is more removed from the software.

        Robust Services Core | Software Techniques for Lemmings | Articles
        The fox knows many things, but the hedgehog knows one big thing.

        <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
        <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

        1 Reply Last reply
        0
        • K Kent Sharkey

          Kislay Verma[^]:

          I believe that there are two main reasons software engineers don’t write documentation. Tools play their part but they are a hugely distant third.

          Present company not included. (I hope)

          B Offline
          B Offline
          Bernhard Hiller
          wrote on last edited by
          #4

          So, write your documentation - actually your plan - before coding, and

          Quote:

          focus on documenting the choices and why they were made

          Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!

          1 Reply Last reply
          0
          • K Kent Sharkey

            Kislay Verma[^]:

            I believe that there are two main reasons software engineers don’t write documentation. Tools play their part but they are a hugely distant third.

            Present company not included. (I hope)

            M Offline
            M Offline
            markrlondon
            wrote on last edited by
            #5

            Writing docs isn't just hard but is very, very, very boring. It's also very time consuming. Writing good docs (which includes things like diagrams and examples) takes longer than coding. And, from a personal advancement perspective, it doesn't win publicity or mindshare. I can see no simple, fundamental way round these issues.

            L K 2 Replies Last reply
            0
            • M markrlondon

              Writing docs isn't just hard but is very, very, very boring. It's also very time consuming. Writing good docs (which includes things like diagrams and examples) takes longer than coding. And, from a personal advancement perspective, it doesn't win publicity or mindshare. I can see no simple, fundamental way round these issues.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #6

              markrlondon wrote:

              Writing docs isn't just hard but is very, very, very boring.

              I don't see that as a valid point; imagine doctors not keeping dossiers up to date because "it is boring". It is paid work, and doesn't have to be particularly interesting at all times.

              markrlondon wrote:

              Writing good docs (which includes things like diagrams and examples)

              We'd first need an example of "good docs"; lots of documentation that I encountered looked "fluffy"; too many words, some marketing sprinkled in there, more diagrams and screenshots than needed - and sometimes severely lacking an index. Always enjoyed MSDN. It's to the point, concise and makes relevant parts easy to find. Perfect balance between being understandable and minimal.

              markrlondon wrote:

              And, from a personal advancement perspective, it doesn't win publicity or mindshare.

              The articles here prove otherwise on the publicity front. After all, an article is a form of documentation, even if it should be written in a different style from the technical documentation for a project. And that exists, not for mindshare, but to make it easier to understand the project and its parts, which in turn reduces maintenance costs.

              Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

              1 Reply Last reply
              0
              • M markrlondon

                Writing docs isn't just hard but is very, very, very boring. It's also very time consuming. Writing good docs (which includes things like diagrams and examples) takes longer than coding. And, from a personal advancement perspective, it doesn't win publicity or mindshare. I can see no simple, fundamental way round these issues.

                K Offline
                K Offline
                Kent Sharkey
                wrote on last edited by
                #7

                markrlondon wrote:

                from a personal advancement perspective, it doesn't win publicity or mindshare.

                That is a huge problem. It's just not recognized as "real" work by managers unless there's a customer willing to pay for it. :sigh:

                TTFN - Kent

                L 1 Reply Last reply
                0
                • K Kent Sharkey

                  markrlondon wrote:

                  from a personal advancement perspective, it doesn't win publicity or mindshare.

                  That is a huge problem. It's just not recognized as "real" work by managers unless there's a customer willing to pay for it. :sigh:

                  TTFN - Kent

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #8

                  Kent Sharkey wrote:

                  It's just not recognized as "real" work by managers unless there's a customer willing to pay for it. :sigh:

                  Because they can't invoice it, but it should be part of the projects' cost anyway. Good documentation saves a lot of money for large multiple-year projects; it's a waste if it is an internal tool that has a few lines of code. Managers call those "hidden costs", like rent. Problem is not the documentation here. It is the quality of the manager.

                  Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

                  1 Reply Last reply
                  0
                  • K Kent Sharkey

                    Kislay Verma[^]:

                    I believe that there are two main reasons software engineers don’t write documentation. Tools play their part but they are a hugely distant third.

                    Present company not included. (I hope)

                    G Offline
                    G Offline
                    Gary R Wheeler
                    wrote on last edited by
                    #9

                    Disclosure: While I was in college I spent almost a year in a technical writer position. By the end, I no longer had any hesitation when it came to writing. In the 40 years since, I've written thousands of pages of all kinds of documentation, from formal specifications to user manuals and application help files. I think this article and most of the responses thus far miss an essential and fundamental property of all writing: knowing who's your audience. You must answer the question: who are you writing this documentation for? As an example, documenting a library's API for use by other developers is very different from documenting that same library for maintenance developers working on the library itself. Both of these differ in turn from user documentation for an application that uses the library. All three cases could conceivably be written by the developer and all three documents are vastly different from each other. Once you answer the 'audience' question correctly and completely, the kind of information that needs to be in the document should be pretty obvious. Often that will also tell you how the document should be organized, if the items of information should be presented in a particular way or order, and so on. At that point it's a matter of filling in the blanks. Yes, it can be time-consuming but it can also be useful. I've had many times when I've been writing documentation and discovered that the associated software needed a change, just from the different viewpoint when writing vs. coding. I will freely admit my work experience has left me with little patience when it comes to engineers complaints about writing documentation. Many gripe that it's boring, tedious, or (my favorite) beneath their dignity to be asked to document their work. I've frequently been the brunt of their contempt when I insist on documenting something. In my view, if your code goes anywhere other than the computer directly in front of you, you damned well better be able to document it. Software is complicated and written documentation is often the default (can you imagine verbal documentation for Boost?). For anyone else using it, the perceived value of your code is limited by the documentation you provide.

                    Software Zen: delete this;

                    H 1 Reply Last reply
                    0
                    • G Gary R Wheeler

                      Disclosure: While I was in college I spent almost a year in a technical writer position. By the end, I no longer had any hesitation when it came to writing. In the 40 years since, I've written thousands of pages of all kinds of documentation, from formal specifications to user manuals and application help files. I think this article and most of the responses thus far miss an essential and fundamental property of all writing: knowing who's your audience. You must answer the question: who are you writing this documentation for? As an example, documenting a library's API for use by other developers is very different from documenting that same library for maintenance developers working on the library itself. Both of these differ in turn from user documentation for an application that uses the library. All three cases could conceivably be written by the developer and all three documents are vastly different from each other. Once you answer the 'audience' question correctly and completely, the kind of information that needs to be in the document should be pretty obvious. Often that will also tell you how the document should be organized, if the items of information should be presented in a particular way or order, and so on. At that point it's a matter of filling in the blanks. Yes, it can be time-consuming but it can also be useful. I've had many times when I've been writing documentation and discovered that the associated software needed a change, just from the different viewpoint when writing vs. coding. I will freely admit my work experience has left me with little patience when it comes to engineers complaints about writing documentation. Many gripe that it's boring, tedious, or (my favorite) beneath their dignity to be asked to document their work. I've frequently been the brunt of their contempt when I insist on documenting something. In my view, if your code goes anywhere other than the computer directly in front of you, you damned well better be able to document it. Software is complicated and written documentation is often the default (can you imagine verbal documentation for Boost?). For anyone else using it, the perceived value of your code is limited by the documentation you provide.

                      Software Zen: delete this;

                      H Offline
                      H Offline
                      Hartmut
                      wrote on last edited by
                      #10

                      Amen!

                      G 1 Reply Last reply
                      0
                      • H Hartmut

                        Amen!

                        G Offline
                        G Offline
                        Gary R Wheeler
                        wrote on last edited by
                        #11

                        I do tend to preach at times :sigh:

                        Software Zen: delete this;

                        H 1 Reply Last reply
                        0
                        • K Kent Sharkey

                          Kislay Verma[^]:

                          I believe that there are two main reasons software engineers don’t write documentation. Tools play their part but they are a hugely distant third.

                          Present company not included. (I hope)

                          abmvA Offline
                          abmvA Offline
                          abmv
                          wrote on last edited by
                          #12

                          .....by the time the bugs are fixed they hardly have any life...

                          Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                          We are in the beginning of a mass extinction. - Greta Thunberg

                          1 Reply Last reply
                          0
                          • G Gary R Wheeler

                            I do tend to preach at times :sigh:

                            Software Zen: delete this;

                            H Offline
                            H Offline
                            Hartmut
                            wrote on last edited by
                            #13

                            Sometimes it is necessary to preach

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups