Live data from Hacker News

Be careful of who you work with

chadfowler.com

31–39 of 39 posts

Re: Be careful of who you work with

#31
I agree with this premise entirely....however, in the .Net world, at least in my experiences, the smartest (in terms of raw mental capabilities and depth of knowledge) are also the people that write the most verbose, complicated code to do the simplest things...generally I suppose under the guise that it will be "more flexible" I suppose. Often times after enough frustration I've rewritten some of the code in question in one fifth the size, which handles more scenarios, runs faster, and usually even a junior programmer could figure it out.

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?

Re: Be careful of who you work with

#32
post #25

Earlier quoted context omitted.

I prefer Norvig's advice: "Be the best programmer on some projects; be the worst on some others." http://norvig.com/21-days.html

I have to agree with this. Leading a group of less experienced programmers can be a great experience. I guess it depends on what you're looking for.

I really enjoyed my last position. I was a team lead of a team of junior programmers, but the other teams had better programmers then me. I got the best of both worlds.

Helping someone learn new, cool shit is just exhilarating... Almost cooler then learning new stuff yourself.

Re: Be careful of who you work with

#33
post #7

I would have preferred the title, "Recognize who you're working with" 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 wh…

Indeed,

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)

Re: Be careful of who you work with

#34

I agree with this premise entirely....however, in the .Net world, at least in my experiences, the smartest (in terms of raw mental capabilities and depth of knowledge) are also the people that write the most verbose, complicated code to do the simplest things...generally I suppose under the guise that it will be "more flexible" I suppose. Often times after enough frustration I've rewritten some of the code in questio…

I've noticed a corresponding tendency, but amongst the most experienced (But not most capable).

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.

Re: Be careful of who you work with

#35
post #15

Earlier quoted context omitted.

When I was a TA in college I gave similar advice to my students: If you are the best person in your study group, you are in the wrong study group. Now, the problem is, on a purely meritocratic level, the better study groups do not want to have you because you are slowing them down. You gotta bring something else to the table so they let you in. What that special something is, everybody has to figure that out for hims…

the problem is, on a purely meritocratic level, the better study groups do not want to have you because you are slowing them down. You gotta bring something else to the table so they let you in. "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,…

ah the benefits of humility. Well said.

Re: Be careful of who you work with

#36

"If behavior spreads through social networks, then working in a toxic or slow-moving corporate environment is really really bad for you." 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…

Or, gravity.

Re: Be careful of who you work with

#37
post #7

I would have preferred the title, "Recognize who you're working with" 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 wh…

Indeed, 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…

Skill isn't one dimensional. If I'm better at X and my colleague is better at Y we can both learn from someone 'smarter' and everybody is clearly better of by cooperating.

Re: Be careful of who you work with

#38
post #9

"always be the worst musician in every band you’re in" -- GOLD! 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.

It sounds great but most places seem to hire based on current abilities or previous accomplishments, not potential, so how does one go about implementing this advice for anything other than an entry level position?

Work for companies that are weak in what you're strong in, but strong in lots of other areas.

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.

Re: Be careful of who you work with

#39
post #9

Earlier quoted context omitted.

It sounds great but most places seem to hire based on current abilities or previous accomplishments, not potential, so how does one go about implementing this advice for anything other than an entry level position?

Work for companies that are weak in what you're strong in, but strong in lots of other areas. 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 transf…

Your experience sounds a lot like mine, except my team thought that expertise in Javascript was a sign that you had wasted your life.

I'm not bitter. At all.

Post reply on HN