InfoQ Homepage Collaboration Content on InfoQ
-
How to Develop Your Skills to Become a Principal Engineer
Becoming a principal engineer requires more than technical skill, it’s about influence, communication, and strategy. Success means enabling teams by shaping culture, Sophie Weston said. She suggested developing deep skills in multiple domains, with collaborative skills. Skills from life outside work, like sports, volunteering, or gaming, can add valuable perspective and build leadership potential.
-
How a Sociotechnical Approach Can Help to Deal with Complexity
Today’s software professionals navigate a maze of technical, business, and social complexity. According to Xin Yao, thriving in this environment requires more than just technical and business expertise. We need fluency in decoupling systems for maintainability, reconnecting them for business value, and working with the messiness of organizational dynamics.
-
Using Social Drivers to Improve Software Engineering Team Performance
According to Lizzie Matusov, technical drivers like velocity offer an incomplete view of team performance. Social drivers—trust, autonomy, purpose, and psychological safety—provide a fuller picture and reveal important areas of opportunity for improvement. She spoke about the social drivers behind high-performing engineering teams at QCon San Francisco.
-
Cultivating a Culture of Resilience in Software Organizations
Resilience helps individuals and organizations respond to challenges. Personal resilience is built through adapting, technical resilience by mastering a variety of tools, and organizational resilience through flexibility and strong networks. In fast-changing software industries, recognizing tech shifts and fostering learning, flexibility, and collaboration, enhances resilience.
-
Learnings from Working with Programming Rules and Guidelines
Programming rules and guidelines improve code consistency, but misapplication can lead to poor results. Arne Mertz suggests that software developers selectively adopt rules and guidelines, and document deviations with clear explanations. They can discuss their experiences in communities or during their daily work, to foster collaboration and improve code quality without unnecessary bureaucracy.
-
How Data Contracts Support Collaboration between Data Teams
Data contracts define the interface between data providers and consumers, specifying things like data models, quality guarantees, and ownership. They are essential for distributed data ownership in data mesh, ensuring data is discoverable, interoperable, and governed. Data contracts improve communication between teams and enhance the reliability and quality of data products.
-
How to Do National Language Adaptation in C++
As customers take on a more active role in national language adaptation, the process should be simple, using tools they are familiar with, Daniela Engert stated in her talk at NDC TechTown. They decided to use GetText in C++ where they provide tools and procedures for their customers to provide translations.
-
Enabling Fast Flow in Software Organizations
Resolving impediments to flow and removing unnecessary sources of cognitive load can make culture issues disappear in organisations, Nigel Kersten argued. Start with a clear strategy that is easy to communicate, then follow the path to creating stream-aligned teams and platform teams, he suggested.
-
Lyft Promotes Best Practices for Collaborative Protocol Buffers Design
Lyft shared its experiences using Protocol Buffers for inter-system integration, primarily focusing on collaborative protocol design for definitions shared between teams and systems. The company promotes approaches that improve knowledge sharing, consistency, and development process quality over raw efficiency optimizations.
-
How Tech-Enabled Networks of Software Teams Work
To maintain agility at scale, software teams can use technological and organizational solutions to reduce dependencies and work autonomously. According to Fabrice Bernhard, collaboration technology can be leveraged to create a distributed network of teams. To empower their teams, leaders can support them with a systematic problem-solving culture aimed at delivering good products to customers.
-
Transforming Software Product Teams into Tech Investors
The key responsibility of an organisation lies in balancing user value with profitability. In a product organisation, software product teams invest their own time. According to Fabrice des Mazery, software developers are much more than stakeholders; they are the main investors as they are part of the product teams.
-
How Data Mesh Platforms Connect Data Producers and Consumers
A challenge that companies often face when exploiting their data in data warehouses or data lakes is that ownership of analytical data is weak or non-existent, and quality can suffer as a result. A data mesh is an organizational paradigm shift in how companies create value from data where responsibilities go back into the hands of producers and consumers.
-
Fostering Healthy Tech Teams in a DevOps World
Building healthy DevOps tech teams that are responsible for a broad area can be challenging. To measure the success of your team, several frameworks provide metrics indicating team health. Psychological safety matters for healthy teams to ensure each software engineer brings their own lived experiences to build better products and that they feel safe to do so.
-
How to Scale Agile Software Development with Technology and Lean
Agile software development can be done at scale with the use of technology like self-service APIs, infrastructure provisioning, real-time collaboration software, and distributed versioning systems. Lean can complement and scale an agile culture with techniques like obeyas, systematic problem-solving, one-piece-flow and takt time, and kaizen.
-
Making Agile Software Development Work for Multicultural Teams
While equality provides team members with the same opportunities and allowances, equity is about creating an environment where individual and unique needs can be met. According to ElMohanned Mohamed, communication in multicultural teams should be precise and clear with low dependence on the context.