This is a real tough one for me. I'm a developer, and I love development. I'd do it even if I wasn't getting paid. That being said, I'm comfortable saying that I'm probably not a great developer. I try hard, I enjoy working with teams, I love producing, but I've worked with a few actually great developers and I'm pretty sure I'm not them.
However, what I think I am great at, is making non-developers understand what it is I'm doing. I think this is a real skill, undervalued on a lot of teams. For this reason I actually enjoy and am more productive sitting next to the sales/AM/PM cohort. I like being tossed questions re: scope/SOWs because I know it'll pay dividends down the line when the team knows that a number was vetted before going out the door. I like it when I can explain why it's not a quick job, and they understand, and more importantly they can make the client understand. But I also understand that this isn't a role a lot of devs are comfortable filling - and they really, really shouldn't be forced to.
Now, you could argue none of this would be necessary if the team/agency/company had proper systems in place - and you'd be right. But I've yet to work for an agency that had it all figured out.
However, what I think I am great at, is making non-developers understand what it is I'm doing. I think this is a real skill, undervalued on a lot of teams. For this reason I actually enjoy and am more productive sitting next to the sales/AM/PM cohort. I like being tossed questions re: scope/SOWs because I know it'll pay dividends down the line when the team knows that a number was vetted before going out the door. I like it when I can explain why it's not a quick job, and they understand, and more importantly they can make the client understand. But I also understand that this isn't a role a lot of devs are comfortable filling - and they really, really shouldn't be forced to.
Now, you could argue none of this would be necessary if the team/agency/company had proper systems in place - and you'd be right. But I've yet to work for an agency that had it all figured out.