That seems pretty productive for an IC. If you are spending half of your time writing code, that's pretty good. You seem to be driven and a self starter, which is why you feel like garbage when you don't hit deadlines that you've set for yourself. It's a good way to keep yourself motivated, but try to keep things in the right perspective.
> The biggest obstacle to this for me is poor planning upstream, missing/bad requirements, missing APIs that are presumed finished, etc.
This is the best reason to go into management or take on role where you spend more time on this part of the process. If you do go into management, I recommend positioning yourself as a player/coach.
> The biggest obstacle to this for me is poor planning upstream, missing/bad requirements, missing APIs that are presumed finished, etc.
This is the best reason to go into management or take on role where you spend more time on this part of the process. If you do go into management, I recommend positioning yourself as a player/coach.