返回

为了工作,给陌生人编程

前端

编程,看似是一门技术活,跟买卖关系不大。但是,编程的最终目的,是做出一个产品,然后卖出去挣钱。

编程,是市场链中的一环。

如果以编程语言为基础、软件作为载体、功能为核心来判断这个市场链,那就能够发现,这个市场链会分层。

每层做的事情都有差异。

如果以产品需求为源头来判断这个市场链,也能发现,这个市场链会分层。

每层做的事情同样差异。

而现在很多为了工作而编程的人,往往不去想自己是在这个市场链中的哪一层。

他们往往只是坐在电脑前,敲代码、写需求文档、做方案、调试程序,埋头苦干。

这种人,很容易被市场淘汰。

要想了解自己在编程市场中是哪一层,就得了解市场的各层构成。

市场链按编程语言分层

  • 编译器、解释器,语言设计人员:

这层的人,会做编程语言的基础设计和开发。

对于非计算机科班出身的人来说,了解他们,就像了解数学家,用不到。

  • 框架、中间件、组件、库设计人员:

这层的人,会做编程的工具,能让程序员提高编程效率。

对于非计算机科班出身的人来说,了解他们,同样用不到。

  • 应用系统设计师:

这层的人,会做各种类型的软件。

需要懂行业知识,懂编程。

非计算机科班出身的人,可以做这层的人。

  • 程序员:

这层的人,会写代码。

只需要懂编程。

任何计算机科班出身的人,或者任何自学编程的人,都可以做这层的人。

所以,绝大多数人,都是程序员。

编程的门槛很低。

但程序员的水平、编程的质量,区别却很大。

市场链按产品需求分层

  • 需求调研、分析、设计人员:

这层的人,会调研、分析、设计产品的功能和需求。

需要懂行业知识,懂产品,懂需求调研、分析和设计。

  • 产品经理:

这层的人,会对产品需求调研、分析、设计人员设计的产品的功能和需求进行评估、决策。

需要懂市场,懂用户,懂产品。

  • 技术负责人:

这层的人,会对产品的技术选型进行决策。

需要懂技术,懂行业。

  • 架构师:

这层的人,会设计软件的系统架构。

需要懂软件工程,懂算法,懂系统设计。

  • 项目经理:

这层的人,会对软件开发进行管理。

需要懂管理,懂软件开发,懂项目管理。

  • 程序员:

这层的人,会写代码。

只需要懂编程。

所以,绝大多数人,都是程序员。

编程的门槛很低。

但程序员的水平、编程的质量,区别却很大。

划划水就可以搞清楚的MVC

了解了编程市场链,你就能大致知道自己在市场链中的哪一层。

然后,你就能有针对性地提升自己。

如果你是一个程序员,你想往上走,那你就要去想,你的职业发展方向是什么。

你想成为一个架构师吗?你想成为一个技术负责人吗?你想成为一个项目经理吗?

你想成为一个产品经理吗?你想成为一个需求调研、分析、设计人员吗?

想清楚了,你才能有针对性地去提升自己。

如果你想成为一个架构师,那你就应该去学软件工程、算法和系统设计。

如果你想成为一个技术负责人,那你就应该去学技术和行业知识。

如果你想成为一个项目经理,那你就应该去学管理、软件开发和项目管理。

如果你想成为一个产品经理,那你就应该去学市场、用户和产品。

如果你想成为一个需求调研、分析、设计人员,那你就应该去学行业知识、产品、需求调研、分析和设计。

编程,只是你做好本职工作的一把工具而已。

不要让编程,蒙蔽了你对世界的认知。

你在这个世界上能走多远,取决于你对世界的认知,而不是你对编程的认知。

后话:

你可能不赞同我的观点。

但我的目的是想让你去思考。

让你去思考自己在编程市场中的位置。

让你去思考自己的职业发展方向。

让你去思考自己应该提升什么能力。