I’m not complaining, but I didn’t realize how much work it was. It makes me really respect the people who do it on a regular basis.

For example:

  • You know how to use your software, but other people don’t. So you need to write documentation.
  • You can just modify the source files, but it’s impractical for everyone to do that. So you need to add a config file.
  • You can just drag the output files into place, but that’s impractical for everyone to do. So you need to package it.
  • You trust yourself, but distro maintainers rightfully don’t. So you need to package your source code and configure the package to compile it.
  • You will abide by your idea of how the software should be used, but other people might not. So you need to pick a license.

Sometimes I think there must be an easier way, but I can’t think of any. I guess it probably gets easier with experience.

  • I’ve seen a chart where software development complexity grows 3 times on each of these steps. For example:

    • implement a business logic: 1 day
    • cover with tests: 1 * 3 = 3 days
    • write documentation: 1 * 3 * 3 = 9 days
    • make it installable by other users: 1 * 3 * 3 * 3 = 27 days
  • fafff ( fafff@lemmy.ml ) 
    link
    fedilink
    arrow-up
    24
    ·
    3 years ago

    Documentation is very useful today (to clarify our thoughts on what is useful and what is not, what is in scope and what is not), and for our future selves.

    Writing small bits of software made me appreciative of the work teams put on large pieces of infrastructure!

  • ExLisper ( ExLisper@linux.community ) 
    link
    fedilink
    English
    arrow-up
    7
    ·
    3 years ago

    That’s nothing. You know what you need. Try figuring out what other people need. They usually don’t know what is technically possible, what would be most helpful and how it should work.

  • ipkpjersi ( ipkpjersi@lemmy.ml ) 
    link
    fedilink
    arrow-up
    5
    ·
    3 years ago

    I write config files for my own stuff I use FWIW but yeah you’re right lol open-source software is much more work. Still it’s rewarding though to be able to share your cool software with the world.

  • amki ( amki@feddit.de ) 
    link
    fedilink
    arrow-up
    4
    ·
    3 years ago

    If you use something like C# at least source management and packaging are being done for you by the development tools.

    But yeah it needs to do something useful and one needs to know how to operate it. That doesn’t go away.

  • swnt ( swnt@feddit.de ) 
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    3 years ago

    For the first and second point however, I’ve learned that whatever the others don’t know today, that’ll be my state of lack of knowledge in a few months or years. Anything that isn’t a one off script I generally document/comment because I’ve had some projects when I was young, and couldn’t work in them after a few months of break because I didn’t understand anything.

    That’s when I understood, that “others” is just me in a few months.

    • mineapple ( mineapple@feddit.de ) 
      link
      fedilink
      arrow-up
      2
      ·
      3 years ago

      Once, I searched for a very specific thing about my laptops power throtteling behaviour and found an reddit post with an answer to it. After reading it, I saw my own username next to it :D I seemingly dug down that rabbit hole a couple of months prior.