I've been a lazy programmer for years. That makes me unhappy for years also.
For example, when I have to choose a programming language, if it's not for real time task, I've consider something higher level, with GC, full featured libraries, etc. I would not choose C whenever I had a chance. Actually, I could work on several different languages. I am so lazy that I don't want to control every byte of memory.
But most of colleagues I had ever met, tend to write any thing in the same language, from web app to desktop GUI, everything. "The safest way to do our job, is to use something we are familiar."
Sometime I won after arguing, sometimes I just gave up. Either way, I don't feel happy.
And when I really have to use C, I would consider build my application on some full featured libraries instead of only standard C API. I would choose APR or glib which I thought would save me a lot of time.
However, my colleagues, they would only use standard C API. When we need anything more complicated, the will just write it line by line. "Glib is build for gtk+. Have you ever heard any famous company build their product based on something for GUI?"
Even if I know IBM and Microsoft don't use these libraries, I am not hardworking enough to build my own C libraries.
I am too lazy to considering performance. I thought it's the job of compiler and my task is write clear code that works.
My colleagues invented our own file system because they "guessed" ext3 is not fast enough.
I am a lazy programmer. Although I don't spent my working hours on SNS web sites, I like reading books. Books about how to write better program, books about how to manage software project. Everyday I spent some of my working hours on reading these books. But finally I find I am just wasting my time. I have no one to discuss what I learned, I am not allowed to try I've learned. "Design patterns? Just something made thing more complicated." "Stop playing, you little toys. We are making something serious!" Most of them had never read any book about programming in the last year.
OK. This is not a question really, just close it. After some frustrating arguing today, I just felt sad.
I am tired of arguing, I am tired of coding in a way I consider stupid and inefficient, I am tired of working day after day with printf and scanf. I need to change, either change my opinion about programming, or change my career.
Maybe my colleagues is right. Maybe anyone who's more familiar with C99 standard could do a better job than me. I should have chose another career.