架构师与园艺师

gardening

人生有太多的角色,有时会让人恍惚错觉自己究竟在扮演什么。近日幸运读到了硅谷创业之父Paul Graham的「黑客与画家」,我尝试着从中寻找答案,我想在我的内心应该住着架构师和园艺师这两个人。

之前的工作被戏称为码农、工程狮、程序猿,而你通常只是个别人意志的附庸,没有太多选择、创造空间以及成就感,久而久之你只会感到厌倦不开心而萌生去意。写了十多年代码,我也曾因一个问题而困惑「软件究竟是什么」,或者你是否能向别人解释清楚你的职业,你会茫然地告诉别人这仅仅是份糊口的工作么?试着去解释,我们用一种称之为代码的东西或者说是黑客和计算机可以理解的语言,去模拟或创造一个虚拟的软件世界,借助计算机以此尝试帮助人类可以更好的工作生活。不敢大言不惭称自己为黑客,只能说自己有颗黑客的心,有创造美好软件的渴望,成为架构师也许是一个更现实的目标。架构师和建筑师颇有渊源,有说法软件设计模式最初的想法就源自建筑,但也有人说架构师更像是城市规划师,在更高更抽象的层面进行全局的设计。依稀记得读研时我曾困惑的去请教老师如何才能成为一名架构师,老师没有明确告诉我答案,只是告诉我去尝试设计更大的系统。

听说一个人既是黑客又是画家多少会令人感到吃惊或者怀疑,其实这在国外是很常见的事情,是什么样的偏见或嫉妒心作祟使得人们怀疑一个在科学领域有所建树的人不能在艺术领域有所成就呢?也许是从小的成长环境使然我对动物无感,也许是害怕它们会对人造成的伤害吧。植物完全不同,他们外观静止无害,但微观的成长变化却令人心生好奇,随着四季变迁也足以震撼人心。奥黛丽赫本也曾说过「To plant a garden is to believe in tomorrow」,园艺有助于身体分泌被称为身体幸福因子的血清素,可以调节情绪,使人变得平静和积极。爱觉不累?累觉不爱?

架构师和园艺师有很多相似的地方,令人着迷向往。它们都是富有创造性的工作,无论是架构一个软件系统还是设计一个花园景观。它们都是充满了对美好的追求,无论是高性能可扩展的系统架构之美还是纯粹清新的自然之美。它们都对完美有苛刻的要求,无论是要求代码的洁癖还是在意植物叶片上的一粒灰尘。它们都需要安静不受打扰的思考空间,它们都需要付出精巧的心思,它们同样需要从前人的作品获取灵感,它们也同样是通过不断的优化才能达到接近完美,当然好的系统架构和微景观也同样会给人带来优雅、美好和愉悦的感受。

我们总想趁着还算年轻尝试多点再多点,然而不断变换的角色我们终究做好了几个,你又是一个称职的XX么?