In over my head. How can I work with more advanced programmers?
arstechnica.com
arstechnica.com
In other words, this is some content from a different web site, which we're re-publishing here because we can. I don't get it, what would be the idea of this, except for "content is good"? That people who might be interested in questions like this don't read the relevant SE sites, so they "need" Ars to step in and re-publish it? It's weirding me out.
Stack Exchange gets people to post on there by letting its content out on the creative commons license (or whatever equivalent). IE, the posts don't belong to Stack Exchange any more than they belong to Arstechnica. They are doing what the license was intended to let them do. It is simply a matter of which presentation of the material do we like best.
Ars is hardly becoming an aggregation site, IMO they have always had thoughtful, high quality writing with a balanced perspective. One article a week is not a sign of a change in strategy.
What I find is more common though is working with very sub-par developers who have no interest in advancing their skills.
One is learning "uber-programming" and the other learning excellent software engineering. The uber-programmer is using super-sophisticated algorithms and crazy efficient stuff with syntax or just crazy stuff. The excellent software engineer is working to make the complicated stuff look as simple as possible and be maintainable by the least sophisticated programmer possible.
The great thing is that in any given project, you can probably find an opportunity to improve your skill in one of these two categories.
When I've worked with subpar developers, it gave me a chance to do the uber-stuff they couldn't/wouldn't do. But writing code that solved problems "in a way even Bob can understand" is actually an interesting challenge even if it's different than database tuning or whatever.
being a good programmer includes not creating useless abstractions, so what you're actually saying is "when i last worked with poor programmers they weren't very good". and, in response to that: well, duh.
I'm lucky to be in a situation where I'm surrounded by smarter programmers. I'm learning tons and the effects have been very noticeable. Some "better" programmers can be hard to deal with but if you have patience and a willingness to learn you will benefit greatly.
Instead I feel like I'm a regular person caught in the middle of a case study on the Dunning-Kruger effect.
Also, I've found the Benjamin Franklin method of "ask someone to do something for you as a form of flattery" works amazingly well to get people to befriend/like you.
Take a swim in the ocean of Lisp (Clojure/Scheme, whatever...) and you'll never feel overwhelmed by things like these again. You'll realize that you're all kinder-garden children and the only difference is that the rest had been playing with shinier toys... THE TRUTH IS BEYOND SYNTAX AND LANGUAGE FEATURES :)
You will either be able to a) get rid of these unnecessary constructs b) understand why these were necessary in the first place.
Those are noobs. Look e.g. at V8 to see real, advanced C++ code: http://code.google.com/p/v8/source/browse/trunk/src/