InfoQ Homepage Artifacts & Tools Content on InfoQ
-
Inflection Points in Engineering Productivity for Improving Productivity and Operational Excellence
As companies grow, investing in custom developer tools may become necessary. Initially, standard tools suffice, but as companies scale in engineers, maturity, and complexity, industry tools may no longer meet needs. Inflection points, such as a crisis, hyper-growth, or reaching a new market, often trigger investments, providing opportunities for improving productivity and operational excellence.
-
Learning from Embedded Software Development for the Space Shuttle and the Orion MPCV
Software development is much different today than it was at the beginning of the Space Shuttle era because of the tools that we have. But the art and practice of software engineering has not progressed that much since the early days of software development. Compilers are much better and faster, and debuggers are now integrated into development tools, making the task of error detection easier.
-
Using Artificial Intelligence for Analysis of Automated Testing Results
Analysis of automated testing results is a very important and challenging part of testing activities. At any given moment we should be able to tell the state of our product according to the results of automated tests, Maroš Kutschy said at QA Challenge Accepted. He presented how artificial intelligence helps them save time spent on analysis, reduce human errors, and focus on new failures.
-
How a Software Architect Uses Artificial Intelligence in His Daily Work
Software architects and system architects will not be replaced anytime soon by generative artificial intelligence (AI) or large language models (LLMs), Avraham Poupko said. They will be replaced by software architects who know how to leverage generative AI and LLMs, and just as importantly, know how NOT to use generative AI.
-
Using Machine Learning on Microcontrollers: Decreasing Memory and CPU Usage to Save Power and Cost
According to Eirik Midttun, artificial intelligence (AI) and machine learning (ML) are useful tools for interpreting sensor data, especially when the input is complex, such as vibration, voice, and vision. The main challenges of using machine learning on microcontrollers are the constraints in computing power available and cost-related requirements that come with microcontroller-based designs,
-
Learnings from Internal Tool Migrations to Support Software Engineering Efficiency
In her presentation at QCon San Francisco, Ying Dai shared two critical software engineering migration stories - one focused on production monitoring and the other on production deployments with automated validations. Both migrations were driven by the goal of enhancing engineering efficiency, but each came with its own challenges and lessons.
-
How Slack Used an AI-Powered Hybrid Approach to Migrate from Enzyme to React Testing Library
Enzyme’s lack of support for React 18 made their existing unit tests unusable and jeopardized the foundational confidence they provided, Sergii Gorbachov said at QCon San Francisco. He showed how Slack migrated all Enzyme tests to React Testing Library (RTL) to ensure the continuity of their test coverage.
-
How to Use Programming Rules and Guidelines
According to Arne Mertz, using programming rules and guidelines helps developers work together, as they result in more consistent and better code. However, using them the wrong way can have the opposite result - code that is cumbersome to read or solves problems in suboptimal or even wrong ways.
-
DevProxy 0.22 Improves API Permission Checks
Microsoft has released version 0.22 of DevProxy, an API simulation command-line tool. The new version improves logging and detects minimal permissions without the need for Azure API centre.
-
How to Delight Your Developers with User-Centric Platforms and Practices
By focusing on the users, platform development teams can ensure that they build a platform that tackles the true needs of developers, Ana Petkovska said at QCon London. In her talk, Delight Your Developers with User-Centric Platforms & Practices, she shared what their Developer Experience (DevEx) group looks like and what products and services they provide.
-
The Value of Using Timeless Testing Tools
According to Benjamin Bischoff, developers find new tools much more interesting than old ones, as they offer an opportunity to learn new technologies and approaches and to expand their tool belt. Using tools that have been around for decades, however, can save time and budget. When evaluating tools, it is more important to understand the problem to be solved than to jump straight into the tools.
-
Improving Mobile Test Automation with Continuous Integration, Central Logging, and Metrics Analysis
Continuous integration can enhance automated mobile testing. Test data from multiple mobile devices running parallel tests can be consolidated to support monitoring. Jira tickets from manual testing can trigger the build process to ensure that testers will have the correct software version to do the manual testing.
-
Enhancing Developer Experience for Creating Artificial Intelligence Applications
For one company, large language models created a breakthrough in artificial intelligence (AI) by shifting to crafting prompts and utilizing APIs without a need for AI science expertise. To enhance developer experience and craft applications and tools, they defined and established principles around simplicity, immediate accessibility, security and quality, and cost efficiency.
-
Catalyzing Change in Software Organizations: Find Allies, Invite People, and Sustain Engagement
Much of the change we experience in software organizations is coercive. Software engineers, architects, and people in software engineering management roles feel they cannot spark change without formal authority, Eb Ikonne mentioned at QCon London 2024. To catalyze change, he suggested identifying allies, inviting people to participate in the change, and sustaining engagement through storytelling.
-
How to Do Sustainable Software Development
Software sustainability includes computing for environmental purposes and using resources appropriately. According to Coral Calero, software engineers need a holistic way of looking at software and should be aware of the environmental impact of software. Several tools and frameworks are available for software engineers to do sustainable software development.