Software development needs to be people-focused: Stepping up our ambition to create an inspiring environment around our developers’ needs, the company will offer a remote platform for every employee to make every day work for developers more fun.
Software developing companies face a tough challenge when it comes to combining modern tools with a high ambition for IT security. Access to websites and applications must be audited individually which costs a lot of time and effort. This leads to increasing frustration among developers and a loss of creativity.
But with modern technologies, there are alternatives to at least some of those problems. Virtualization software such as Docker offers a foundation for isolated software execution while modern browser frameworks support even complex applications in a way that is almost indistinguishable from having them run locally on a desktop workstation or on a laptop. This is even possible with both, light-weight editors, and heavy-weight IDEs. Seeing that software developers spend most of their time in front of IDEs, it makes sense to move these applications into remote environments where additional software can be installed and used without endangering a cooperate network.
Here at ASTech we are establishing a remote development environment for every employee to bring our engineering efforts to a new level. Our platform will provide preconfigured IDEs and toolchains for every project so that onboarding new colleagues won’t take more than a couple of minutes, guaranteeing a working installation that can be extended and customized to suit everyone’s needs.
Offering a remote environment will not only provide more freedom and flexibility but will also have several other positive benefits.
- Onboarding: Consider an employee who is either new to the company or switching between projects. All the time and effort it takes to install and configure the tools and frameworks on his/her machine are gone, when instead he/she can simply instantiate a pre-configured docker image.
- Robustness: From time to time, developers might modify a systems configuration in a way where it just fails. In this case, the misconfigured container can be thrown away, a new one can be instantiated within seconds and the developer can continue working.
- Predictability: All developers are using the same configuration means that the probability of suffering from 'only-works-on-my-machine'-syndrome is greatly reduced. And if it does happen, it is easy to start fresh, since no installation and configuration is required.
- Archive: After a project is 'done' there might always be a demand to be able to pick it up from where it was left. It might be after one or two weeks, months or even years. To play it safe, a company might even want to store workstations just for this purpose. Consequently, these machines must be disconnected from all networks or DevOps must run maintenance on those machines for years. Having the possibility to archive the whole toolchain as containers removes all possible hardware failures that might occur during this time and makes maintenance an easy task, since access can happen purely remotely and can be automated as well
We believe that software development is a people-focused endeavor and so we must create environments that center around developers. Remote development will create a very refreshing experience for software developers who just want to work and get things done.