3 ms·
My Ideal developer experience is; - Should not need an IDE ::: The system should be able to be developed without depending on a particular IDE or set of propri
by gitgud 6y ago
My Ideal developer experience is;
- Should not need an IDE ::: The system should be able to be developed without depending on a particular IDE or set of proprietary build tools.
- CLI tool-chain ::: The system should be able to be built and deployed using CLI tools, preferably open-source.
- Versioned deploys and Rollback ::: Each deployment should be versioned and rolling back should be fairly trivial (when things break this needs to be easy).
- Modular development ::: pieces of the system should be able to be developed individually without compiling/building the entire project.
- Poly Repositories ::: I've found mono-repos make every bit of code highly-coupled. CI tools like github actions, makes poly-repos much easier to manage and improve separation of concerns, dependency management and modularity of components.
- Feature based folder structure ::: Grouping source files by feature, rather than by file type.
- Design components for testing ::: Testing should be considered during development of components, then integration of testing later is much easier (decouple database logic, dependency inversion etc.).
- Encapsulation of libraries ::: I personally prefer that most external libraries are encapsulated within wrapper classes, in order to insulate them from directly touching different parts of the system (ideally)
- Cross-platform should be trivial ::: Web-based applications easily achieve this, but so do many scripting languages etc. If building for different platforms is unreliable/impossible than that's not ideal.
These things vary in importance from person to person, but they're important to me.