2

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.
  • 1
    What role do you want to be in down the road (say in 5 years or so)? – WorkerDrone Dec 12 '16 at 20:30
6

The role you're describing is a Product Owner without direct customer contact, possibly with part time Scrum Master mixed in.

The roles of Scrum Master and Product Owner don't mix, and a Product Owner who doesn't interact with customers is a joke. Once you have proper experience in the roles you will realize why that is. The problem this creates for you is that no real Product Owner or real Scrum Master would think of what you're doing as real Product Owner experience or real Scrum Master experience, no matter how many years you're going to do this.

For your career you need to be able to market yourself, and marketing is much easier if you have a recognizable label. Decide what you want to be, Product Owner, Scrum Master, Developer, Architect, or Line Manager then position yourself accordingly. In that context your current position is indeed valuable for your career because it let's you chose which of these paths you want to take next.

  • 1
    +1 "a product owner without customer contact is a joke." – WorkerDrone Dec 12 '16 at 20:29
  • is a Scrum Master actually a thing? like would you hire someone because that's what they've done and that's what they're going to next? is it just a team lead where you don't write any code? – user42272 Dec 12 '16 at 22:13
  • @djechlin Yes, if a company runs Scrum (the only methodology that uses both "Sprint" and "Product Owner" which were mentioned by the OP), they definitely want Scrum Masters, preferably experienced ones. The role is sometimes paired with other responsibilities, such as line management or some development. But doing the job properly takes a lot of time. As has been said by others: "A good scrum master can manage multiple teams. A great scrum master can only manage one." Not my words but I forgot who said it – Peter - Unban Robert Harvey Dec 12 '16 at 23:16
  • @djechlin as for what a Scrum Master actually does, the comment field is too short for that. The short form is: A Scrum Master removes impediments. The long form is written in a couple hundred of pages in various books about Agile development in general or the role of a Scrum Master specifically. – Peter - Unban Robert Harvey Dec 12 '16 at 23:20
  • OP said he sends status reports to product owners. So how can it be that OP is actually the product owner ("without direct customer contact")? – Brandin Dec 13 '16 at 8:04
3

If you want your next job to be software engineering intensive, you are missing the ability to talk about a large coding project you have completed.

But largely your experience is very valuable and relevant. The best software engineers I know spend probably more than half their time doing what you mentioned, but they all spend significant time developing code (which mostly consists of analyzing requirements and the existing systems, before writing code).

My recommendation is stay course in your role, which actually sounds wonderful, but strongarm in a substantive coding project as well. Some companies call this IC work, for "individual contributor." Senior engineers and managers do less or none of it. But they often choose to anyway for at least some of their time, and healthy companies encourage this.

2

This reminds me a lot of my first job after I graduated. Here's my guess: you are a person with fair to good interpersonal skills with a technical degree. This is hard to find. Based on your description, you have been put in a junior leadership role. You are correct that unless you push back you will not gain the technical experience that you would if you were put into a developer role.

You basically have two choices:

  1. Embrace this role. You can make a lot of money if you start a management career early. You can also end up in a dead-end position hating your career. In the past you could easily manage developers for the rest of your career from this position. I think that is ending. You will struggle to lead technical people if you have never worked in a technical role. If you go down this path, aim higher in the org chart. Consider getting an MBA.
  2. Push-back or leave. Get your developer chops. This is the path I chose. It disappointed my management. I probably could have made a lot more money at a very young age. I don't regret it though, you can always choose the other path later.

If you really have the bug for coding: choose 2. Going technical leaves more options over the long run. Only if you are intent on being a master of the universe should you definitely choose 1.

  • This was a good answer as well as the one I accepted and seems fairly accurate. – k29 Dec 14 '16 at 18:21
  • I realized this might have come off as a little arrogant. I actually don't think I have good interpersonal skills relative to the average person. – JimmyJames Dec 16 '16 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.