Ask HN: Feeling grossly incompetent working in opensource. What do I do?
&gt; <i>multiple layers of abstraction that exists has made it impossible to change even one line of code without it effecting the entire codebase</i><p>Either you have misunderstood the meaning of &quot;abstraction&quot;, or the code base has what people call &quot;leaky&quot; abstractions.<p>The point of abstraction is to create stable internal APIs, irrespective of implementation details. The <i>entire point</i> of abstraction is to create the separation that your code base seems to be lacking.<p>&gt; <i>No matter how much documentation and how much code I read I come no closer to making any changes in the codebase whatsoever</i><p>This approach is necessary, but you won&#x27;t really understand the code until you start debugging. Can you tell us more about the stack (and, ideally, the project itself) so that we can give you better tips? Sometimes understanding code is a lot easier with the right tools (IDE, debugger, etc.)<p>&gt; <i>I am starting to wonder if I have what it takes to become a programmer</i><p>I&#x27;m sure you can do it, but it&#x27;s also important to figure out if you want to. If you work on multiple code bases, including your own, and you don&#x27;t enjoy it, or the frustration you&#x27;re feeling now is not healthy for you, then this might not be the right career for you.<p>A lot of being a programmer is banging your head against a wall for many hours longer than a typical person would be willing to, until you finally get past an obstacle. Sometimes the obstacle is bad documentation, often it&#x27;s bad configuration, other times it&#x27;s a bug.<p>If the fun parts are not worth the not-fun parts for you, then that sounds like an unpleasant career path.