Ask HN: How can I self-evaluate my programming skills?
11–20 of 45 posts
Re: Ask HN: How can I self-evaluate my programming skills?
#12I'm not sure if this helps you out or not, but I've found working through practice problems, such as Project Euler, to be helpful.
I still find it entirely fascinating, I'm putting a post up tomorrow with what I learnt from problem one.
Re: Ask HN: How can I self-evaluate my programming skills?
#13I'm surprised that you feel you were able to measure something accurately with that list. I feel like it's very vague, and I don't have a clue how good I actually am for many of the important things like "problem decomposition", "systems decomposition", "communication", "code readability", et al. I'm sure there are probably people who would consider themselves "level 3" that I would scoff at, and there are probably p…
It's not a bad measure of where you are as long as you're honest with yourself.
Re: Ask HN: How can I self-evaluate my programming skills?
#14I'm surprised that you feel you were able to measure something accurately with that list. I feel like it's very vague, and I don't have a clue how good I actually am for many of the important things like "problem decomposition", "systems decomposition", "communication", "code readability", et al. I'm sure there are probably people who would consider themselves "level 3" that I would scoff at, and there are probably p…
To be fair you just picked out the things on the list that are hard to measure and partially comes down to personal preference/style. For example I absolutely detest the code behind DotNetOpenAuth but I can't really tell you why and I'm sure others would say it's fine. It's not a bad measure of where you are as long as you're honest with yourself.
(And many of the other, more concretely specified skills still suffer from the lots-of-room-at-the-top syndrome, e.g. I don't think that "has written custom macros" makes me an Emacs wizard, but whatever.)
Re: Ask HN: How can I self-evaluate my programming skills?
#15I'm surprised that you feel you were able to measure something accurately with that list. I feel like it's very vague, and I don't have a clue how good I actually am for many of the important things like "problem decomposition", "systems decomposition", "communication", "code readability", et al. I'm sure there are probably people who would consider themselves "level 3" that I would scoff at, and there are probably p…
I was going to post that reading Code Complete is one way perhaps to help OP recognize when you are improving, but there's more to it, you need to read, lots.
A programming career can be a long one, and many people may never stray far from their home town, whilst others might wash up, bedraggled, all across the globe.
There have been lots of articles on HN recently about self-development, but common threads seem to be:
- directed practice
- reflection
- publish and be criticized by others (good way)
Between reading the great books, writing real code and exposing your code to others' criticism, there should be a path that leads to serious improvement at a steady pace.I've interviewed recently, and it's caused me to look carefully at what I do, and how much I know. That in itself has been valuable, and helped me pick out what to read (C and C++ books in my case), and given me a target to become more surefooted in my programming.
Re: Ask HN: How can I self-evaluate my programming skills?
#16I'm not sure if this helps you out or not, but I've found working through practice problems, such as Project Euler, to be helpful.
Another benefit of Project Euler is, after you solve the problem, you can discuss different approaches to the problem in different languages with other people who have solved it. Reviewing these discussions can help to see if there are other ways to code the program which may not have occurred to you.
Re: Ask HN: How can I self-evaluate my programming skills?
#17How should I be evaluating myself? The only metric that matters is the delta between what you know and what you need to know to build what you have to build. How do you find out what this is? By building that which must be built. When you get stuck, you will have to find a way to get unstuck: by getting educated, by consulting others, by finding others' solutions, or just by old fashioned figuring it out. How often?…
I would add to this that it's important to learn how to build what must be built efficiently. If you create what appears to be an elegant piece of software on the surface but resembles a Rube Goldberg machine internally then it's going to be quite difficult to maintain or enhance it later.
Re: Ask HN: How can I self-evaluate my programming skills?
#18Not sure if that approach is useful. Wouldn't it be better to build something and note where you struggle the most along the way? I currently face a similar problem, as I want to pick up playing the guitar again. How to get into deliberate practice mode? I consider just going through a book step by step. On the other hand, as my real goal is songwriting, perhaps it would be better to just start writing songs and try…
> I currently face a similar problem, as I want to pick up playing the guitar again. How to get into deliberate practice mode? OT: Try WildChords ( http://www.ovelin.com/ ) :)
Re: Ask HN: How can I self-evaluate my programming skills?
#19How should I be evaluating myself? The only metric that matters is the delta between what you know and what you need to know to build what you have to build. How do you find out what this is? By building that which must be built. When you get stuck, you will have to find a way to get unstuck: by getting educated, by consulting others, by finding others' solutions, or just by old fashioned figuring it out. How often?…
A good place to look for where to improve is by reading your own code. Read stuff you wrote a week ago. Are you happy with it? What's wrong with it? Too verbose? Not legible enough? Poor perfomance?
If you don't know exactly how to improve, try leaving your safety zone. Experiment with different languages or designs, see what they have to offer that your current toolbox is lacking.
Re: Ask HN: How can I self-evaluate my programming skills?
#20I'm not sure if this helps you out or not, but I've found working through practice problems, such as Project Euler, to be helpful.
I was going to suggest the same (Project Euler specifically). I think the great thing about a site like Project Euler is you have a set result your code must produce to get it correct, so you must think through the correct way to code the algorithm. Another benefit of Project Euler is, after you solve the problem, you can discuss different approaches to the problem in different languages with other people who have so…