No but I don't have to be good because 90% of all software is stupid CRUD.
Ask HN: Do you consider yourself to be a good programmer?
31–37 of 37 posts
Re: Ask HN: Do you consider yourself to be a good programmer?
#32Compared 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…
Never mind caring, in my experience a lot of people in this industry struggle to even write working code. You might not see them much in startups but do some work for enterprises and you soon discover there are a lot of them. They usually make up for their lack of technical skills with an abundance of political activity.
Re: Ask HN: Do you consider yourself to be a good programmer?
#33I'm a mature student studying a computer science degree at distinction level however my overall lack of experience is obvious to me. I know how to program the way I've been taught but I don't have the experience to say whether what I'm doing is any good.
I also have no idea where to find out whether what I'm doing is right or wrong.
Re: Ask HN: Do you consider yourself to be a good programmer?
#34edit: I think the biggest thing holding me to being average at best is practical experience in larger systems. In school, I was always good at the theory parts of computer science, but did so-so in projects. In my professional experience, I think that still holds true: I can manage language intricacies, and write pretty clean code for smaller problems, but I can get into trouble with architecture-level stuff like defining models. I also have a tendency to over-engineer solutions to complex problems.
Re: Ask HN: Do you consider yourself to be a good programmer?
#35Not even close.
Ever heard of Jeff Dean, Linus? Carmack? Norvig? Then when I look at the multitudes of opensource projects in Github, I can only stay humble. I'm average at best if that.
Re: Ask HN: Do you consider yourself to be a good programmer?
#36Earlier quoted context omitted.
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…
>Is there irrefutable, objective proof that TDD is the one true way? 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…
That's rather begging the question, isn't it? There cannot be proof for the one true way since it's the one true way (or as you call it, best practise)
>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.
In my experience, only when those people tended to do that beforehand. And b) and c) don't hold true in my experience either (people are happy to write big functions so their tests pass).
c) is IMO not true either since it feels more like writing code to make tests pass not making code that fits requirements (unless you're good at writing requirements into tests but then why write code to tests code if you could write the code directly?)
>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.
That's not how that works. I'm sitting in the middle of a function, discovering requirements for that function while I'm writing it and running the application (ie, function does X but also should send an event to Y to clear the cache for user Z who triggered action X)
When you don't have any fixed requirements, applications tend to evolve in-vitro, which doesn't mix well with TDD which is an pre-vitro.
Re: Ask HN: Do you consider yourself to be a good programmer?
#37As in instead of solving the problem at hand I'd rather spend a week working on my own framework so that I could save 5 minutes should I have to deal with the same thing again in future although the chance of it happening is 1 in 100.