转自知乎专栏(黑白互联网)做者:佯良程序员
大概2个月前陆奇的一篇文章刷屏:“一个优秀的程序员,要相信世界是由技术驱动的”,我以为这句话是狗屁,不过是资本家用来哄骗程序员的。我承认陆奇的五点要求,但这些只是程序员的本职工做。面试
别忘了,去掉程序员的职业身份,他们仍是一个个活生生的“人”。算法
只有烂程序员才相信世界是由技术驱动的,优秀的程序员会意识到世界是由资本和权力驱动的。设计模式
人,是一种社会性动物。技术也好,商业也罢,都只是用来解决社会问题的工具。之前我认为技术是面向机器的,如今明白了,其实真正优秀的、可靠的技术,都是面向人类的。你在优化设计模式的时候,不是在优化机器,而是为了让“人”维护起来更方便;你在优化算法的时候,不是在节约内存,而是为了让“人”拥有更好的用户体验(即速度);你在作一个GUI的时候,不是在与机器对抗,而是为了让数据管理更加方便。一切由于人,一切为了人。你们都知道早期的计算机是用来计算弹道的,但这并非为了炸弹,而是为了炸人。架构
个人意思是说,程序员在作好本职工做的时候,必须清晰的认识到,你所作的一切,你所设计的一切,最终是为了服务于什么。工具
这是你保持竞争力的前提。不然,你就等着永远被产品经理和项目经理折磨吧。学习
我见过不少技术人,问我“茴”字的三种写法,我一律直言不知道。这一方面是“知之为知之,不知为不知”;另外一方面,也是我不想纠结在所谓“原理”上的态度体现。人类为何创造工具?是为了节约时间,用锤子的人须要知道锤子怎么作吗?诚然,计算机技术必定不像锤子那样简单,其复杂度能够绕南极一圈。我不是在鼓吹不去学习原理,原理当然重要,可是彻底能够点到为止。这点其实与陆奇所说的“站在巨人的肩膀上作创新”是一致的,若是别人已经作了,就请直接拿来用,不要重复造轮子。优化
深究原理,站的过低,能够影响的也很是有限,你最好学会在别人的基础设施上构建应用。设计
程序员,最不该该作的事情就是本身骗本身:“整个世界终究是为技术所驱动的”。事实上,这个世界上,最不缺的就是技术,技术的问题历来都不是问题。世界的参数太复杂,不是一两个对象就能够解决的。真正困难且磨人的,永远都是“人”的问题。我在本身作产品的同时,也会去作销售,在吃了无数次闭门羹,经历过不少次谈三个月谈崩的客户后,才深知“人性”的复杂。对象
我不知道为何,不少程序员在听到“销售”这两个词的时候,老是露出一个嘲讽脸。是,你是读了不少书,你掌握了不少复杂的算法,还作了不少高大上的东西。可是,你可曾想过,没有销售,谁把你作的东西变现,你的工资是凭空出来的吗?销售出去不停被人拒绝,你能经受得住这种心理压力吗?你可知道,特斯拉在命悬一线的时候,是马斯克下令“人人皆销售”才把公司从死亡边缘拉回来。
我也不知道,为何如今的程序员见谁都看不起,仿佛安静的本身在掌控整个世界,却看不清本身只是棋子的事实。大家口口声声说,互联网公司重视技术,对,大家把技术作的很好,可是技术人的地位谁不是心知肚明。社会须要坐班拿加班费的程序员,也须要看清事实再也不为老板卖命的活生生的“人”。
在作好本职工做后,多了解业务、站在更高的角度构建上层建筑、接受世界是由资本驱动的事实,你get到了吗?
欢迎工做一到五年的Java工程师朋友们加入Java架构开发:744677563
本群提供免费的学习指导 架构资料 以及免费的解答
不懂得问题均可以在本群提出来 以后还会有职业生涯规划以及面试指导