4 ms·
As an architect, you need to be able to do a cost/benefit analysis of each option. That is what software architects do, why they have experience. For example:
by ktRolster 11y ago
As an architect, you need to be able to do a cost/benefit analysis of each option. That is what software architects do, why they have experience. For example:
How much time will it take to implement each option?
How much time will it take in the future to support it?
What security risk does each option incur?
What is the risk of the project being abandoned?
What is the risk of the project changing in non-backwards compatible ways?
What are the performance characteristics of each option?
NIH is a disease, but so is import-mania. With experience, you can make a good decision.
- mathattack 11y agoGood engineering managers and architects are great at balancing both biases.
- maxxxxx 11y agoBalance is good. Unfortunately ideologues have taken over software as they have taken over politics.
- ben0x539 11y agoAre there really people out there whose decisionmaking process goes like "well we don't really need this library, but I'm gonna depend on it anyway to further the ideology of our movement"
- maxxxxx 11y agoI know plenty of people who want to port everything to JavaScript. When you ask "Why?" they don't know. That's an ideology.
- the_af 11y agoIn what sense are technical preferences you cannot explain or justify an "ideology"? Ideology is not unjustified/mistaken belief. Maybe you mean cargo culting in technology, of which there is sadly a lot? Or maybe even "let's do this in JavaScript, because it's the only tech I know and I can't be bothered to learn something new"? That happens, but it's not ideological.
- ktRolster 11y agoYou're defining ideology too narrowly.....an ideology is a system of ideas and ideals. It doesn't have to be mistaken, and it can be completely justified and correct. "I think Javascript is better because I prefer to use technologies I know" can be part of an ideology.
- the_af 11y agoIt was the OP, not me, that implied ideology is something negative and linked to poor justifications. For the record, I think ideology is (or can be) a good thing in politics, but a misappropriated term in technology. > "I think Javascript is better because I prefer to use technologies I know" can be part of an ideology. But that's not what the OP said. Instead, it was "I think we should use Javascript because... uh... I dunno. Let's just do it!". That's not ideology by any possible meaning of the word.
- mathattack 11y agoIdeologies are rarely presented as such. I have seen places where they wrote databases from scratch, and rewrote Windows scrolling bars. Always 100 good reasons why using something else wasn't good enough. Other times I've seen people always want to buy the shiny nice toy rather than write a few lines of code themselves.
- krinchan 11y agoAlso de-duplicating dependencies is pretty big. For instance, in Java land, I have a project built in Camel, and Camel is deeply in love with the Jackson JSON parser. So I use it there. On the other hand, I've been learning to use GSON's parser in my Sponge plugin (a Minecraft server) because the SpongAPI dependency pulls that in anyway. Albeit, both libraries are dead simple to use so it's a bit contrived, but I see a lot of projects that would pull in Spring's RESTTemplate into a Camel project when they've already pulled in CXF or have Apache's HTTPClient readily available via other dependencies. (And no, URLConnection is terrible. TERRIBLE.)
- skewart 11y agoOne thing I've gotten into the habit of doing is looking around the commit history and issue list for any package I import. Was it something somebody wrote in a hurry and hasn't really touched since? Is it something that has a solid set of regular contributors? Are there a lot of outstanding issues relative to how heavily used it is? I also spend more time actually reading through specs to see how well they exercise the code. That's probably standard procedure for a lot of people, but it's something that I had to learn to always do.
- ktRolster 11y agoThat's a good idea