zoukankan      html  css  js  c++  java
  • 随笔:软件行业的发展与程序员职业发展的关联关系

    一、开源框架与收费软件

    开源与闭源最大的区别是:
    在闭源时代,值钱的是代码本身,也就是收费软件。此时,一个优秀的软件工程师离职了并不会影响整个公司的核心价值,公司靠着这套代码依然可以发展业务。

    但在开源时代,值钱的是人,拿这些成熟的开源框架做什么、怎么做,才是企业的核心价值所在,这时,如果明白怎么做和做什么的人离开公司,无疑业务就会衰弱,被激烈的市场竞争给淘汰。

    由此可见,最早软件公司都是卖软件本身收费,之后靠升级功能收费(免费版有功能限制),后来大多靠解决方案收费。现在,卖依托云的商业模式了。

    二、程序员的职业发展

    程序员的职业发展也随着软件行业时代的变迁而产生变化。
    最早代码本身值钱,所以程序员依靠提高生产力来赚更多的钱。
    之后,程序员依靠能写出功能复杂的软件赚大钱(高端程序员的黄金时代)
    后来,靠服务市场需求赚钱,这就要求程序员懂业务,做到技术和业务的贴合完美。
    现在,依靠信息科技发展商业模式,要求程序员懂商业,从一个被动生产者,从幕后走向台前,成为商业推动者。

    例如:便捷的扫码支付、无人商店等,都是信息科技推着这些商业模式往前走的。

    注:业务和商业是两码事儿,不要混淆。学商业前,先要学会业务。

    路径:计算机专业毕业 ==> 写代码 ==> 认识架构 ==> 学习业务 ==> 培养商业思维

    P.S. 每一步转型都会死掉一批人,且行且珍惜,转型不一定适合每个人

    三、开源的贡献

    开源并没有降低程序员的价值,如果没有开源这个行动,那么很多好的算法、框架都只能停留在某家公司的实验室里“吃灰”。当一个算法在理论上被证明可行,但还需要无数实践来检验其有效性和可靠性,这就需要依靠全世界的力量,不是某一家大公司或者个人可以做到的。于是,开源就是最好的选择,能被全世界的程序员使用并不断完善和发展。就像现在的AI很热,最终也会走向集体开源的道路,因为AI算法,例如机器学习等,要验证其有效性,需要海量数据做锻炼,同样不是某个组织可以完成的,也需要全世界的“协助”。一切基础学科,最终都是会“开源”,为了学科自身的发展,也为了社会的进步,这一点不可逆。

    开源使得软件行业飞速发展,解放了程序员,让信息科技创造商业价值成为程序员的关注焦点。这一点和过去的数学发展史有着惊人的类似。可以去查一下数学史,会发现最早数学家解题都是不公开方法的,等着其他数学家挑战。这样不但制约了数学的发展,还降低了数学作为基础学科的地位。当数学研究开始发表、公开,迅速渗透到各个研究领域,人们已经无法离开数学,就如同现在人类已经离不开IT了,IT的地位才得到提升,IT人才能站在更高的高度。百年来,数学家开始研究金融、经济主导社会发展,我相信,IT人也一样会走这条道路。

    四、类似的职业案例

    其实不止是软件行业,历史上不断重复着这样的案例。
    比如:会计。
    最早,会计就是记账、管钱的。依靠“拨算盘”赚钱。
    后来,会计人参与企业管理,从此有了财务管理这个高端的存在。
    现代,还有涉及企业战略规划的管理会计,去参与企业的治理。

    在自动化甚至是智能化的今天,会计已经从简单的“拨算盘”解放去干更加能创造商业价值的事情去了。如果某个会计人员还在修炼自己的拨算盘技术,可以说肯定会被时代所淘汰。

    五、注意事项

    程序员学习商业不是简单的去学个MBA(Master Of Business Administration),因为MBA其实是教会你一套识别商业价值的方法论,精华在于具体案例分析(插播:不同商学院案例分析质量大不相同,所以有条件的话尽量去国内Top5的商学院,不然真的只是学一套知识体系就回家了)

    六、总结

    时代变迁,有些职业就消失了,有些职业发展了,站在宏观的角度去看未来20年,站在微观的角度是在看过去20年。我一直在研究行业发展对职业发展的影响,大约工作3年,写代码10年的时候就发觉了软件行业乃至其他行业、职业的发展规律。时代不同、背景不同,对人才的需求不同,自然每个人的职业发展道路也会不同,适合你的不一定适合别人,但大家的目的都是在寻找自身职业的价值。

    P.S. 不要去强迫别人走跟你一样的道路,也不要去逼迫别人同意自己的观点,每个人都有自己的环境,自然所产生出的路径也会不同,没有什么是绝对正确的选择。只是立场不同罢了!

  • 相关阅读:
    任务Task系列之Parallel的静态For,ForEach,Invoke方法
    任务Task系列之使用CancellationToken取消Task
    泛型基础
    串的两种模式匹配算法
    数据结构之串类型
    c#基础知识之设计类型
    挣脱
    数据结构之栈和队列
    数据结构之线性表
    NGUI背包系统
  • 原文地址:https://www.cnblogs.com/luscinia/p/8322326.html
Copyright © 2011-2022 走看看