Framework choices

Framework choices can be critical. The wrong choice is going to cause a big increase in the amount of technical debt a project has and can harm the onboarding process for new employees, which already carries a high opportunity cost.

Problematic choices:

  • Flavour of the month
  • Too dated
  • Custom

All of the above carry a high chance that you won't be able to find a new hire that knows the technology involved. Obviously with a custom framework it would be impossible! All you can do if that's what you have is hire someone with a solid and varied background and strong knowledge of the fundamentals of software engineering.

If a framework is too dated, not only is it hard to find people but it can also be hard to find documentation, unless it's archived somewhere. Even if there is documentation, it may be difficult to find StackOverflow answers. Even if you can find StackOverflow answers, it may be difficult to get new questions answered.

If a framework is the Next Big Thing you have similar problems. Insufficient documentation, potentially unstable APIs, lack of people.

All of this points towards the only rational choice as being the middle ground (as is so often the case in so many different aspects of life in general). You need a framework that's relatively mature, has a decent ecosystem grown up around it, an active tag on StackOverflow, a good community to lean on for help.