I wouldn't do that. I'd take some of my spare time, a few weekends, to document the idea and maybe hack together a prototype, and take that to "the right people". If they're going to be happy with the project then it's better to do it without pissing off everyone else.
I would rather see somebody genuinely advance in the organization by genuinely improving something (and taking some risk), while taking time from a stupid project, rather than by taking credit for work of someone else (but that never happens, right?). And in fact it's the latter people who get angry, so for that really doesn't matter on whose time you do it.
As for your suggestion, why is it OK for employer to steal employee's free time and not OK for employee to steal employer's time? We are talking about improvement to the employer's business, after all.
What you don't seem to realise is that there are no stupid projects. Someone in the business believes that the "stupid project" is a good idea that's worthwhile paying a developer to work on, and they've persuaded the people higher up that this is the case. If you just decide that it's not worth your time and something else is more important then you're effectively telling everyone who has agreed to let the "stupid project" go ahead that they're all wrong and you know best. That is not the best way to further your career.
Open a dialogue. Provide evidence. Don't just say "I know best!" and forge ahead while ignoring everyone else's input. If you're right then people will listen.
No one ever succeeds on their own.
It seems akin to saying there are no stupid moves in chess. Because every move is vetted by the player, and he has a good reason to do it. Unfortunately, people do make mistakes and at least, better moves - than the ones you decided to do - happen.
> you're effectively telling everyone who has agreed to let the "stupid project" go ahead that they're all wrong and you know best
But sometimes you do know best. I didn't say you have to drop work on the stupid project entirely, I just think you should be entitled to be part of the decision too.
Speaking about that, what is the theoretical ideal of how the hierarchical decision-making should look like? I mean, when someone decides things on higher level, how can they do that? If they were to made optimal decision, they need all the information that individual decision makers under them have. So isn't the decision they made always suboptimal? Isn't actually the best way how to make decision in a hierarchy at all to let all the deciders on a lower level decide what decisions have to be made on the upper level?
There should be a mathematical model supporting how hierarchical decision making works, but I have never seen one.
> That is not the best way to further your career
If you do what I suggested, you're taking a risk. It may give you a good result or a bad one, as it happens.
> No one ever succeeds on their own
Even if that is true, which isn't, you can still at least spark a success on your own.
Wrong focus. Unplanned, but valuable and necessary side projects, that focus on the long term, setting aside for a moment that permanent focus on the short term next milestone next sprint next story next task next function next line of code cyclic trap of short term focus - that product managers (along with literally everyone else, myself included) fall all too easily into.
If my employer doesn't trust me to have some sense of what constitutes valuable and necessary, why the hell did they hire me in the first place? And why do I want to work there? And how soon will I be laid off, fired, or quit of my own accord - leaving for greener pastures where there's higher morale, and less micromanagement? These things will translate directly into better productivity, in turn translating into moving up the career ladder faster?
(I should note: I pick jobs where I consider my "20%" projects to be business relevant. That doesn't mean they're sanctioned.)
> I'd take some of my spare time
1) I can't focus on proper work projects outside of work. I've tried it. Even if I could, reducing my weekends to 1 day a week sounds like a great way to burn out. If somehow I don't burn out, bluring the line between work and play enough for the last day of the weekend I kept for myself to never quite feel like I've left work at work.
2) Prototyping is insufficient.
3) What spare time?
> writing code that will be owned by your employer
That's a feature. Do you have a copyright assignment clause in your contract for all your home projects? Is it legally enforceable in your jurisdiction? Nebulous. Here's the deal: I work on things at work, they get to own it - clearly and unambiguously. Best case scenario? I get recognition, praise, raises, bonuses, promotions, and they ask me to work on it even more. Worst case scenario? I'm off on an adventure, in search of employers that better value my talents. Win/win situation.
> all the while taking longer to do your assigned tasks and looking like you slack off for a day a week?
If it looks like you're slacking off, you're doing 20% time wrong. I have no games open, no social media, no reddit, no HN - my 20% time is sit down and write some code time. You'll hear my keyboard, and you'll see code if you look at my screen. In the lulls, you'll see me thinking hard, unaware of the world around me.
Even if I made it as regular as one specific day a week (I don't - it's hours here and there, fit in and around the normal ebb and flow of my daily work) I'd wager that fluctuation in stats-measured productivity would still get drowned out by the standard deviation of noise in normal work. Some days I commit 10, 20 things with relative ease - other times a single obscure bug wastes 2 weeks of my life to track down - and you're worried about a day a week?
> If they're going to be happy with the project then it's better to do it without pissing off everyone else.
Here's the thing: 20% time (possibly rogue, possibly unsanctioned) is how you pull this off. Which is easier to plan project schedules around: Consistent 80% time spent per week on the project, or sometimes 100% and sometimes 0%? Which sells better:
A) "I want to add an unplanned week to the project schedule so we can replace some terrible tools that we've been limping around with. No, it's not a customer requirement, why do you ask?"
Or:
B) "By the way, I wrote a spiffy new tool that replaces that old terrible one. We can now get those customer requirements that require the tool done faster. You're welcome!" (Unmentioned: You implemented it in about a week, amortized over the previous month or so.)
Or you need to invest in automating some of your grunt work, so you can do the same work in less time. Laziness is a virtue.
The difference between a hirable employee and a fireable employee is not 20%. There is usually 2x or more of variation amongst people in a pay grade. As long as you're in that ballpark of productivity, you're fine. Personality conflicts will get you fired long before a 20% dip in stories checked in.
In fact, there's a good chance that taking the 20% of time off will actually increase your productivity the rest of the week. But if it drops you below the "worth their weight in pays stubs" line then you are already on very thin ice.
This is not universal, perhaps you ought to stop working for dysfunctional organizations
> The best policy for an engineer is the one I described
Again, not universally applicable. It might be the best policy for brogrammers.
Why? When you are knee deep in solving problems for an organisation you will often have good insights.
If you can't take the time to investigate these insights then you wind up a low productivity grunt.
Unlike the OP I am upfront about needing control over my workflow. If you need to micro-manage... no problem... I'll find a new job.
Because I work on huge swaths of the business and know where the huge piles of technical debt and risk are. I also know that people that are not rank and file engineers are hired for their ability to look good not do good. They can make polishing a turd look good by selling it to executives and having everyone else polish turds.
>What if everybody within the organisation did this?
Then you get a high functioning organization that makes billions of dollars.
>Why wait until you've pissed people off enough to get fired
Leaving early is a pattern for top people. They accomplish a lot and job hop before the unpleasantness starts. It can take up to six months for an organization to react negatively to the fact that some engineer actually got credit for something they initiated.
>start your own business where everyone gets free rein
Yeah, this is ideal but you need three or four years cash runway and that is very hard to get. Incubators and angels only give enough that you become dependent on financiers who have their own set of goals.
Saying "this project isn't important enough for someone like me" won't just annoy your manager. It'll annoy everyone, because someone else will have to pick up the work you dropped. You'll get the reputation for being awful to work with, and that is toxic to your career.