You probably won’t launch an entire product line out of your own sheer will, but you can totally push for smaller scale work. Push for creating a tool to improve your team’s processes, or push for a few feature within an existing product. Focus less on the “entrepreneur” aspect and more on the “build fun and autonomy into your work” aspect. If you’re trusted and respected within your organization, you’ll probably be able to push through ever-larger projects (assuming they’re not net-negative). This probably isn’t a working strategy if you’re within your first year, but if you’re a respected senior engineer who wants to scratch an itch, you’ll probably have much more success.
Or, if you work at Google, push for a new chat app. It’ll probably be approved.
I once heard a conversation between an engineering manager and a very senior leader at NVidia.
The manager was sharing how challenging it was for his team to debug a certain type of code that they were responsible for. Without missing a beat, this very senior leader replied: "What do we need in order to make it fun? What kind of tooling or other improvements would make it enjoyable and easy?".
I'm paraphrasing because I can't recall the exact words, but I was flabbergasted to hear how he framed the problem as a lack of "fun".
Interactions like that are why I left NVidia with enormous respect for their managers and not just the very bright individual contributors I had the privilege to meet.
I bet people who have been on the inside can guess who the very senior guy was. Absolute legend.
Most projects are fun when they're a greenfield and then become a slog by the end when they're in maintenance mode with layers of cruft. My goal on any new project is to keep the "fun" going for as long as possible.
After a decade or two of maintaining a complex, "grown" application it might be become fun again. You really know all the quirks, all important patterns and call chains. You know the pains of the customers/users and, if you have the time, might be able to do something about it.
Frankly, starting every other year on a completely new application/system does not sound so much fun to me, now that I am programming for more than four decades.
I left NVidia because I retired, not because I was unhappy with the managers or my coworkers. They were exceptionally good.
You do realize there are all sorts of reasons why people leave a job, right? I left Qualcomm perfectly satisfied with my managers and coworkers, too.
If somebody always leaves because of being unhappy with their coworkers, they may want to do some introspection to find out what those disagreements have in common.
> I left NVidia because I retired, not because I was unhappy with the managers or my coworkers. They were exceptionally good.
No worries at all. Asked because the comment about the manager asking how to make it "fun" could also have been read along the lines of "see how out of touch the managers are", and I wasn't sure which meaning you were going for. :)
You could copy the GP post and paste it under this comment again. Let me explain: You don't get any time to work on things besides what is in the sprint. Period. Is it dystopian? Yes. Is it the way many shitty companies work? Absolutely. Be happy, if you are not in such a place.
I’m sorry this is your workplace, or the workplace of so many people. Sometimes things just suck and there is nothing you can do. I recognize it’s also cultural, in America, especially Silicon Valley, there is a less formal division of authority and weaker hierarchy between workers and management, so these conversations are easier.
But there are also many workplaces that are more human, and run by people who you can build a psychological trust and rapport with. In those cases, there are opportunities to propose improvements, or push for pauses in feature work for support work. It’s not every day, and you can’t always change everywhere, but often management is receptive if you can sell it. This is how you start to build greater autonomy and a bit of fun into the workplace.
It takes a certain level of trust, but starting with tasks that vaguely fit the below tend to work well - start with something focused clearly on the business, not your own person feature ideas.
“Debugging/deploying/verbing situation X takes 0.5 man-sprints every sprint (across the team). If we can spend 2 sprints with 2 engineers to do X, we can cut this down to 0… during [time of year, eh holidays], our feature work slows down because people often take vacation. Can person and I work on this?”
Or, if you work at Google, push for a new chat app. It’ll probably be approved.