Papers for
software engineering managers
Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.
Developers find AI tools helpful but limited under workplace pressures
Helpful but Fallible: Developer Experiences of AI Tools Under a Coordinated Industrial Roll-out
Abstract: AI-enabled software development tools (AI-devtools) are being industrially adopted under strong expectations of productivity gains, yet developers' experiences of such roll-outs are underexplored. Organizations commit budgets, evaluate staff, and revise practice on a partial picture, since the evidence base is mainly tool evaluations, productivity metrics, and surveys, with few qualitative in-situ accounts of ongoing, coordinated roll-outs. We report a case study of a coordinated roll-out of AI-devtools at a large Swedish telecommunications company, investigating how developers experience the roll-out and how they anticipate their profession will change. We conducted semi-structured interviews with 12 software professionals across three sites, analyzed with process coding and thematic analysis, and interpreted through the extended Technology Acceptance Model (TAM2) as a post-hoc analytical lens. Our findings on use cases, productivity, frustrations, and tool limitations corroborate prior survey work. Beyond corroboration, the interviews surface a management-developer expectation gap that maps onto the TAM2 constructs of subjective norm and voluntariness, and show that participants weigh perceived risk heavily, a factor that TAM2 and similar acceptance models do not represent. AI-devtools emerge as helpful but fallible assistants whose value is shaped by organizational expectations, system scale, and developers' skills.
Ai policies help and hinder software developers in practice
AI Policies: Help or Hindrance? A Software Developer's Perspective
Abstract: AI policies introduced by software organisations to mitigate LLM-related risks such as sensitive information leaks and unauthorised usage are not useful if software developers do not engage with them. We draw on 19 software developer interviews to show how AI policies help and hinder developers. We suggest approaches to support managers and decision makers with a developer-centric approach to introducing AI policies.
Technical hiring framework aligns interviews with real software work
Yesterday's Interviews for Today's Engineers: Retrospective Perceptions and a Work-Aligned Hiring Framework (2005-2026)
Abstract: Technical hiring has increasingly become a skill system of its own, requiring candidates to prepare for processes that only partially resemble the position being filled. This paper reconstructs how the software-engineering community remembers that process across four eras from 2005 to 2026. Retrospective ratings from 911 respondents show a history of expanding interview work and burden, while an analysis of public preparation questions finds that most tested knowledge has a plausible use in an ordinary software-engineering project. The contradiction is only apparent: relevant topics can still form an invalid process when they are accumulated beyond the vacancy, presented under artificial constraints, or selected and interpreted without a common job-derived standard. The paper responds with the Ticket-Based Pragmatic Assessment Framework, a prescriptive reference framework that derives a bounded assessment from declared responsibilities, near-term tickets, and project-entry work. It preserves normal tools, defines three explicit evidence gates, limits repeated sessions, and stops when the decision is supported. The objective is to make an interview a compressed version of the job rather than a parallel profession that candidates must learn merely to obtain it.
Developers rarely test code marked with self-admitted technical debt
Is Self-Admitted Technical Debt Tested? An Empirical Study of Coverage, Co-change, and Impact
Abstract: When developers write a TODO or FIXME comment, they are explicitly admitting that the code is suboptimal: a built-in warning that this logic deserves extra scrutiny. Yet it is an open question whether Self-Admitted Technical Debt (SATD) actually receives that scrutiny in the form of software testing. We aim to characterize the relationship between SATD and testing across three dimensions: the extent to which SATD-affected code is covered by existing tests, whether developers synchronize test additions with debt resolution, and whether such testing affects the long-term observability of resulting defects. For that, we conducted an empirical study on eight open-source Java projects, analyzing test coverage of 784 SATD instances identified in the latest releases and performing a longitudinal examination of 5,175 SATD removal events. Our results show that while 60.7% of SATD-affected code is covered by existing test suites, developers rarely synchronize test modifications with debt resolution; manual inspection confirms that only 3.4% of SATD removal commits include new tests specifically targeting the resolved debt (vs. 12.5% that co-add tests in the same commit). Longitudinal analysis further suggests that SATD resolutions exhibit nearly identical localized bug induction rates within short-to-medium-term windows regardless of test modifications. However, over a longer, unrestricted observation window, a slight divergence emerges where the test-added group reaches a higher cumulative defect alignment probability (6.32% vs. 4.37%), a counterintuitive trend potentially driven by the selective testing of inherently complex components. Developers treat SATD repayment as an ordinary code change rather than as a high-risk maintenance activity: most debt removals proceed without targeted verification, despite the developer's own prior flag that the code is suboptimal.