Be careful of who you work with
chadfowler.com
chadfowler.com
I have worked with many programmers and it's not always readily apparent who is better than me and who is not. And of course, some are better than me in some things but not others.
We don't always have the luxury of choosing who we work with, and have even less chance of only picking those better than us. So it's probably more practical to learn which habits to emulate and which to avoid in those we actually do encounter.
For example, that database whiz may suck at algoritms, so just because you learned one great thing from him, it does not necessarily follow that you should learn others. Also, I have often found a big difference between the perceptions of others (especially bosses and users) and my own assessment of their skills.
There is something to be learned from everyone. Just get good at figuring out "what" from "whom".
I think Paul Buchheit's recent article 'Two paths to success' does a very good job of illustrating the distinction between intrinsic and extrinsic motivation. Seems like one's personal ratio of extrinsic vs intrinsic motivation can be used as a sort of co-efficient that limits or enhances how you are influenced by your network. Further, if you pick some of the most intrinsically motivated entrepreneurs and innovators, you will find many people who will actually be affected negatively by what their network is doing.
In my opinion, for the sake of innovation, the world needs far more entrepreneurs and technologists who are highly intrinsically motivated, and far far less people who are so impressionable that the need to be 'careful' about who they work with. Just like you say, there is something to be learned from everyone.
Suppose every single person adopted the "I only want to play with a people better than me" approach?
Well, then those people you want to play/program/etc with... they don't want to play with you!
Ad-finitum till you get Grouch's "I'd never join a club that would allow a person like me to become a member"...
(there's lots of "interesting" game-theory/mating-theory describing these situations but I still don't find them appealing)
You might think that this is some weird genetic thing going on, but if you go there to investigate you'll notice something strange: your climbing improves. A lot.
Suddenly you're thrown into a world where climbing 8a (a lifetime goal for most dedicated sport climbers) is something that pretty much everybody does, often within only a year or two of starting out. Your concept of what is "hard" changes, and suddenly it doesn't seem so outrageous to get on a route that should be way over your head. It gets in your blood. You train harder. You climb harder. Just because you're there.
It's not a fluke of grading, either. You can take that ability you gained back to your home crag and demonstrate for yourself that it's real by polishing off projects that you'd been working on for years. Then you can watch it fade away over the course of maybe half a year as you slip back into climbing with your old crowd.
FYI, the continue reading link either shouldn't be on the page, or it should take you to the rest of the article - not sure if I got everything or not.
The only real time I've had a problem with this is when consulting. I usually WAS the expert, or at least perceived expert, and had difficulty finding people to work with that could elevate me to the next level. The easy solution to this is to go to local meetups with people who share your passion.
When I joined Google Search, I was frequently the smartest guy in the room when it came to JavaScript quirks, or web development, or rich AJAX apps. I was usually the dumbest when it came to massively distributed systems, or information retrieval, or i18n and accessibility, or unstructured data mining.
Over time, I've transferred a bunch of my frontend knowledge to other engineers, and I've learned a whole lot about how massive software systems are architected. I'm a better developer, the people around me are better developers, the company is several hundred million dollars richer, and everybody wins.
I'm not bitter. At all.
I am definitely seeing lots of parallels to work and other aspects of life here.
"Do you like your espresso long or short" works for me.
I am NOT joking: Every project in the world has some mundane thing that has to be done but everybody is too busy to do it. Make coffee, write and maintain build scripts, write test cases, documentation, whatever. If everyone on the team is smarter than you, they all would rather be doing something else, and they will value a team member that gives them more time to do it.
Taking part in a programming community like those surrounding more academic languages such as Scala, Haskell or J is a challenge a lot like playing in a jazz band with music majors and 60 year old musicians with amazing grace. That's the wonderful thing about being online - you can interact with a nearly limitless variety of social circles. There's always someone with inspiring talent, skills, ideas or enthusiasm to inspire you.
That's one of the reasons HN is so good - this community challenges members to make contributions which are intellectually substantive, unlike Reddit, TechCrunch or other superficially similar sites.
"Be the best programmer on some projects; be the worst on some others."
Helping someone learn new, cool shit is just exhilarating... Almost cooler then learning new stuff yourself.
Also, there seems to be a continue reading link on the page that doesn't actually do anything.
The version of the bookmarket I use [edited to code, because its length was mucking up the whole page]
javascript:(function(){readConvertLinksToFootnotes=false;readStyle='style-newspaper';readSize='size-medium';readMargin='margin-wide';_readability_script=document.createElement('script');_readability_script.type='text/javascript';_readability_script.src='http://lab.arc90.com/experiments/readability/js/readability.js?x=+(Math.random());document.documentElement.appendChild(_readability_script);_readability_css=document.createElement('link');_readability_css.rel='stylesheet';_readability_css.href='http://lab.arc90.com/experiments/readability/css/readability.css;_readability_css.type=text/css;_readability_css.media=all;document.documentElement.appendChild(_readability_css);_readability_print_css=document.createElement(link);_readability_print_css.rel=stylesheet;_readability_print_css.href=http://lab.arc90.com/experiments/readability/css/readability-print.css;_readability_print_css.media=print;_readability_print_css.type=text/css;document.getElementsByTagName(head)[0].appendChild(_readability_print_css);})();In "The Hidden Power of Social Networks" (an excellent book on social network behavior within large organizations), Rob Cross reports work looking at the effect different people had on energy. Some people, when you meet with them, everybody comes out energized ... others, you come away totally meh. Who's it more productive to associate with? I don't know of similar studies with startups, early customers, and partners, but I'd bet dollars to donuts there would be similar patterns.
There's a reasonable probability that energy will translate into value creation and then into money, anyway. And even if not, would you rather be full-of-life and poor, or half-dead and rich? (to dichotomize for dramatic contrast.)
Why would a collective that is better than you, which probably subscribes to this moderately common notion, hire you?
I guess Harpo had the same problem.
Actually it was Groucho who uttered the phrase to which you refer. However a little research shows that it was apparently originally from the "Forsyte Saga" novels about edwardian era upper-middle-class british life. You learn something new every day.
I often read people making fun of the grossly overarchitected solutions in the java world, but I personally feel the same way about the .Net world, at least when it comes to code written by people who are in most ways genuinely the smartest, most capable developers I have worked with.
Any other .Net people feel this way or am I missing something?
The longer someone's been a '.Net Programmer' (rather then a programmer who does .Net) the more likely they are to over-architect, over design and use frameworks and tools that are just...wrong.
If you’re a teacher, go where the students care about what they’re learning.1) I think working in a toxic or slow moving corporate environment is really bad for you for reasons much more direct than behaviors moving through a social network
2) Researches demonstrated that certain moods and obesity appear to be correlated in social networks - but they have not demonstrated causation or show that this applies to behaviors and moods in general. The fact that two nodes in a social network are likely to both be obese together only shows that obese people move in the same social circles, and there could be a wide variety of social and economic reasons why that are more directly causative than two people knowing each other.
Not to be a downer, it just seems to me that this article makes an unfounded leap there.