4 ms·
> Know what artifacts your system makes and what's needed for it to run. Know what kinds of things its good at and what it's bad at - in a non-zealous and non-e
by gitgud 7y ago
> Know what artifacts your system makes and what's needed for it to run. Know what kinds of things its good at and what it's bad at - in a non-zealous and non-egotistical way.
It's hard to remain objective when deciding what technology to use. The programming language you know can usually the most suitable; as you have the most experience in it, despite better alternatives which might be available.
The disheartening reality is that there's always a better system for your application...
- noir_lord 7y agoTrue and sometimes you have to decide whether the time spent learning new language and development is better or worse than just using the language you know well. It's one of the reasons I'm learning Kotlin, I know sometime in the next year I'll need it.
- yeahitslikethat 7y agoAt least someone on the team should know where the landmines and Booby traps are in the language before you plan a big project on it. If you find out how many and what kind they are after you have gotten half way to the goal then you might have to start over.
- ThrustVectoring 7y agoThere's a pretty big principle-agent problem for these kinds of decisions, too. Choosing a programming language has an effect on the implementing employees' resume strength, not just on the end result that they provide for the company. A symptom of this is having a startup that uses more programming languages in production code than programmers.
- fwip 7y agoObjectivity is a false idol - as is perfection. No matter how much research you do, or how wise you are, you still have to decide how to measure "best." And that's inherently subjective.