Home / Companies / Aviator / Blog / April 2025

April 2025 Summaries

6 posts from Aviator

Filter
Month: Year:
Post Summaries Back to Blog
Upgrading from Java 8 to Java 17 brings significant advantages, including improved performance, enhanced security, and a more expressive language. With the latest version of Java, developers can benefit from powerful features like var, records, and sealed classes, which simplify code and boost productivity. However, migrating to Java 17 requires careful planning, as it involves removing legacy modules, updating build tools and plugin compatibility, and testing modern features. A step-by-step migration workflow, including preparation, upgrading the build system, modernizing gradually, validating compatibility, and deploying with Java 17, can help ensure a smooth transition. By embracing the latest version of Java, developers can future-proof their applications with LTS support and compatibility with new frameworks and tools, ultimately leading to better stability and long-term growth.
Apr 30, 2025 1,963 words in the original blog post.
Software engineering in 2027 is expected to heavily rely on AI tools and pair programming with AI, making it a necessity rather than a novelty. The role of software architects will become more prominent as they manage lean teams of engineers and AI agents, responsible for architecture and turning ideas into reality. Vibe coding, which enables semi-skilled developers to build end-to-end applications, is expected to become mainstream but will grow into a structured way of development with two separate use cases - solopreneurs and enterprises. Continuous verification will replace traditional unit testing, focusing on proving correctness rather than catching bugs. Software engineers will need strong product instincts, systems thinking, and skills in modern AI tools, while the pace of AI advancement is unpredictable, and its limitations or security concerns may impact the future of software engineering.
Apr 29, 2025 1,364 words in the original blog post.
Technical debt in software development refers to the expected future costs of maintenance that occur when developers choose fast substandard solutions over sustainable practices during current software development. This can lead to increased development costs, reduced system scalability, and decreased software quality. Refactoring is a method that helps professional programmers reorganize code structures for better readability, maintainability, while keeping external behaviors unaltered. Continuous refactoring is necessary to prevent major overhauls, reduce long-term costs, and ensure the code stays flexible as business needs evolve. A framework for managing technical debt includes practices, inventory, and process pillars, which can be integrated into regular development flows to make it visible, rewarding, and resilient. Automated tools like SonarQube, CodeClimate, NDepend, and ESLint can help find and handle technical debt, while metrics-driven refactoring measures progress and identifies areas needing optimization. Technical debt isn't inherently bad; it allows quick development but can be problematic if neglected, making continuous refactoring essential for long-term success.
Apr 17, 2025 2,315 words in the original blog post.
The use of AI in software engineering is increasing, with 67% of developers reporting that AI is helping them improve their code. However, maintaining existing code, particularly through large-scale migrations, remains a challenging task. The process can be compared to cleaning the house, being tedious and time-consuming. To address this issue, Google has published research on using AI for code migrations, while companies like Slack are exploring AI-assisted code conversion projects. A conventional approach involves using Abstract Syntax Tree (AST) transformations, but these can be difficult to execute and require significant documentation. Another challenge is the lack of context and hallucinations in Large Language Models (LLMs), which can lead to inaccurate results. An assisted LLM approach, where developers work together with AI agents, has shown promise in streamlining code migrations. This approach involves defining the migration scope, searching online for references, generating initial suggestions, refining human-in-the-loop, executing at scale, and continuously learning from feedback. By offloading bulk migration work to AI while keeping humans in control, this approach can turn a painful process into a streamlined workflow, allowing developers to focus on building rather than busywork.
Apr 16, 2025 1,167 words in the original blog post.
The top 8 KPIs for Release Management include Deployment Frequency, Lead Time for Changes, Change Failure Rate (CFR), Mean Time to Recovery (MTTR), Release Downtime and Stability, Customer Impact Metrics, Percentage of Automated vs. Manual Releases, and Rollback Rate. These metrics help organizations measure the effectiveness of their release management process, identify areas for improvement, and optimize software delivery. Jenkins can be used to track and manage these KPIs, providing powerful features for monitoring and automating release metrics. By aligning technical KPIs with business objectives, teams can translate engineering success into tangible business outcomes, such as faster releases, reduced downtime, and improved user satisfaction.
Apr 02, 2025 2,475 words in the original blog post.
Aviator Agents is an LLM-based Agentic framework designed to perform large-scale code migrations in repositories. It acts as intelligent migration assistants, emulating human patterns to find references and documentation, understand dependencies, break down large chunks of code, and verify build status. The agent works through a collaborative process involving defining the migration, generating initial suggestions, refining them with human input, executing the migration at scale, and continuously learning from feedback. Unlike general-purpose coding assistants, Aviator Agents is specifically designed for large-scale migrations, offering deep integration with the codebase, multi-step reasoning, and feedback loops for accuracy. By offloading bulk migration work to AI while keeping humans in control, Aviator Agents turns code migrations into a streamlined workflow, allowing developers to focus on building rather than busywork.
Apr 01, 2025 458 words in the original blog post.