I'm a relatively new Programmer (2 months) at a relatively small company. I've been tasked with coming up with a solution to a problem we've had, and I've thought of two ways to tackle it.
Option A is a pretty average solution. There's really nothing that special to it, but it gets the job done.
Option B also gets the job done, but it's far more clever. It's a little faster, and it only works because it takes advantage of a few ways our system is set up. The problem is we'd have to make a small change to get option B to work (one I'm not allowed to make on my own).
Since I'm new, the problem I'm approaching isn't very significant in the grand scheme of things, so there's honestly not a huge benefit to using B over A. The change we'd need to make is also pretty insignificant, but since no solution here really saves the company too much time/resources, it's probably not worth making the change. It makes more sense to do option A.
However, if I just did A, then I'd report back to my boss "the problem's solved, I did blah blah blah..." and I don't think his perception of me would change at all. Which isn't bad, necessarily, but also isn't really good.
I know for a fact that if I approached him and asked "I've come up with two options to solve the problem, A and B. B's better, but we'd have to change the whatever," he'd say to just do A. But I feel like it gives me an opportunity to flex my "brain muscles" a little, and to also show that I'm picking up on details in the way our system's set up. It is showing off a little, but I don't think it's obviously showing off, and honestly, I don't know that showing off to your boss a tad is strictly a bad thing. Especially for newer employees where people are still trying to get a feel for what you know.
Is it worth asking about B even though I know my boss'll say "no"?
As a more general question: Is it worth proposing a solution you know will be shot down if it demonstrates things you know (or have learned)?