Increasing DEV Power with Augmented Coding May 31, 2023 Technological approaches and resources accelerate tasks associated with software development and maintain the quality of actions. This is Augmented Coding. Learn more
Increasing DEV Power with Augmented Coding May 31, 2023 | min read DevOpsDigital Speed and Efficiency By Felipe Fávero To leverage the performance of their actions, developers use several practices, many of them to speed up the tasks associated with the creation of digital products. However, this does not compromise the quality of execution. Among the approaches generally adopted corporately for the increase of dev power are the use of technologies aimed at automating functions - such as the use of artificial intelligence tools like GitHub Copilot and Augmented Coding (from the British Globant) - and the reuse of repetitive tasks.Data science-based operations, often comprised of powerful artificial intelligence and machine learning tools, substantially streamline processes. Although the integration of high performance at all levels of an organization leads to positive business outcomes, the need for fast software delivery on a daily basis is indisputable. Therefore, it is imperative to discuss digital efficiency.In the State of DevOps report, High performers deploy code 208 times faster than Low performers and deliver 106 times faster. Not to mention, the time to recovery from failures of companies that are on the way to achieving digital efficiency is 2,604 times more agile, and the rate of failed deployments is 7 times lower. It is worth mentioning that the document shows the best DevOps practices applied in companies around the world and separates organizations between Low, Medium, and High performers based on the 4 Key Metrics, with velocity being a key element of these metrics. The number of Elite performers is constantly growing; in 2018, they represented 7%, and in 2021 they accounted for 26% of the operations analyzed.Therefore, for an organization to reach the rank of Elite and stand out in the midst of increasingly fierce competition, it is necessary to optimize the use of its resources; Digital efficiency is a necessity for business maintenance, and the implementation of the following, when possible, comes in handy in this quest. Boilerplate Code A boilerplate refers to a unit of code that can be reused over and over again with little or no change. These units are common in verbose codes, that is, those that need more words or longer words to properly express their intentions.Considering that, in the digital world, there are some universal (or almost) standards shared by a range of platforms; the professionals can "skip" stages of production over what they have control over. Instead of continually rebuilding code from scratch, they can leverage collections, copying them and then modifying them as needed.The time savings generated by reusable code units are crucial to operational performance. Big techs usually build their own boilerplates and use them in several projects with similar characteristics that they dedicate themselves to. Also, offering a kind of scaffolding (skeleton of code used to make the application functional), boilerplates, in smaller projects, focus on rapid prototyping, creating the elements needed only for new projects. They require less functionality and are not scalable.In short, boilerplates reduce repetitive work. They also help with onboarding new people and reduce the learning curve, as they can benefit less experienced professionals. Artificial Intelligence while coding As much as the traditional use of boilerplates already guarantees visible benefits to production time and, therefore, to operations in general, automating the action makes everything even faster. This increases the gains for development teams and the organizations they work for. Now, artificial intelligence has entered the game. An example of AIs for this case is GitHub Copilot, based on openAI codex, which suggests codes and entire functions in real-time directly from the editor. Trained on billions of lines of code, it turns natural language prompts into coding suggestions in dozens of languages.Another example worth mentioning is Augmented Coding, patented by Globant. The solution brings together tools based on artificial intelligence (AI) and machine learning created from the findings of data scientists regarding the most effective development methodologies. Among these tools are:Semantic code search: finds code in repositories through natural language guidance, taking questions in English and turning them into code.Code autocompletion: complete lines of code based on existing lines.Automatic code documentation: allows developers to easily generate documentation inline, encrypting the code and returning it to the natural language (also in English). As a result of the technological power it presents, Augmented Coding unlocks the ability for teams to create and train code and models from scratch, making the generated products useful for a wide variety of low-code or no-code cases.It is common for developers to make queries on content sites in the area, stackoverflow.com being the best known, or even ask colleagues for help during the development. AIs also perform the function of bringing this content and accelerating the learning of the developers themselves.Solutions like this generate substantial time savings in creating repetitive code or that follows a pattern, as in a technology migration/modernization project, requiring only descriptions related to the desired logic to present code suggestions capable of meeting the different needs of the teams (recommendations generally guided by contexts and stylistic conventions). Low-Code and No-Code Upon a growing demand for simplification, approaches such as low-code and no-code prove to be powerful allies. Low code is the attempt to abstract parts of the coding actions that can be automated and transform them into, for example, interfaces. This reduces the coding load. The no-code approach, on the other hand, goes a step further and tries to make practically everything visual or declarative, expanding the accessibility of operations to audiences beyond those composed by developers. Both low-code and no-code help a lot with experimentation and quickly unlock business area hypotheses, revealing where resource investments should be directed.Gartner predicts that by 2030, the global market for these approaches is expected to produce $187 billion in revenue and, by 2024, will account for over 65% of application development. Inner Source A movement analogous to open source, Inner Source, is the use of open-source principles and practices within a company. Companies that embrace the movement organize tools, accelerators, code snippets, and whatever else they find pertinent into solid sets. They make versioned resources available for all developers in the organization to use. Therefore, Inner Source allows professionals to contribute code from other teams to increase the velocity of operations. In this journey, they can create features to fix bugs, all with transparency and collaboration. At CI&T, for example, we create and consolidate tools used in various contexts, listing them in a set called Accelerators. It includes documented and tested solutions ready to solve several common challenges in the projects to which we dedicate ourselves, representing a source of learning acquired over 25 years of working in different sectors of the market and with different technologies with which we have contacts in different global contexts with which we connect. Talents war: Investing in tools is investing in people As a wise coworker would say, "Code is underneath everything, and behind all code we have people." In the fight for talent, investing in technologies that improve the developer experience is crucial to retaining them and reducing turnover.It is a win-win relationship. A modern environment allows developers to learn constantly and focus on the most challenging aspects of their role. In addition, the company achieves significant, tangible, and pragmatic results.Consider digital efficiency implementations if the goal is to leave the team focused on solving problems that will generate results and return for the company. The team's motivation and engagement, combined with adequate resources, can result in greater retention and attraction of developer talent, as well as, of course, finished products delivered on time. Your team will be grateful. Felipe Fávero Gerente Executivo e Head de Desenvolvimento de Produto, CI&T 0