I consider code as an enemy. More code means more enemy count unless code is a structured. Brave and honest men decrease their and team's enemy being modular and through continuous re-factoring. While coward deceptive men patch and eventually got drawn inside ocean of code and killed by code complexity.
Is this a good thing? It strikes me that a lot of people need to master the old thing before moving on to the new.
I can't make my mind up. If you're a plasterer, once you've learned you art you can ride it for the rest of your life. IT on the other hand never stands still requiring a continual investment in what's new (and not necessarily good).
I suppose it keeps things fresh but I remain faintly jealous of those who aren't required to continually learn new things. Some jobs don't even require you to know anything about much at all.
Other - I get to see my users excited about what I produce.
I work in a small company on in-house projects - so no millions of users, and no layers of bureaucracy between me and my users. I meet with my users every 2-4 weeks - and they are invariably excited to see what I am producing for them. Their appreciation that I pay attention to what they need from the software, so that it actually fits their purpose (and makes their jobs easier, more productive and more enjoyable), is hard to beat.
It's definitely an art form. And with technology. And useful. And solving problems.
But in the end it's an art form. If writing an edulcorated light teen love novel is an art, writing an inteligent, useful and practice code wich solves someone's problem is better art
Not an art - the craft! For me the art is like a "designer furniture" - beautiful, but not comfortable. exceptionally designed but not for daily use.
I see myself more a craftsman than an artist. My work is well done if users can't notice it. They can do their job and the software helps them do it efficiently.
"My software never has bugs. It just develops random features."
Good point. Actually I see myself like both, artist and craftman. The artist part is wich feels proud of myself when I do something nice, when the code is "goodlooking", and the craftman part is that you describe, the one who feel well when the final product works perfect (or good at least) and really helps the user
I agree with "craftsman". but "beautiful, but not comfortable. exceptionally designed but not for daily use." not at all. that 's "modern art"!! art is beautiful, is comfortable, maybe exceptionally designed and is for daily use IMHO.
I guess that's why there's so many bad software developers! Communication (yes, interaction with people!) is one of the most important aspects of my job!
The client has a problem and I know what's technically possible, so I may think of a solution.
My boss doesn't like my technical talk, my clients like it even less and I still have to convince both that my solution might actually work!
And once I 'sold' the solution to management I have to tell my colleagues how we're going to solve this problem technically.
Communication is probably the hardest part of my job. And unfortunately the hardest part of other peoples jobs too.
People die because of mis-interaction with people (especially in the technical field)!
Does anyone remember that rocket with people in it that exploded because some programmers used metric while others used imperial?
They probably liked the part about their job where they didn't need to interact with other people...