InfoQ Homepage Artifacts & Tools Content on InfoQ
-
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.
-
Enabling Software Platform Adoption with Self-Service and User Engagement
In order to scale a platform, it has to become a self-service product with software engineers and managers engaged, taking advantage of new technologies. A stakeholder engagement program was established with senior engineers and managers across the company, explaining how the new tools can increase developers' productivity and team velocity.
-
What Software Developers Can Do to Prevent Forgetting or Overlooking Things
According to Ilian Iliev, software developers tend to forget to do things they do not have to think about every day, which can cause delays or impact the functionality of the product during a software project. To prevent overlooking something, he suggested starting early with automating deployment, setting up error logging, and using lists and reminders of things that were forgotten previously.
-
The Upsides and Downsides of Open Source Adoption
Benefits of open source projects are supporting rapid innovation, the flexibility provided to customize and adapt tools, and transparency of the code which can enhance security efforts. The downsides are that security by obscurity doesn’t apply, open source is potentially prone to abuse, and when open source tools are not backed up by companies, it might result in a lower level of maintainability.
-
The Value of Repaying Good Technical Debt
Bad technical debt is the stuff that has been lingering around; teams need to work around it or fix the fallout as a consequence of this bad technical debt. Good technical debt is intentional, enables benefits for the organisation, and is controlled. Teams can use a disciplined approach for managing and repaying technical debt, for instance by using the wall of technical debt.
-
Applying the Analytic Hierarchy Process for Tech Decisions
The analytic hierarchy process uses pairwise comparisons and scoring for criteria between the alternatives to give insights into what the best option is and why. John Riviello spoke about applying the analytic hierarchy process to decide what JavaScript framework to use at QCon New York 2023.