There was a post on reddit a while ago that asked a rather vague question along the lines of “What are some of the challenges that you have, as a more experienced [Android] developer?” This is a lightly edited version of the reply I gave.
My tendency is to dive in without planning, get caught up in doing something ‘the right way’ and tunnel on that, rather than zooming out and asking if there’s a different or better way of doing it that avoids the issue.
Being a good programmer does involve sweating the small stuff and doing things “the right way”, but even more important is knowing which small things are worth focusing on and which “right way” you should use.
It’s frustrating to be asked to implement something that you know isn’t the best UX it could be. I’m still learning when I should keep my mouth closed and when I should speak up; the willingness to listen to developer feedback varies not only employer to employer, but manager to manager. You need to build a reputation as somebody who gives well-thought out, well-delivered feedback, but isn’t constantly pushing back or simply quoting something they read without solid rationale or a plan. The information needs to be delivered early in the process, as well, which is a challenge if you are excluded from planning and/or don’t take the initiative to plan yourself.
If I had to choose my number one advice to give to someone, it would be thus:
Swallow your pride.
Pride keeps you from seeing other perspectives, impeding your learning.
Pride makes you less approachable and people won’t want to correct you; even if you’re a good, experienced dev and they’re less so, you’re never infallible. Not only does everybody make mistakes, but everybody makes bad judgement calls.
Pride can make you come off as combative, rather than understanding. Arguments don’t get shit done. Conversations do.
You WILL be publicly wrong at some point. It’s a lot shorter fall if you aren’t known as somebody who considers themselves to be always right. And when you portray yourself as always right, people will remember when you’re wrong.
tldr: Don’t be a dick, always keep an open mind, always be searching for the right balance between push and give, and set a recurring timer to remind yourself to check the forest instead of just the trees.