I am looking for an objective analysis of whether a software engineer fulfilling the role detailed in this post is helping or harming his career.
I have been in my first programming/software engineering position for 2 years at a dev shop. Due to my initial enjoyment in requirements analysis, fast learning ability, deep understanding of the software product we built, and more senior people leaving the team, I now find myself fulfilling a few roles that I am at odds with. My day largely consists as follows:
- Send status updates to Product Owners/Clients
- Costing work-orders and figuring out how long they will take for us to build the requirements.
- Planning Sprints and deciding on focus for the team.
- Pushing back at the Product Owners and prioritizating work to prevent my teammates from being overworked.
- Investigating data anomolies and generating ad hoc reports for the Product Owners in order for them to understand the data being sucked into the system and problems with it.
- Performing requirements analysis and proposing solutions to the Product Owners.
- Explaining requirements to my teammates and ensuring that they build quality solutions.
I perform very little actual programming nowadays, other than complicated SQL queries. Is this "normal" for someone initially hired as a .NET developer, now with 2 years experience? My thoughts:
- I certainly see the value in having taken on this responsibility as it has vastly improved my soft-skills and leadership abilities.
- I feel like I may be being taken advantage of, as my belief is that this is something that more highly paid and experienced senior people do.
- I may be missing out on becoming more technically strong.