What most people do with your skillset is stick around and try to learn and struggle until they make it, give it all up or move into management.
Ask HN: How can I tell if I am a good developer?
21–30 of 49 posts
Re: Ask HN: How can I tell if I am a good developer?
#22Over time, if you're paying attention, I'll bet you do as well, and you probably won't notice it when you're there because it's gradual.
'5 years in software' is really when you start to get off Of your own hill and start to see all other mountains in the landscape, so it can be bewildering. But it's fun.
FYI I've you've been told several times by other firms they like you - and you've been hired by a reputable firm ... then almost assuredly you're decent. The filters are probably not wrong.
Also - don't quit. Every time you get a promotion, it's natural to feel like a fish out of water - it's normal to feel like you 'don't know what you're doing' because how could you (?!?) you've never done it before! Just try to do your best, and I'll bet in a few months you feel more comfortable.
Re: Ask HN: How can I tell if I am a good developer?
#23Re: Ask HN: How can I tell if I am a good developer?
#24If everyone around you is much better than you, and you are aware enough to see it. Stay! This is a fantastic place to learn new things and improve your perspective. You may find that they’re not quite as amazing as they first seemed a few months or year down the line. But if they are, your own progress is likely to be much higher than at another place.
As the saying goes:
'If you are the smartest person in the room, then you are in the wrong room.'
Re: Ask HN: How can I tell if I am a good developer?
#25I realize that's not something you can just instantly decide to do, but I speak from personal experience -- there's no answer to "am I good" that will leave you in a healthy place. Put as much energy as possible into erasing the question from your mind. You do not need an answer.
Think of it this way: If you were the best programmer in the world, it would still be advantageous for you to learn new things, and to learn from other people. It still wouldn't be safe for you to dismiss other people's ideas out of hand. You would still want to work on improving your own skills. There's no such thing as a perfect programmer, so you can always go on improving.
If you were the worst programmer in the world, and you wanted to get better, the way you would do that is by learning new things, and by learning from other people. You would try not to dismiss other people's ideas out of hand. You would work hard on improving your skills.
So from a personal development perspective, your relative skill to the people around you doesn't matter, since you should be doing the same stuff regardless. Your lifelong "job" as a programmer is not to reach some kind of universal plateau of excellence, it is to be as good as you can be. Don't focus on where you are. Just focus on getting better.
Outside of personal development, there are areas where evaluating your personal skillset is valuable. However, very rarely, if ever, is that evaluation necessary to do in absolute, generalized terms like "good" or "bad". Very rarely is it valuable to ask, "how good am I overall?"
Valuable questions are:
"What do I still need to learn to accomplish the immediate task I want to take on?"
"Is there someone else working on the same task that is more suited than I am right now?"
"What is my current weakest skill, and how can I focus on improving that, specifically?"
These are all very focused questions. They're not asking whether or not you're "good", they're asking if you currently have the practical ability to handle one specific thing. If someone else next to you is better suited for a task, that doesn't mean they're a good developer and you're a bad one, it means they're better suited for that specific task. If you decide you are best suited to take on a specific task, it doesn't mean you're better overall than anyone else, just that you have a unique affinity for that particular task.
In any case, most tasks are not accomplished by the people who are best suited for them, they're accomplished by the people who take the time to sit down and do them. So usually, it's only necessary to ask, "does this need to be done?" and "can I do it?"
In terms of your workplace, the question you should be asking is not, "am I good enough?" It's, "do these people want me?" (if they hired you and they're not getting annoyed at you, the answer is probably yes, but maybe there are other dynamics at play). The question could also be, "is the pace at which I'm expected to learn too high, or is the work stressful enough that I would prefer to be somewhere else?" That's also a valid approach. Do you want to be at your job?
But neither of those two questions have anything to do with figuring out whether you fit into some nebulous category of "good".
This is tough to do, but from experience the best work I produce happens when I am not thinking about my status -- when I am not thinking about whether I am a good programmer, or a good person, or a talented artist, or anything like that -- and instead just focusing on being the best I can be, and improving the best I can each day. When you must evaluate your own skills, you want to be focused. You want to ask, "what are my practical, objective, evaluable goals, and how do I accomplish them? Where do I want to be, and how do I get there?"
The rest is all bullcrap. It's bullcrap that is hard to get of rid of, and it sticks in your brain and sometimes keeps you up at night. I totally get that. But that doesn't make it any less bullcrap nonsense. Try very hard not to ask yourself bullcrap nonsense questions.
Re: Ask HN: How can I tell if I am a good developer?
#26Re: Ask HN: How can I tell if I am a good developer?
#27Re: Ask HN: How can I tell if I am a good developer?
#28Re: Ask HN: How can I tell if I am a good developer?
#29For #1, It seems you're getting great comments from the places you've been providing your services, so good job there! You can keep riding on that for as long as you're getting them.
For #2, all you need is to remind yourself of questioning if you're doing a good job. Once you seek answers to that question (e.g. I can now play Bohemian Rhapsody on the piano; I improved the memory/performance of that application with great fit & finish, etc.), it will help you define your next set of milestones (e.g. I should try to nail one of Beethoven's now; I should try to design this other feature this other way to ace even more on the memory/performance etc.) You'll soon find yourself questioning again and the very act of seeking a solid next set of milestones to achieve is a sure path to improvement.
Like someone else has commented on this thread, don't beat yourself for being a strict self-assessor and rating yourself lower among your peers, instead a bout of You (a month ago) Vs. You (today) would be a much more reliable indicator of your improvements, and one that's very much within your own control.
The very question you're asking is a proof that you are doing that exercise fairly efficiently! :)
Re: Ask HN: How can I tell if I am a good developer?
#30If everyone around you is much better than you, and you are aware enough to see it. Stay! This is a fantastic place to learn new things and improve your perspective. You may find that they’re not quite as amazing as they first seemed a few months or year down the line. But if they are, your own progress is likely to be much higher than at another place.
This is such good advice. As the saying goes: 'If you are the smartest person in the room, then you are in the wrong room.'