I joined my previous company, Trilogy, at an early stage. I guess I was the 22nd employee. One of the benefits was that I got to know half of the people personally. I value people and relationships a lot, and it felt nice to know so many smart people by their first name.
One thing I've realized out of that experience, and in general otherwise, is that smart people complain a lot. They don't get satisfied easily. Call it the curse of smartness!
And guess what was the most common grudge? Good work. Lots of them had the concern that they are not doing "good" work. If you ask them what a "good" work is, you'd hear words like challenging, new product, design, architecture, development, from scratch. On the contrary, "bad" work was synonymous maintaining an existing product, testing, scripting, bug fixing etc.
While getting promotion on the basis of so called good work was always at the back of their mind, the primary concern was of job satisfaction. If you don't like what you are doing, you are not satisfied, intellectually. You need to be doing something that you enjoy, and value. That is the secret of happiness in any job.
Strangely, the world is full of "bad" work. In any job, you end up doing more routine stuff than interesting one. Interesting work comes in patches, and you can't really be sure when you'll get a truly interesting work that you'll enjoy. More often than not, you have to live with the routine work and try to find interesting stuff within that. Software is no different.
I rarely managed to get "good" work in my job. For quite some time after I joined, all I got to do was testing, scripting, bug fixing. The product I was assigned was going into beta immediately after I started. I, being the junior-most guy, was handed all the "dirty" work.
And funnily, I enjoyed that work. Maybe it was the ignorance of a fresher, but I managed to see interesting stuff in my work. I used to like scripting. I liked testing. I liked automating things. Java development was probably what I hated the most. It seemed so straightforward. And boring. Many of the my teammates and juniors were surprised to find I had written almost no product code even though I worked on the same product for more than 5 years.
I found the non-development tasks more engaging. There were unique challenges there, new learnings every day. And I loved innovating in that space. I liked versatility in the tasks. I bet we had the most efficient and best testing process when I was involved.
I always had a different definition of "good" work. For me, any work that allows you to innovate and learn new things is good. Otherwise it's bad.
What matters is the learning of the task at hand, not the task itself. It's very unlikely that you'll get the exact same task in your life again. It's always going to be a variant of that. Similar, never the same. With even a few small parameters changed, you might have to approach the problem from a completely different perspective. That's why, cherish the learnings no matter what the task.
If you are willing to learn, there's lot of scope and opportunity for innovation in the routine tasks. If you stereotype the tasks and block your mind, you are never going to see that opportunity. Just complaining about it hasn't helped anybody. Most of the times, getting a task of your choice is out of your hands. Make the best of the situation and keep learning. That's how you'll grow and gain lessons.
Life in general, and startup life in particular, is full of routine, boring tasks. Until and unless you can see the positives of those tasks, you are not going to enjoy, and by that token, not do a good job at executing it. From a entrepreneur perspective, working on your product is probably going to be the most enjoying of all experiences. But strangely, you end up spending a good chunk of your time on the plumbing tasks. And many a times, these peripheral tasks end up being make-or-break for your company. So you better pay attention to these boring tasks.
That's what separates a good entrepreneur from a good techie. I have this conjecture that unless you can bear with these uninteresting tasks, you are not going to be a successful entrepreneur. The path to creating a successful company is rough, and you have to get used to it. Those who run away from it rarely manage to create a successful startup. Enjoy every task you do, and you'll reap benefits!