3 ms·
I'm pretty unhappy with the current state of software development. Developers who have a voice are often extremists with very strong ideas (and sometimes very b
by jondubois 11y ago
I'm pretty unhappy with the current state of software development. Developers who have a voice are often extremists with very strong ideas (and sometimes very bad ideas).
The idea that you should use a module to check if a number is -0 is just insane.
Developers need to wisen up and accept the reality that there is no right or wrong way to do anything. The problem is that people like radical thoughts. No one wants to hear the word 'sometimes' - Which is actually the right word to use 99% of the time.
Question:
- Should you use as many small modules as possible?
Answers:
- Famous developer: Yes, always break everything into small modules because it encourages code reuse, composability, collaboration. That's the Unix philosophy.
- Moderate developer: Small modules are great sometimes but in some cases you just want a wholesome tool that just works and takes care of all the edge cases (and gives you operational guarantees). Having too many separate modules increases management complexity and can make the upgrade/deployment process more complicated and time consuming. Sometimes having too many small modules can make your code difficult to read because people are forced to read through pages of documentation on GitHub every time they encounter a new module.
Question:
- Is Microservices always the right approach to software development?
Answers:
- Famous developer: Yes, always break up your system into separate services - This promotes separation of concerns which makes your system easier to manage.
- Moderate developer: Sometimes. If you have a small team, you don't want to be managing too many different services and having too many code repos - Sometimes it's better to start out with one service, but build it in a way that it can easily be split out later on.
Question:
- Should you use Docker?
Answers:
- Famous developer: Yes, you need to Dockerize your whole stack from the beginning if you want fast deployment.
- Moderate developer: Sometimes. You should be selective about which technologies you use within your project and try to keep the deployment process as simple as possible. If you can keep your technology count to a manageable level, you may end up not needing Docker.
Question:
- Should you use promises in JavaScript?
Answers:
- Famous developer #1: No, promises are evil, they are slow, they swallow your errors and they make your logic impossible to follow.
- Famous developer #2: Yes, promises should always be used. Callbacks make code difficult to read and cause callback hell.
- Moderate developer: Promises are good sometimes but you have to be careful how/when you use them. You don't want to have really long chains of promises spread across multiple files. Sometimes callbacks are more appropriate if you design your system in such a way that nesting is minimal. Ultimately is comes down to what makes your team happy.