InfoQ Homepage Software Engineering Content on InfoQ
-
Adaptive Responses to Resiliently Handle Hard Problems in Software Operations
As engineers move into more senior positions such as Staff Engineer, Architect, or Sr Tech Lead roles, their knowledge and experience is often applied across the system. This expertise is increasingly needed for handling novel problems or designing innovative solutions to complex problems. This article discusses strategies for approaching your role as a senior member of your organization.
-
Agile Rehab: Replacing Process Dogma with Engineering to Achieve True Agility
Struggling with your "agile transformation?" Is your scaling framework not providing the outcomes you hoped for? In this article, we’ll discuss how teams in a large enterprise replaced heavy agile processes with Conway’s Law and better engineering to migrate from quarterly to daily value delivery to the end users.
-
Engineering as Art: Embracing Creativity beyond Science
Achieving a staff+ engineering role is a considerable achievement that many engineers seek as the next step in their career growth. In this article, we’ll discuss the challenges that staff+ engineers can face and how our struggles are similar to those of artists. Specifically, we’ll look at the parallels between creating art, creating software, and dealing with organizational dynamics.
-
Scaling and Growing Developer Experience at Netflix
An optimal Developer Experience will depend a lot on the company the developer is working for. This article discusses why and when changes to developer needs will occur, how to get ahead of them, and how to adapt when these changes are necessary. I talk through some of the experiences myself and peers have had at Netflix, identifying some key learnings and examples we have gained over the years.
-
How Development Teams Can Orchestrate Their Workflow with Pipelines as Code
Infrastructure as Code was just the beginning. Configuration as Code followed shortly after – again becoming extremely commonplace and enabling organisations to scale their engineering capacity by a number of times. And in order to continuously increase the value development teams generate, Pipelines as Code is the natural consequence.
-
Reproducible Development with Devcontainers
Devcontainers provide a reproducable, reusable, simplified developer experience. Get a tour of a devcontainer including how they work, how to use them most efficiently, and how they differ to deployment containers.
-
Technical Debt Isn't Technical: What Companies Can Do to Reduce Technical Debt
In this article, three experts discuss some of the key findings of the “State of Technical Debt 2021” report including the impact of technical debt on engineering teams, the pros and cons of dealing with maintenance work continuously, the future of technical debt and what each engineering teams can do to communicate the importance of dealing with technical debt to companies’ leadership.
-
Software Engineering at Google: Practices, Tools, Values, and Culture
The book Software Engineering at Google provides insights into the practices and tools used at Google to develop and maintain software with respect to time, scale, and the tradeoffs that all engineers make in development. It also explores the engineering values and the culture that’s based on them, emphasizing the main differences between programming and software engineering.
-
Q&A on the Book Engineering the Digital Transformation
The book Engineering the Digital Transformation by Gary Gruver provides a systematic approach for doing continuous improvement in organizations. He explores how we can leverage and modify engineering and manufacturing practices to address the unique characteristics and capabilities of software development.
-
Being an Ethical Software Engineer
Our lives are improving because of technology. Software engineering is one of the more influencing practices we have today that is shaping society, but it doesn’t look like the industry is owning this social responsibility. At the end of the day, it’s not just about being better developers, but rather about being better people.
-
A Great Engineer Needs the Liberal Arts
Much of what helps you become a great software engineer, and create outstanding software that people want to use, comes from outside the world of STEM. The ability to effectively analyze a problem, evaluate different options, and engineer a solution requires skills taught in the liberal arts.
-
Focus on Culture When Building an Engineering Culture
Sujith Nair explores why the clichéd “Engineering Culture” and related jargon need serious action beyond just boardroom discussion. Building an awesome Engineering Culture today needs more focus than ever. While there are no ready-made frameworks for building great engineering culture, there is a lot to be learnt from successful organizations.