Live data from Hacker News

How companies should hire developers

antoniocangiano.com

1–10 of 20 posts

Re: How companies should hire developers

#2
"They are looking for XP/Agile people and this simple requirement will excite many talented developers,"

Well it wouldn't excite me. Perhaps they work when you are building a product, but in billable consultancy they don't. It's just not somethign customers would accept. Neither would they accept Waterfall or anything like that, of course. They simply want to tell you their problems, get quoted a number of days, and then do it. The don't want to get billed neither for up-front big design planning nor for writing tests or story cards, nor double the time (pair programming), nor for anything else. Just 1) explain the problem (for free) 2) program it (for charge). This is how they think. And you won't ever convince them to do otherwise.

Re: How companies should hire developers

#4
2) Be “true believers” in Agile methods, including story carding, pair-programming and test-driven development.

I am a true believer in TTD, continuous integration and weekly team based code reviews, but pair-programming is crap.

Plus, A LOT of very good developers who also love TDD and a lot of Agile/XP practices feel the same way about forced pair programming.

Demanding it is a good way to lose a lot of great talent. But how could, lets say, demanding TDD ever cost you talented programmers? It won't, ever.

There's a lot of great stuff in Agile/XP (that's also in the Mythical Man Month), but don't drown in the cool-aid.

Re: How companies should hire developers

#5

2) Be “true believers” in Agile methods, including story carding, pair-programming and test-driven development. I am a true believer in TTD, continuous integration and weekly team based code reviews, but pair-programming is crap. Plus, A LOT of very good developers who also love TDD and a lot of Agile/XP practices feel the same way about forced pair programming. Demanding it is a good way to lose a lot of great talen…

But how could, lets say, demanding TDD ever cost you talented programmers? It won't, ever.

This is wrong. TDD may or may not be useful. I'll give it the benefit of the doubt, but in my experience it has been used in a "cargo cult" approach to programming. The last startup I spent significant time at was eventually destroyed because they hired an "Agile/VP" of engineering. He then hired a bunch of guys who could do "TDD" but didn't actually know how to write software.

Re: How companies should hire developers

#6

2) Be “true believers” in Agile methods, including story carding, pair-programming and test-driven development. I am a true believer in TTD, continuous integration and weekly team based code reviews, but pair-programming is crap. Plus, A LOT of very good developers who also love TDD and a lot of Agile/XP practices feel the same way about forced pair programming. Demanding it is a good way to lose a lot of great talen…

What is TTD? Or do you mean TDD (Test Driven Development http://en.wikipedia.org/wiki/Test_Driven_Development)?

Re: How companies should hire developers

#7

2) Be “true believers” in Agile methods, including story carding, pair-programming and test-driven development. I am a true believer in TTD, continuous integration and weekly team based code reviews, but pair-programming is crap. Plus, A LOT of very good developers who also love TDD and a lot of Agile/XP practices feel the same way about forced pair programming. Demanding it is a good way to lose a lot of great talen…

But how could, lets say, demanding TDD ever cost you talented programmers? It won't, ever. This is wrong. TDD may or may not be useful. I'll give it the benefit of the doubt, but in my experience it has been used in a "cargo cult" approach to programming. The last startup I spent significant time at was eventually destroyed because they hired an "Agile/VP" of engineering. He then hired a bunch of guys who could do "T…

But that's not because of TDD, it because of people who couldn't write software.

Imagine if those people were also bad at math, would you say math is only occasionally useful?

Obviously I agree about "cargo cult" programming, the worst of it is when someone has a religious affinity for pair programming, but thinks testing is a waste of time.

Re: How companies should hire developers

#8
post #6

2) Be “true believers” in Agile methods, including story carding, pair-programming and test-driven development. I am a true believer in TTD, continuous integration and weekly team based code reviews, but pair-programming is crap. Plus, A LOT of very good developers who also love TDD and a lot of Agile/XP practices feel the same way about forced pair programming. Demanding it is a good way to lose a lot of great talen…

What is TTD? Or do you mean TDD (Test Driven Development http://en.wikipedia.org/wiki/Test_Driven_Development )?

Now if there was only test driven spelling, I wouldn't keep embarrassing myself on the inter tubes.

Re: How companies should hire developers

#9

Earlier quoted context omitted.

But how could, lets say, demanding TDD ever cost you talented programmers? It won't, ever. This is wrong. TDD may or may not be useful. I'll give it the benefit of the doubt, but in my experience it has been used in a "cargo cult" approach to programming. The last startup I spent significant time at was eventually destroyed because they hired an "Agile/VP" of engineering. He then hired a bunch of guys who could do "T…

But that's not because of TDD, it because of people who couldn't write software. Imagine if those people were also bad at math, would you say math is only occasionally useful? Obviously I agree about "cargo cult" programming, the worst of it is when someone has a religious affinity for pair programming, but thinks testing is a waste of time.

I think I am a good programmer, and I think TDD is aweful. Using unit testing, has its place, especially when working with parts that have clear input/output ranges, or in large systems, where your piece of code has to be integrated somewhere else, so you want to make sure it works before committing it.

BUT, programming according to Tests, is not a good idea. Tests are not the END RESULT, not the ultimate user of your code!!! Instead of tests being for what they are: testing your input/output, they are being used to design systems. So, you are designing your programs according to tests, and not their ultimate functionality.

Here is another thing that I think: Weaker programmers prefer TDD. It is like they want validation b/c they are unsure of what they are writing.

Re: How companies should hire developers

#10
post #9

Earlier quoted context omitted.

But that's not because of TDD, it because of people who couldn't write software. Imagine if those people were also bad at math, would you say math is only occasionally useful? Obviously I agree about "cargo cult" programming, the worst of it is when someone has a religious affinity for pair programming, but thinks testing is a waste of time.

I think I am a good programmer, and I think TDD is aweful. Using unit testing, has its place, especially when working with parts that have clear input/output ranges, or in large systems, where your piece of code has to be integrated somewhere else, so you want to make sure it works before committing it. BUT, programming according to Tests, is not a good idea. Tests are not the END RESULT, not the ultimate user of you…

Working on large and complex application becomes near impossible without extensive unit test coverage.

If you're using unit test of all things to guide the design of your application, you are off the deep end. That makes you a bad programmer, it doesn't make TDD bad.

Post reply on HN