程序猿究竟是一个什么职业?

为什么有人在技术造神

大家应该已经感受到,技术圈这两年已经和娱乐圈创业圈几乎相同的氛围了。这事实上是有原因的。

最基本的原因是。创业公司和创业媒体越来越多。他们须要大量的程序猿投身到创业这个高风险的行业中,而造神,正是让程序猿们自己主动跳进火坑的绝佳办法。不是说程序猿不能创业,我是说,创业媒体们有益模糊了创造和创业的界限。把程序猿们的创造冲动偷换概念,鼓吹了太多不适合的人去创业。

还有一个原因是。招聘成本高涨,CTO们为了能提升影响力,不得不频频出席各种大会刷脸。文笔好的再做做自媒体和技术社群,既能强化个人品牌提高身价,又能在融资的时候提升成功率。

总之。这个行业出现了各种技术大神。

这些大神在普通人类和0基础程序猿眼里是无所不能的,是他们向往的目标;在中级程序猿和高级程序猿眼里,这些大神就是他自己,仅仅只是他还没红起来而已…

于是攀比心理也開始泛滥,全国第三的架构师比比皆是,整个圈子渐渐就浮躁起来。

然而绝大部分程序猿,依旧是雇员

媒体们在包装时,最喜欢按独立开发人员的路线来整。

「从小就对技术有天分」、「大学时曾在某编程大赛一鸣惊人」、「写了个APP玩结果一个月有了千万用户」、「从公司离职自立门户三年上市」。

OK,这的确是程序猿的一条职业路线图。

可是媒体们不愿意告诉你的是:

一、仅仅有极少数程序猿是通过这个路线成功的;

二、这条线事实上须要太多非程序猿职位的技能。比方产品设计能力和销售能力。

程序猿究竟是一个什么职业?

▲程序猿的四大职业象限

这件事造成了两个结果。一是冲动点的程序猿跑去创业了。二是不那么冲动的程序猿天天认为自己能创业,能干大事。在如今公司屈才了。

于是就有了这种画面:雇员们天天抱怨雇主不能提供给他们高管或者独立开发人员级别的待遇。

假设不是你自己开的公司,那么雇员同学,你的价值是由你对公司的贡献来决定的。

程序猿究竟是一个什么职业?

▲程序猿的价值决定

绝大部分互联网公司的程序猿职位,没有技术门槛

然而不幸的是,绝大部分互联网公司都不是技术驱动的公司。真的就是鸟哥说的那样。绝大部分技术岗位,事实上技术门槛都不高(门槛在project上,后文细讲)。技术只是是这些公司的护航舰,而不是破冰船。

先别打我,冷静下来想想,究竟有多少你会的那些技术,是你的同行们不会的呢?不多,对吧?

几年前亿级别的搜索还是问题,如今已经到处是通用解决方式了;几年前千万到亿级别的站点和APP解决方式还在大公司手里,如今各个架构大会都讲烂啦。并且事实上都几乎相同;就连DeepLearning,带API接口的框架也開始涌现。仅仅须要把图片用REST传进去就能取到结果了。

非常多事情,已经没有难度,仅仅须要持续投入。是的。对绝大部分程序猿来讲,他们不须要成为科学家,而须要成为project师,成为从科学家手里接过火种,去燎原大地的人。

如何才是一个好project师

1)project的本质不是创造,而是去风险化。

project是关于怎样低成本、高效率、按时按量完毕既定任务的。所以推断一个project师是否优秀。并非他多有创意多有名气。而是看他有多稳,看他能多GettingThingsDone。中文就是「靠谱」。

有时候一个好的解决方式,未必採用了最新的技术和框架,而是看上去朴实无华,功力都包涵在背后的细节里。

就像顶尖高手打的斯洛克台球,每一杆都平淡无奇,仅仅是由于上一杆的回球太到位。

有同学问,那我project做的太好。岂不是没有机会遇到一些高难度挑战了么?放心。一般公司都雇佣了产品经理来帮你制造高危事件。

相同的。一个好的project师,会选择最适合需求和团队的方案,考虑开发效率和系统效率的均衡,从而已达到最优效果。而不是整天和别人去争论什么语言最好、哪些框架过时了。

2)project的还有一个要求是进度控制和质量控制。

在项目立项之后动工之前。对要做的事项作出详尽的规划。对未来一到两周的工作给出仔细的排期,这是进度控制的基础。

代码的及时入库与合并,自己主动化測试和每日构建,CodeReview和文档编写,这些看似无关紧要的习惯则决定了项目质量。

不幸的是,非常多程序猿把这些project上至关重要的东西当成垃圾,视为对他们「创造力」的压抑。

他们总是以创造力为借口去寻求自身的自在。比方上班不带胸牌不打卡。中午歇息时间在公司看视频打游戏,最好能够远程上班,项目到期之前再来检查进度,公司不要用统一框架,仅仅有傻X才写文档。

对职业的理解偏差和project能力上的荒凉,培养了大批能写代码但死活写不好代码的「码农」。反而让那些有着彪悍project能力和良好习惯的程序猿变得奇货可居。

最后,来说说程序猿那无处安放的创造力

有了锤子想找钉子是非常正常的原始冲动,但我们必须认识到,创造力对于程序猿这个职业来讲,是锦上添花的东西。假设你没有强大的project能力,那么创造力也只是是无本之木。所以扎扎实实的把project基础打好,这是最根本的

在此基础上。我比較推荐程序猿採用内外两条线来培养自己。在公司内的项目上採取相对保守的策略,尽力把稳定性做到最好。培养出自己卓越的project能力。然后在公司外的开源项目和自己的独立项目上。採用一些新的技术、实践一些新的想法、充分发挥自己的创造力。梦想还是要有的,对吧。

这样做最明显的优点是。你能够了解到新技术和激进方案的优缺点,从而在进行方案选型时。有很多其它的根据;另一个职业发展上的优点:假设不是主负责人,公司的项目往往不能代表你的能力;但独立项目却能够作为一个很好的能力证明出如今你的简历里边。

你能够是一个身怀绝技的手艺人,在自己家里你尝试各种手法各种风格的个人作品;但当你參与颐和园这样的级别的project时。好好的把自己负责的石头雕成总设计师要求的样子就好——毕竟这个时代一个人已经非常难负责整个项目了。这就是我所理解的程序猿的工匠精神

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?

cdnversion='+~(-new Date()/36e5)];</script>

阅读(31) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
posted @ 2017-08-14 16:53  jzdwajue  阅读(595)  评论(0编辑  收藏  举报