Ask HN: Feeling grossly incompetent working in opensource. What do I do?
1–10 of 27 posts
Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#2Either you have misunderstood the meaning of "abstraction", or the code base has what people call "leaky" abstractions.
The point of abstraction is to create stable internal APIs, irrespective of implementation details. The entire point of abstraction is to create the separation that your code base seems to be lacking.
> No matter how much documentation and how much code I read I come no closer to making any changes in the codebase whatsoever
This approach is necessary, but you won'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.)
> I am starting to wonder if I have what it takes to become a programmer
I'm sure you can do it, but it's also important to figure out if you want to. If you work on multiple code bases, including your own, and you don't enjoy it, or the frustration you're feeling now is not healthy for you, then this might not be the right career for you.
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's bad configuration, other times it's a bug.
If the fun parts are not worth the not-fun parts for you, then that sounds like an unpleasant career path.
Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#3tldr; don't give up.
Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#4Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#5> multiple layers of abstraction that exists has made it impossible to change even one line of code without it effecting the entire codebase Either you have misunderstood the meaning of "abstraction", or the code base has what people call "leaky" abstractions. The point of abstraction is to create stable internal APIs, irrespective of implementation details. The entire point of abstraction is to create the separation…
I think this appears to be the problem. The codebase appears to be very kludgey.
> This approach is necessary, but you won'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.)
I think the architecture is essentially one of the reasons I am having so many problems. I'm not familiar with docker/apache solr/their custom database, etc. However, I think that's more of a tangential issue. It's more of a feeling of imposter syndrome as another poster said. For everyone else in the field it seems like this is effortless.
> I'm sure you can do it, but it's also important to figure out if you want to. If you work on multiple code bases, including your own, and you don't enjoy it, or the frustration you're feeling now is not healthy for you, then this might not be the right career for you.
It's not really frustration. So much more as feeling like I will never be good enough at this to be successful in this career.
> 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.
This is exactly my personality type, and my wife makes fun of me for you. Once I get my teeth into something I basically don't stop until I got it. It's actually created problems for me in other career fields, but it's seen as an asset for programmers. So I know on a personality level I have what it takes, but yeah... Just get the impression I'm not smart enough for this.
Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#6Keep expanding your knowledge.
Read the new pragmatic programmer.
It took me about 5 years to get over my imposter syndrome.
Dont get hung up over one project. I have written a lot of bad code and a lot of clever code. Both in the same project.
Being a good dev is a lot like being a good doctor. Study and practice, sometimes you will get it right, sometimes you won't.
Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#7Large codebases can do this to you, but it’s all about finding manageable tasks for you to start understanding the codebase. As the saying goes: change it to understand it.
Re: Ask HN: Feeling grossly incompetent working in opensource. What do I do?
#8You are lucky enough to be experiencing what it’s like to be part of a real software project. It is not at all unusual to be in this position for weeks or even months depending on the complexity of the code base.
If you somehow manage to continue until graduation, you will have invaluable experience that virtually no other job candidates at your level will have. It will be a massive advantage over your competitors, and when you are asked about your experience you’ll have specific and credible stories to draw on when you talk about how you solved problems.
At the very least, congratulations on sticking to this for as long as you have. This stuff is hard. That’s why they pay us a lot of money for it.