News for hackers. Stuff that matters.
Re:Ask HN: How can I self-evaluate my programming skills? by _mayo on Friday January 06, 2012 @09:52AM (#3433472)
I'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.
Re:Ask HN: How can I self-evaluate my programming skills? by bdg on Friday January 06, 2012 @10:10AM (#3433547)
Actually, I've started Project Euler, I worked my way through them the hard way (ie, finding a general abstraction that's optimized for performance). I've learnt a lot, but more about math than software per se.

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? by jeffl8n on Friday January 06, 2012 @10:38AM (#3433651)
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 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? by gldalmaso on Friday January 06, 2012 @10:50AM (#3433703)
Another good thing about Project Euler is that the problem is usually presented in a simple form, which you first try to reproduce, and then it scales up in a way that you have to optimize in order to achieve success in under 1min of cpu processing time. The result is that you learn a lot about how to make more elegant solutions.
Re:Ask HN: How can I self-evaluate my programming skills? by steph37 on Friday January 06, 2012 @12:47PM (#3434209)
Project Euler is good fun and great for improving your algorithm design and understanding of basic programming constructs, but I think its a poor way to improve software engineering skills in general. Being able to write clever efficient algorithms is good but not nearly as critical as grasping important design patterns, OOP, methodologies like TDD, frameworks and databases you're using, etc.