เอามาจาก http://www.codesqueeze.com/softwareengineer-vs-code-artist/
การพัฒนาซอฟต์แวร์ เป็น วิศวกรรม หรือ ศิลปะกันแน่?
สำหรับผมแล้วคิดว่าการพัฒนาซอฟต์แวร์ขึ้นมาสัก 1 ระบบ จำเป็นต้องมีทั้งวิศวกรรมศาสตร์ และ ศิลปศาสตร์
เพราะการพัฒนาซอฟต์แวร์ขึ้นมานั้น ต้องอาศัยทุกด้านตั้งแต่เรื่องของเทคโนโลยี ไปจนถึงการติดต่อกับผู้ใช้ เพราะ สิ่งที่โปรแกรมจะต้องมี ต้องทำงานนั้นมาทางผู้ใช้แทบทั้งสิ้นนับว่าเป็นศิลปะในการคิดและออกแบบ แม้กระทั่งการติดต่อ ต่อรองกับผู้ใช้
ส่วนด้านวิศวกรรมนั้น แน่นอนว่าเราต้องมีการออกแบบสถาปัตยกรรมของซอฟต์แวร์ไม่ว่าจะเป็นการไหลของข้อมูล การออกแบบฐานข้อมูล หรือ อื่นๆเป็นต้น
Software Engineer vs. Code Artist
Is software development engineering or artistry?
This long running debate received new life when Steve McConnell gave a fiery reply to an IEEE Computer article titled “Software Development : What is the problem?“. Eric Wise has now stirred the pot with his post Rejecting Software Engineering.
Personally I wonder why everyone thinks they are an artist. I don’t care if you are a software developer, carpenter, or plumber; every profession thinks they are so clever that they deserve the title ‘artist’. This is a load of crap. True pencil and paint artists can create subjective works without any repercussions.
Expectations to create readable, maintainable, scalable, testable, documented, and flexible code are everywhere. We can not even commit to open source projects without being censored for quality. Developers get no bonus points for clever solutions, only for quality and useful solutions.
The number of ways we can solve problems through software is amazing. Of these solutions comes many unique and clever permutations; all representations of their creator – the developer. But acts of creation does not imply the right to declare ourselves artists. Musicians are artists that can have free spirited impromptu ‘jam sessions’. When was the last time you saw a developer express themselves in a free spirited impromptu ‘code session’? It just sounds stupid saying it.
Mathematics is considered a science, yet solutions can be cleverly constructed. So why is it a science and not art? Mathematicians (like developers) need to be confined to solving a problem in order to start creating.
Solving a problem is not art. Creation is not art. Being held to standards and expectations is not artistic. We are not artists.