我是一名充满热情的程序员,一名开源软件的倡导者,
我一直担惊受怕,过去,可能是因为我年轻,但现在,我已经不是那么年轻了,我仍然发现有很多事情让我害怕。
我越来越担心我作为一个程序员的未来。
当年纪越来越大后,我开始变得不能加班。我开始用更多的时间和家人在一起,而不是坐在计算机前(尽管这样,她们仍是抱怨)。我在本地教育委员会社区里提供一些帮助,还组织开源兴趣小组参加活动。
我在思考,为什么以前会把如此多的时间全部用在编程上。大量的编程。那是我渴望深入研究一个类库,一个框架或一门技术。
现在的技术的学习曲线的增加,让我的忍耐性越来越低。各种新技术,因为新奇让人兴奋,但最终变成一场场争论。我越来越无法忍受这些充满市场宣传气息的喧嚣。我对技术看重的是稳定,清晰。
我曾经对JavaScript非常的感兴趣。我曾经用5年时间开发一个开源项目,其中95%都是JavaScript。但我从来没有认为我对各种JS技术有了很好的掌握,我对很多新兴的JS热门技术(ES6, Angular, Ember, Shadow DOM, Module systems等等)的理解都是很浅显的。现在很多公司的招聘都要求会AngularJS技术。我下功夫学过它,但这种技术频繁的升级和不兼容,以及2.0版的计划,让我对这个框架彻底的失望。我对富客户端应用的兴趣彻底的发生了反转。现在,我最感兴趣的是在服务端进行计算,就像是2004年时的样子。
我正式的工作中主要是使用Python,做服务端的处理。我喜欢这种语言,但我仍然觉得并不是真的掌握了它。我有15年的PHP开发经验积累,所以,通常对PHP是轻车熟路,但使用Python时并没有这种感觉。我并不感觉我对模块化系统有了全面的掌握。而且我真的没有弄明白它的Class机制。generator究竟什么东西?它的工作原理是什么?我很迷茫。
你曾经尝试过着在AWS上搭建一个系统吗?里面有近百万个按钮、设置选项、新名词,我都不明白。我根本不知道它里面的系统是怎么运行起来的。
这些困难终究会被克服——只要有足够的时间和热情。但热情决定了我的时间分配。我现在没有足够的热情来利用业余时间来改变这种被动状态。生活中有更多更重要的——跟编程技术不相关的事情需要我去做。
你知道吗?我以前曾是一名平面“设计师”。真的。在1999年,我的技术水平足以在Web上配得上这个称呼。我曾经给一个独立音乐录音室设计过CD封面。2005年左右,当时在网上流传的所谓“优秀设计”是出自我手。几年前,我不再将“设计师”头衔放入我的个人介绍里,因为听起来有点可笑。
早些年,当我还是一个人负责一个web商店时,一切都很容易。我自己配置Apahche,PHP,MySQL,PostgreSQL等等。我自己写服务器端程序。我编写自己的HTML,CSS和JavaScript。所有的这些技术我都上手。我很喜欢它们。
而当处在一个团队中时,事情开始变化。我很想念过去的方式,我想念能够自己折腾HTML,CSS,看着它们从我手里变成软件产品。我想念能够自己折腾服务器配置,看能否让PostgreSQL提高一点点性能。现在,我感觉我的工作太单一了,它专项了,日常工作中适合没有任何机会再去接触那些东西。
我担心这“Web程序员”的工作超越了我的能力,我担心我的技术在萎缩。
10年后我会在哪里?我不知道。我希望我还能够掌握足够的技术来挣一份工资。但事实上我现在接触的只有JavaScript,而我对它们的了解越来越少。
我希望我仍然能有拿得出手的技术。然而,我不知道路在何方。