We distribute packages internally (thanks to NuGet and npm) with pieces of software, which are ready to use. We design packages to simply maintain and extend shared code. We also provide reverse compatibility. This allows us to upgrade older solutions with new versions of packages and provide new functionalities, better security and optimized performance. All of this just by updating a package.
We have a lot of code that we share between projects, extended framework, as well as our own algorithms, solution patterns, multi-layer design and deployment paths. We share everything that can be re-used internally. During developing we keep high internal standards, documenting the whole process and teaching the team how to use it.
Components provide a complete functionality with full interface and user experience. We can build an application from both sides - backend and frontend. We have our own default template, which allows us to deliver business solutions within days. This can be achieved by using generic forms (automated generation of forms, based on model metadata) and grids with full support for sorting, filtering, ordering, paging and more. Thanks to this we can focus on business logic & business flow.