When I was a teenager (about 8 years ago), programming used to be fun. That alone led me to study Systems Engineering. (Later, I found that SE wasn't only about programming, but that's another story.) However, my first experiences working as a programmer haven't quite been what I expected. Most of the time, those I work for don't expect me to carefully design my programs before I write them. They seem to think of programming as a physical production process in which the most obvious way to improve productivity is to speed up the process.
Writing code that validates data input against business rules is boring, but tolerable. But being forced to do a half-assed job just to finish projects under unrealistic schedules puts me off, to say the least. It's the opposite of what made programming so attractive to me.
What do I do to fix this?