Home

2023-08-23

Starting a software engineering project requires many small decisions. If you're unfamiliar with recent tools and technologies, it can be confusing. For instance, I've been out of the Javascript loop and feel overwhelmed by the options available. The situation is similar with the ever-changing state of package managers in Python.

When setting up a project, you'll have to consider CSS frameworks, pre-commit hooks, and Github/Gitlab workflows for testing and deployment. You'll also need to choose a hosting solution, like Heroku or Digital Ocean, and potentially use Ansible to configure your server.

Poor choices can haunt you later on, especially in fast-paced environments where subpar solutions might be tolerated. By the time there's an opportunity to fix them, chaos may have already set in.

Opinionated frameworks can alleviate these challenges by automating decisions, freeing you to focus on the core problems. However, take caution; this generalized approach may become a hindrance if your project's requirements stray from the conventional path.