Sometimes I get so buried in coding or support work that I forget to notice how my job has evolved over time. While I was originally hired at my current gig to be a “Systems Programmer” – a sort of liaison between the development team and the operations team, that’s only been a small part of my work. Much of my other “development” work has actually been project management and business analysis.
Every project needs someone to do the project management and business analysis work. When you’re in a busy office and resources are sometimes spread thin, that work sometimes (and sometimes often) comes to the developers who are also doing the coding.
This has both pluses and minuses. On the one hand, a developer might not be a good person to fill these roles. On the other hand, merging these layers of the development cycle can help to reduce communication overhead.
Also, of course, it gives a chance for me as the developer to broaden my tech skills outside of straight-up engineering.