Today I came to realize one of the major difficulties in my job
.
I felt that it was really important to include a certain feature in our new system that we are developing.
However, the technical complexity to implement it is too high to justify the implementation.
And so now I truly understand why companies ship software lacking features or including bugs. They feel that including the feature or fixing the bug does not justify the effort expended to implement or fix.
It's not a big deal, but right now I feel a sense of incompletion, of doing a job not-as-well-done-as-could-be.
I'm sure it will pass, and I'm sure I will be forced to make far more difficult decisions about more important features. But I wonder if I will ever lose the feeling of not building as personally satisfying a product as possible.