Ask HN: Do you consider yourself to be a good programmer?
21–30 of 37 posts
Re: Ask HN: Do you consider yourself to be a good programmer?
#22The root cause of this, I think, is that I just don't like programming that much. I'm a smart person and I think I could be an above average programmer if I applied myself but I just don't care enough to do so. There are other things that I enjoy more that I want to spend my time and effort on.
I thought that this would be a problem when I graduated but it turns out that the world needs average programmers. My current project at work is a Windows Forms app written in C# to pull data out of a database and plug it into a Word template to generate a Word document. It's not glamorous and it's not trendy but it needs to be done by someone. Pay me a decent salary, give me good insurance, and I'll gladly clock 40 hours a week writing CRUD apps because it beats manual labor, retail, or going back to school.
Re: Ask HN: Do you consider yourself to be a good programmer?
#23I think if you care about what you do, then you're probably already in the upper 50%, because most people don't, and it shows. Now if you pair giving a fuck with some programming talent and interest in improving your skills and productivity you can easily get into the top 10%.
To get into the top 1% you need to be very focused on programming. I have too many other hobbies to be that focused only on this aspect of my life. But I'm ok with that.
If you start comparing yourself to internet people, there are just too many that you can compete with them on everything. There are too many experts in too many niches that you could read all the HN articles and compare favorably in comparison.
Re: Ask HN: Do you consider yourself to be a good programmer?
#24Earlier quoted context omitted.
Automated testing is not a choice in many industries. If you're not familiar with TDD, you haven't yet achieved that level of mastery. There's a productivity boost to being able to change quickly without breaking things. Is all unit/functional/integration testing and continuous integrating TDD? Is it still TDD if you write the tests after you write the function (and before you commit/merge)? I think this competency m…
Is there irrefutable, objective proof that TDD is the one true way? I've looked into TDD but it simply does not fit my way of thinking and how I approach problems. I prefer to test systems when I have finished them as I cannot formulate a test before I know what I'm testing. Especially for organically dogfood-development TDD is a bad methodology as you discover requirements as you go. TDD is however great if you have…
No, there can never be irrefutable, objective proof for something that is a best practice. What you can do is check which teams are having the most bugs found by the customer, or how long they need to deliver that code, and then draw some statistical conclusions from it.
In my (subjective) experience TDD a) gives you really good regression tests and b) makes you create smaller functions that are more easily testable and c) makes people think harder about their code.
b) and c) aren't really effects on the tests, but because TDD drives this behavior (again, subjective experience) you get a better codebase, which in itself is of value.
If you can get to that great codebase without TDD and write good regression tests catching all the edge cases post hoc, then you don't need TDD.
>Especially for organically dogfood-development TDD is a bad methodology as you discover requirements as you go.
Especially in this case I find TDD very helpful, because it provides a kind of executable documentation of the requirements you just discovered you want.
Re: Ask HN: Do you consider yourself to be a good programmer?
#25I don't think of myself as a "good programmer" because "good" is too blunt a qualitative measure to be productive. It's a disagreeable and poorly specified measurement. I haven't seriously thought about whether or not I'm a good programmer, just as I haven't thought about whether or not I'm a good person. In fact I consciously disengage from assessment like that.
I validate my achievements on a case by case basis, and I validate them according to how close I came to maximal efficiency and minimal time in accomplishing a task. It would be deceptively attractive to use those two heuristics as a rhetorical scaffolding for the meaning of "good", except that I don't compare achievements; they're mostly orthogonal.
The question of whether or not I'm "good" has no meaning for me, because I only evaluate performance within the confines of discrete tasks and sets of related tasks. Further I personally don't have enough insight into the difficulty of all possible tasks, so I refuse to generalize my performance on any particular subset of them to how well I'd do on a majority of them. And to the extent that there are only so many tasks and skills are transferrable: any given task may have differing dimensions of deadline, efficiency or implementation requirements. To get a useful measurement, you'd have to draw arbitrary lines in the sand across each of these dimensions and convince everyone else in discussion that these lines are the sensible ones.
This probably isn't a satisfying answer. But it's not intended to be. The idea of a "good programmer" is conceptually attractive but practically meaningless.
Re: Ask HN: Do you consider yourself to be a good programmer?
#26What is a "good programmer"? What would you like to accomplish by soliciting the feedback? Without agreeing to a common definition and measurement, it's not a well-founded question. I don't think of myself as a "good programmer" because "good" is too blunt a qualitative measure to be productive. It's a disagreeable and poorly specified measurement. I haven't seriously thought about whether or not I'm a good programme…
It's a question about how you view yourself, not about objectively comparing your programming skills to someone else's, therefore it doesn't require a common definition or measurement.
Re: Ask HN: Do you consider yourself to be a good programmer?
#27What is a "good programmer"? What would you like to accomplish by soliciting the feedback? Without agreeing to a common definition and measurement, it's not a well-founded question. I don't think of myself as a "good programmer" because "good" is too blunt a qualitative measure to be productive. It's a disagreeable and poorly specified measurement. I haven't seriously thought about whether or not I'm a good programme…
The question has nothing to do with whether anyone is actually a good programmer or not - the OP asked "do you consider yourself to be a good programmer?". It's a question about how you view yourself, not about objectively comparing your programming skills to someone else's, therefore it doesn't require a common definition or measurement.
Therefore, the only thing anyone can conclude from responses is, "For some definition of 'good programmer' which is specific to each individual respondent, approximately x% of respondents believe they satisfy the definition." It's one thing to solicit opinions; it's another thing entirely to open the floor for opinions which may not even be the same. The OP may have received personal assessments and anecdotes about steak, apples and cauliflower when their intention was to solicit personal assessments about almonds.
Re: Ask HN: Do you consider yourself to be a good programmer?
#28Re: Ask HN: Do you consider yourself to be a good programmer?
#29Compared to coworkers in my last two companies I'd say I'm definitely well above average, but not the best. This might sound like boasting, but it boils down to being good at delivering on time, caring about the craft and being motivated to improve things. I think if you care about what you do, then you're probably already in the upper 50%, because most people don't, and it shows. Now if you pair giving a fuck with s…
Re: Ask HN: Do you consider yourself to be a good programmer?
#30> For identifying strengths and weaknesses: "Programmer Competency Matrix": > - http://sijinjoseph.com/programmer-competency-matrix/ > - https://competency-checklist.appspot.com/ > - https://github.com/hltbra/programmer-competency-checklist
Don’t read too much into that. TDD for example is not leveling up it’s an opinionated approach to development.