26 ms·
The funny thing is that it's nearly impossible to evaluate where you stand before you've reached the next level or even the level after that. You think your sol
by lawn 15y ago
The funny thing is that it's nearly impossible to evaluate where you stand before you've reached the next level or even the level after that. You think your solution is clever? Wait 6 months and you think it stinks. You think you have a nice abstraction? Wait until you need to do something you didn't think of and you find it's useless/too complex/unnecessary and so on.
I find that the best way to evaluate yourself is to look at your code all the time and think critically. Be careful not to overdo it though, maybe take a closer look in between projects or in some interval is fine.
What should you work on? What do you find interesting? I think you're a lot better off working on something you find interesting than forcing you into something that you don't find thrilling. As always you should do stuff you're not comfortable with: do some low/high level stuff, try a new framework or do something you think is hard.
I wouldn't obsess too much on how good you are compared to others, there's always someone better, period.
Instead focus on your relative improvement. If you read your old code (which you should) you should think "this is awful, I could write something better" or at least "this is ok... but if I did it this way it would be much better".
And finally read code, read books about code, try to code with other people and try to make something useful.
Some book tips:
The Pragmatic Programmer:
Read this!
Introduction to Algorithms:
If you don't know algorithms, here's a nice book for it
Effective Java, Effective C++, More Effective C++:
Just good practices
- glimcat 15y ago"You think your solution is clever? Wait 6 months and you think it stinks." I can't even count the times I've put together a "clever" function only to find out that an optimized solution existed in a common library and I could have done the same thing in 1/20th of the code. Software development is humbling.
- kellyreid 15y agoi usually roll my own first, even if i'm sure a library exists. it helps me get a better understanding of the problem space, and since i'm still a greenhorn this understanding is critical. i am then grateful for the library and how easy it makes my life!
- carucez 15y agoYour book selection is among the best.