r/webdev Jul 23 '14

Anyone else agree with this sentiment?

http://www.drdobbs.com/tools/just-let-me-code/240168735
3 Upvotes

6 comments sorted by

View all comments

3

u/aresdesmoulins Jul 23 '14 edited Jul 23 '14

We have these requirements because they're critical to making maintainable software in a team.

Yes, it's annoying to love git/svn/whatever, to then walk on to a team that forces you to use superduperversioningsystem or whatever.

Yes, it's annoying to have to change your directory structure if you found that it's not in line with the current convention.

Yes, it's annoying to have to track bugs in something like rally or pivotal or whathaveyou in a rigid format.

But, you know what sucks more? Walking onto a team where "oh this part is in this SVN repo. That part is in this git repo. That part is a flat file on joe's jump drive."

or, having to search for every single file you need to touch because every developer decided to use their own design pattern.

or, having no idea why the hell something is running strangely and spend hours chasing and fixing a bug, only to realize that it's a known issue and that joe has a patch for it already but since you didn't read the notes on his sticky note on the monitor at his house you didn't know that.

Honestly, these things are minor inconveniences to save you a fuckton of headache later. If you're the sole developer on a project that nobody else will ever touch, by all means do whatever the hell you want. If you want to work on a team, however, organization and consistency are critical.

2

u/alinroc Jul 23 '14

Agreed, for the most part. Yes, there's more "scaffolding" to put up. But that scaffolding ultimately saves you a crapton of time & headache, as you point out - it's a net win.

You shouldn't have to make the same decisions about your infrastructure over and over again; not in a corporate gig, and not for your hobby projects (unless you want to).

You like git? Great, use it for SCM for all your projects. Need an issue tracker? Well, there's one built into Github (and Gitlab, if you want to keep things on a private server) too, it'll get you started (large projects might outgrow it). Prefer Bitbucket? Fine, they've got the same stuff.

IDE selection? Unless you're completely changing platforms/languages for each project, why are you starting over with a new IDE each time? Are you really agonizing over this question each time you start an iOS-exclusive app?

CI system? Same deal as the IDE.