15 comments

[ 8.0 ms ] story [ 52.2 ms ] thread
How does the use of an IDE lead to worse code?
(comment deleted)
Some of these steps seem very restrictive for no clear reason.

> 3. Do all employees deploy code on their first day?

You want to make sure that deployment is simple and streamlined enough that it's possible for a new employee to do it on their first day. That doesn't mean that you're doing it wrong if the receptionist doesn't deploy anything.

> 11. Do you discourage the use of IDEs?

You want to make sure that the code is easy to work, whether you're using Eclipse, vim, or whatever. So make that your goal. There's no clear purpose to be served by nagging people for using XCode if that's what they're most productive in.

> 11. Do you discourage the use of IDEs?

Surely it would more beneficial to mandate a build platform that is IDE agnostic and leave the choice of IDE to the individual developer preference.

uhh, what is a bus factor?

> 5. Is your bus factor greater than n/2, where n is the number of engineers?

If an engineer steps infront of a bus does your company cease to exist?
LMGTFY http://en.wikipedia.org/wiki/Bus_factor :)

The bus factor is the total number of key developers who would need to be incapacitated (as by getting hit by a bus/truck) to send the project into such disarray that it would not be able to proceed; the project would retain information (such as source code) with which no remaining team member is familiar.

uhh, what is LMGTFY? (I actually just googled that, lol)
The number of your people a bus would have to squish to screw your company.
You can follow all 12 of these steps to the letter and still produce horrible code.
3 is somewhat dependent on your system and customer base.

Not every product can just throw code out. For us, any changes that modify the database schema need to be thoroughly tested before going live. We simply can't leave that judgement up to someone on their first day.

However, being able to build a development or production environment in one click is a goal for us. If nothing else, it would save us time were someone to accidentally wipe their machine.

Can someone explain why the discouragement of IDEs is seen as a good idea?
45 minutes? Perhaps you should refocus some effort on that. And I'm not talking CI.
In your first post, you say that github only deploy from one branch.

I can't find the post offhand, but they now deploy feature branches, and only merge to master after deploying it, at which point they release their "shipping lock"