作为一名开发童鞋, 我要坦承自己的“技术倾向型自我保护”, —— 技术人员本能地学习和使用“高级技术”作为保护自己的一种方式, 包括:
1. 过于关注个人技术和待遇的提升, 忽视工作伙伴、团队和整体产出;
2. 阅读源代码探究实现, 不是出于求知的热情, 而是担心别人评价自己技术不过硬, 证明自己不是只知其然;
3. 所学局限于技术方面, 仿佛学点非技术领域的知识和技能, 就背上“叛离程序员本色”的罪名;
4. 以“技术含量”论活, 瞧不起技术含量低的活, 只想做技术含量高的事情。
这都是一种自我保护非常强烈的心理。 究其缘故, 是害怕自己失去了技术的优势, 其它方面无所建树, 前途渺茫不定。当然, 也与业界“程序员传统文化”有很大关联: “以技术为尊”, 更崇尚技术牛人, 而不是敬佩那些默默地应用技术做出可靠易用的产品的“技术水平不怎么高”的开发童鞋。
如果说从事软件开发是一份工作, 无论是创造性的或平凡的, 从工作本身的意义来说, 程序员获得收入必须与其所生产的软件相匹配, 换句话说, 程序员应当努力创造出满足人们需求的软件, 就如同任何一个厂家生产出满足人们需要的商品, 人们才值得为之掏钱。 而要做好一个软件, 那么, 需求、设计、开发、测试、反馈和改进, 每个环节都非常重要。 虽然说社会分工导致了需求分析师,项目经理, 架构师, 程序员, UED, 设计师, 测试工程师, 技术支持工程师等, 但是, 程序员作为核心角色, 非常有必要参与所有的流程, 而不是埋头编写程序和关注技术提升。 也就是说,
在我看来, 程序员必须努力成为一个半吊子的“需求分析人员,设计人员, 开发人员, 测试人员以及技术支持人员”, 必须关注整体的产出, 而不仅仅是编写出满足需求文档和测试文档的代码; 这一切的一切, 只为打造真正用心贴心的软件应用。
从另一个层面来说, 我也非常认同, 程序员需要不断更新自己的知识和技术体系, 及时替换掉“过时失修的部件”, 适量选择部分最新技术进行学习和跟进。
必须打破自己的技术情结或想要用“更高级技术”来保护自己的心理倾向, 努力让自己的视野更加广阔, 更清晰地意识到自己的价值所在, 运用自己的已有技能创造最大化的价值和影响。这意味着:
1. 关注产品架构和业务架构, 关注项目进展,关注公司发展和市场动向;
2. 学会演讲和写作, 能够有效地展示公司或自己的工作成果, 既做事也懂得展示;
3. 不定期地进行技术研究和分享, 不要担心别人的非议, 做好自己要做的事情;
4. 学会关心身边的人和事,——你能做的,不仅仅是写程序。
程序员的本色是, 能够创造出真正帮助用户解决问题的可靠易用的软件,也能通过更有人情味的方式去帮助那些需要帮助的人们。