I liked the post "How to seem good at everything: Stop doing stupid shit" [1,2] and am wondering how to apply it to take my dev skills to the next level... What is the "stupid shit" that developers do that if we were to only stop doing would make us better developers?<p>I'm primarily working in Rails nowadays if that makes a difference in the way you answer the question.<p>[1] http://jinfiesto.posterous.com/how-to-seem-good-at-everything-stop-doing-stu<p>[2] http://news.ycombinator.com/item?id=2848041
Humility is your friend. There is so much to know you must assume that, in areas where you are not already an acknowledge expert, you are already doing stupid things and you don't know it.<p>Related to humility: Never forget the fundamentals. I'm talking about things like basic sorting, searching, and big O estimating. Know what your data structures and algorithms cost in terms of memory and performance. I'm continually surprised by how many senior developers unknowingly drift away from the fundamentals.
Assume no non-Rails code will be using the database. Use ActiveRecord migrations to set up schemas completely lacking foreign key declarations. Casually add caching without thinking very carefully about invalidation, serving stale data for hours to months. Deploy manually without ensuring every server always has the same package versions.
The book Rails AntiPatterns addresses many: <a href="http://www.amazon.com/Rails-AntiPatterns-Refactoring-Addison-Wesley-Professional/dp/0321604814" rel="nofollow">http://www.amazon.com/Rails-AntiPatterns-Refactoring-Addison...</a>
- Not writing tests.<p>- Long finder methods instead of using named scopes.<p>- Not using restful routes.<p>- Too much code in their views.<p>- After saves that should be validations or other confusing AR lifecycle mistakes/abuses.