it is hard. But self satisfaction is high. if you get paid or nor u can satisfy ur self. I'm a web developer. I really love my job. . but it is hard. we have to do lot of sacrifices.
What i believe is nobody else can feel the real thrill and satisfaction a developer gets when the project is successful and the client is happy. You have done something that thousands or millions of users make use of.
Programming is an achievement therefore when the project is completed you have something to be proud of. That is why you need to work hard and sacrifice. And its worth it.
Only a programmer will know it and understand about it.