The problem when you spend basically all if your technical life working by yourself, is that you are not used to understand programs you didn't create. Specially when there are no documentation or a single line of useful comment.

I've tried to help in an open source software just to get frustrated and fall short because I couldn't understand where things were getting initiated/called and I don't have too much free time to keep trying/searching.

Any tip here? I don't really need to learn that, but I think it is important. We never know about the future and I don't want to get stuck/uninployed in the future if I loose my ~15 years job someday.

  • 2

    I can relate to this, whenever I try to contribute to an open source project I get overwhelmed and frustrated, so 11 out of 10 times I just give up and feel very incompetent.
  • 1
    I put some logging, run it, and document the flow.
  • 1
    Nothing shameful in being self-indulgent about project that is obviously built on knees: no reproducible environment, prerequisites, build instructions, basic examples.

    Nobody but their maintainers and enclosed contributors can do anything with them. Open-source my ass.
  • 7
    the trick is to realize that this is a normal phase when getting into any project you didn't write yourself, regardless if the project is written and organized well or badly.

    the solution is to just chill out and do a few days of just browsing and reading the code, and tracing where things go and where they come from.

    same as when you're writing your own thing you need to give your mind time so it can crystallize what the structure of the program needs to be, except when you're coming into someone else's thing, you need to give your mind time so it can crystallize what the structure of the program is.

    that's the only trick i know of, and the only trick needed.
  • 4
    Find some part that you're interested in and concentrate on how that works. That way you have concrete questions you can find answers to. Once you have researched a couple of these points, you probably also know a bit of the bigger picture.
  • 0
    This is really useful! Thanks for that!

    I will try to get involved in a different project and apply your tips. :)

    The code was not bad, but packages I didn't now, inheritance, callback functions, each place with a different name and, I was getting lost.
Add Comment