22 hours ago · Tech · 0 comments

Many programming jobs exist in teams where roles are only lightly differentiated. Everyone goes on-call; everyone is expected to know the whole stack; everyone does in fact work across the stack; everyone helps a little in interviewing; and so on. To be clear: plenty of jobs are not like this. Higher-level engineers often take on work specific to them. R&D work, and other work involving deep domain knowledge, is often more specialized. Some companies simply work in other ways. But lots and lots of jobs use the team-of-undifferentiated-programmers model, where to the extent you can specialize, it's mostly a matter of informal bartering. There are strong forces pushing in this direction: There can only exist so many job titles, and in a lot of places your official work has to have a one-to-one-ish relationship with your job title. Making all your programmers hyper-generalists (at least officially) gives a team at least one kind of resilience against turnover and re-orgs. Management is…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.