Hacker News new | past | comments | ask | show | jobs | submit login

I think you were consulting in fairly good shops, OR it is more a geographical thing, but man, that wasn't my experience. I was working in one of the better .net companies in toronto -- we were an MS gold partner, our CTO was an MVP and was frequently on the conference circuit, and we sponsored the local user group. I met and worked with a lot of great devs in the MS community, but frustration at that tunnel-vision thing was probably what ultimately got me to jump platforms

I sort of disagree on the DVCS point, just because the technology is so much better all around. If I start working on something, I make a branch for it. When I am done, I pull master, and rebase my topic branch back on top of the other work people have done. This allows for a few things.

1) If I get interrupted and need to work on something else, not only am I able to, but switching back to master, pulling, and branching again takes under 20 seconds and is 3 commands.

2) If someone else is working on the same part of the code base, I can pull their half done work from them directly if I need to, while keeping the mainline clean and in working order. Where I work we do pair programming, so this is really huge, any time we want to switch roles it is just a local commit and pull away.

3) no single point of failure. I don't know if this has happened to you before, but if your svn server gets corrupted, basically work completely stops until it is fixed. Reconstructing a recent version of your code base based on whats on dev machines is pretty much asking who was the last one to pull, because again, dev work doesn't mess with master since branching is so easy, so everyone should have a clean version of the mainline on their machines.

I think the advantages of DVCS are _way_ more obvious for open source projects, but you can see a lot of benefits using it pretty much anywhere.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: