Originally published in Medium by the author
Onboarding developers is a time-consuming process in any teams out there. A developer joining the company triggers a number of the process which usually involves
- Providing physical hardware
- Provisioning the standard OS used by the corporation
- Ordering software used by the development team
There is a significant amount of automation around step 1 and 2 in most organizations, but step three tends to be complicated based on the organization. Some of these Challenges include
a. Ordering and managing licenses
b. Installation and configuration of software
c. Standardization and drift management of the development environment
d. Hardware configuration required based on each team’s needs
f. Regulator challenges based on the development team’s physical locations.
Each of these items can bring risks depending on the nature and size of an organization. Small companies may find challenges with hardware and licenses while large organization faces problems providing the right mix of software for its small teams. Another example is whether the company is multinational in which case it has to address the different regulatory environment. All this translates to an onboarding time from multiple days to months. Onboarding can stretch even further in a security-conscious environment.
Growing pains is another dimension. Rapidly growing companies and companies operating in time-sensitive markets cannot afford such lag in ramping up development teams. A common practice in well-funded corporations is to throw money at the problem to accelerate the development process by hiring a large number of resources. Still, operational onboarding can pose a significant risk.
COVID outbreak aggravated the issue even further. How can organizations offer a secure development environment from a developers personal device?
Streaming IDE works to address some of these fundamental issues.
What is a Streaming IDE?
Streaming IDE is essentially a development environment that works from your browser. Some of the key features include a compiler or interpreter, a debugger, listing for chosen language, code repository integration, Testing integrations and support for plugins.
If one was to use standard IDE, multiple tools have to be installed to get the environment to an identical state. Streaming IDE framework solves this by creating templates of your ideal environment in the form of a docker container. Changes to this are only defined by the stack that the team uses. As the group expands or contracts, we are effectively spinning up instances. This significantly reduces onboarding time to few hours down from days and weeks. The environment is identical to the ones used by the team, reducing potential issues later in the development life cycle.
Leveraging container technology allows organizations to achieve cost optimization in desktop services while providing capacity based on need in the development environment. Resources can be scaled up and down quickly. Teams could clone organization base image and customize to layer the specific tools that they need for their projects solving the problem of standards faced by medium to large organizations.
For larger enterprises that are exploring on-premise solutions, there is Red Hat ‘CodeReady Workspace’s. This is based on ‘Eclipse Che’ and works well with ‘Openshift’ platform.
There were no affordable solutions available in this case for small and medium-sized companies until Github launched ‘Codespaces’. This product now is in beta.
Over the last ten years, we saw productivity applications switching to SAAS model. Office 365 and GSuite are great success stories of switching to saas model. Streaming IDE is about to deliver the same value proposition in the AppDev space.
This article is part of a series around digital disruption in the appdev space.