Hi Maria,

Maria Morisot wrote on Wed, Oct 25, 2023 at 09:44:17AM +0600:

> because the compiler said to.

Never trust a linter blindly.

A linter is a tool to automate searching for some kinds of issues.
For every candidate, you still need to engage your brains to figure out

 - whether it's an actual problem or a false positive;
   all linters have a non-zero rate of false positives,
   of varying frequencies
 - what the importance and priority is
 - what the best fix is, in general and in particular;
   even if the linter presents some specific advice, that may still
   be wrong in the particular case, or even in general
 - what the risks and costs of attempting a fix are

> more than happy to be a code janitor.

We don't want code janitors here.  Having those is dangerous.
It too easily happens that a change is considered "trivial janitorial
work", the janitor is too inexperienced to recognize that it is
actually wrong or even dangerous, the reviewer is sloppy and spends
little time on it because it is just "trivial janitorial work",
and on top of that, also because the volume of such seemingly
simple changes becomes too massive for proper review, and too tiring.
And boom, things go sideways, and nobody notices.

Every change, large or small, complicated or seemingly simple, needs
to be developed or properly reviewed by at least one developer fully
understanding the matter.  Large, mechanical diffs that are sometimes
typical for janitorial work elsewhere are only accepted round here
from developers who are known for their particular experience and
diligence.  In that sense, janitorial work must clear a *higher*
bar here than ordinary commits.

> I just need someone to steer me in a direction.

Finding something that interests you, that you can already improve in
some way right now, or that you want to learn about is an essential
part of the job.  No one else can do that for you.

I have sometimes tried to suggest specific tasks to people who asked
for work.  But it's a bad idea after all because unless i know
someone very well, it's hard to judge what they want and what they
can do.  The end result often is that i spend more time trying to
coach them than it would have taken to complete the task myself -
which i didn't have time for in the first place because there are
just way too many open tasks.  And the success rate of coaching
people is *massively* lower than the success rate of doing own work.

A good beginner typically has a success rate of maybe 20-30% of the
patches they send in to finally get committed after some iterations of
taking advice and sending improvements.  Beginners with phantastically
high success rates on the order of 50-70% occasionally pop up, but they
are rare.  The majority of people one tries to coach give up before
producing anything good enough for commit.
For comparison, for doing random work across the tree, developers
who are no longer beginners typically have success rates of about
50-70%; within their specialist domain, if any, typically aound 90-98%.
Consequently, the success rates for coaching are typically by roughly a
factor of ten lower than for own work, and often require more working
time per successful commit on top of that.  All these numbers are
personal estimates from anecdotal observation, i did not attempt
empirical reaseach into these matters.

> I'll keep plugging away at my own fancy

Not such a bad idea actually.

If you are energetic and curious, it's hard to believe you aren't
already aware of at least some quirks that irk you.  If you watch
the mailing lists, you will see plenty of potential problems that
others report.  Even if you judge many of them too hard for your
current knowledge and experience level, if you are intelligent,
you are likely able to determine root causes and develop fixes or
improvements for some others.

In any case, don't be pessimistic.  Having time and motivation at your
disposal is not a bad starting point for learning and for doing work
that interests you.  Being aware of personal weaknesses - anybody
has some, so generally nobody ought to regard them as roadblocks -
and using your personal strengths to your profit and contentment
is also a good idea.

Good luck and have fun,
  Ingo

Reply via email to