InfoQ Homepage Software Engineering Content on InfoQ
-
How Senior Software Engineers Can Learn from Junior Engineers
A rigid hierarchical dynamic between senior and junior software engineers can stifle innovation, discourage fresh perspectives, and create barriers to collaboration. According to Beth Anderson, senior engineers can actively learn from their junior counterparts. She suggests creating an environment of mutual growth, psychological safety, and continuous learning.
-
How Observability Can Improve the UX of LLM Based Systems: Insights of Honeycomb's CEO at KubeCon EU
During her KubeCon Europe keynote, Christine Yen, CEO and co-founder of Honeycomb, provided insights on how observability can help cope with the rapid shifts introduced by the integration of LLMs in software systems, which transformed not only the way we develop software but also the release methodology. She explained how to adapt your development feedback loop based on production observations.
-
Ensuring Security without Harming Software Development Productivity
Security can be at odds with a fast and efficient development process. At QCon San Francisco Dorota Parad presented how to create a foundation for security without negatively impacting engineering productivity. She showed how you can make your security strategy almost invisible to the engineers while embedding it deep into the culture at the same time.
-
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.
-
Exploring Factors that Drive Software Engineering Productivity
Understanding what drives software development productivity is the key to making high-impact investments in engineering productivity, Emerson Murphy-Hill said at QCon San Francisco. He presented the results of their investigation into factors that predict developer productivity and shared what they learned from exploring inequities in software engineering.
-
Using DORA for Sustainable Engineering Performance Improvement
DORA can help to drive sustainable change, depending on how it is used by teams and the way it is supported in a company. According to Carlo Beschi, getting good data for the DORA keys can be challenging. Teams can use DORA reports for continuous improvement by analysing the data and taking actions.
-
Data Teams Survey: Lag in DataOps and Value Delivered
We report on Jesse Anderson's 2024 Data Teams Survey which showed a lag in DataOps capabilities, slow LLM adoption, and a concerning decline in perceived value creation by data teams. It called out the importance of teams spread with data science, engineering, and operations capabilities. We also cover Petr Janda's recent podcast on the need for more engineering rigour for parity with other teams.
-
Experiences from Doing DORA Surveys Internally in Software Companies
Doing DORA surveys in your company can help you reflect on how you are doing software delivery and operation. The way you design and run the surveys, and how you analyze the results, largely impact the benefits that you can get out of them. Carlo Beschi shared his experiences from doing DORA surveys at Agile Cambridge.
-
Null-Restricted and Nullable Types for Java
Draft JEP 8303099 was recently made public. This JEP discusses Null-Restricted and Nullable Types, and aims to bring optional nullness-marking to the Java language, in a similar way to that seen in other programming languages (such as Kotlin).
-
JSpecify 1.0.0 and Nullability in Java
The JSpecify collective has made its first release. The group's mission is to define common sets of annotation types for use in JVM languages, to improve static analysis and language interoperation. The first release is centred on nullability, and aligns with a recently announced Draft JEP that is exploring this issue at language level.
-
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.
-
How to Tame Technical Debt in Software Development
According to Marijn Huizenveld, discipline is key to preventing accumulating technical debt. In order to be disciplined you should make it difficult to ignore the debt. Heuristics like fixing small issues immediately, agreeing on a timebox for improvement, and making messy things look messy, can help tame technical debt.
-
An Engineering Perspective on Cloud Cost Optimization: Erik Peterson at QCon San Francisco
A single line of code can shape an organization's financial future. Erik Peterson, the CTO and founder at CloudZero, presented during day three at QCon San Francisco about the engineering’s perspective on cloud cost optimization. His session was part of the “Architecting for the Cloud” track.
-
Effective Performance Engineering at Twitter-Scale: Yao Yue at QCon San Francisco
During the second day of QCon San Francisco 2023, Yao Yue, the founder of IOP Systems, presented on performance engineering. In her session Yue discussed the evolving performance engineering in the modern era. For decades, hardware advancements have kept many performance engineers on the sidelines, but now, in a pivotal moment, their skills are more crucial than ever.
-
MetaGPT Leverages Human Collaboration Techniques for Multi-Agent-Based Software Engineering
Created by a team of researchers from Chinese and US universities, MetaGPT is a new LLM-based meta programming framework aiming to enable collaboration in multi-agent systems by leveraging human procedural knowledge to enhance robustness, reduce errors, and engineer software solutions for complex tasks.