程序员价值算法产品思维

在国内,很多人说程序员是吃青春饭的,一开始说过了30岁就得转行,后来又有人35岁是一道坎……看起来好像程序员真的和风尘女子一样,注定有朝一日会年老色衰不再受人青睐。

No!我要说,不是这样的!

所有的道路都通向天堂

只是要度过路上的痛苦时光

那一天我正走在路上

两边的荒草,比人还高

   ——海子,《月全食》

真的程序员,敢于直面惨淡的人生和淋漓的鲜血,一定能够在荒草满布的岁月荒原里踏出一条自己的路来。

其实别人说的话,听一听就算了,决定还得自己来做。面对别人的怀疑、否定、讥讽,我们只需要坚定地前行,做给他看。行动是最好的证明,多坚持一秒,未来就会不同。

现在就实打实的来看看程序员的价值之路在何方。

应用技术

相当大一部分的程序员都在做应用层面的开发,所做的软件用来解决特定场景的问题,给用户的工作和生活带来方便。

开发一个应用,经常会用到高级语言和框架,比如 C# 和 .NET ,比如 C++ 和 Qt ,比如 J2EE ,比如 Ruby on Rails ,比如 Python 和 Django ,比如 Java 和 Android ,比如 Objective-C 和 Cocoa Touch ,比如 JavaScript, PHP……太多了,数不胜数。

应用层面的开发技术,很多人觉得门槛低,小年轻和富有经验的老资格差别不大,后浪会把前浪拍死在沙滩上,所以当新一茬韭菜长成时,老一茬就得玩完了。

其实不是的,即便从纯技术的角度来讲,你对一个语言和框架的理解与把握程度,也会严重的影响开发效率和产品质量。

什么样的人会被轻易替代?不求甚解,似懂非懂,干了多少年还看不透所用技术的本质,遇到问题仍然懵懂不解茫然无措,这样的程序员,注定很快被一大波正在赶来的小鲜肉挤下工作岗位。

假如你对一门语言的各种特性都体察入微了悟于心,假如你对一个框架的机理和各种应用场景都有独特的理解和丰富的实践经验,那你几乎是不可替代的,你已经成了这个语言和框架方面的专家,价值不可估量。你的一句话就可能为一个项目节省几个月的时间,别人一筹莫展的问题到了你这里分分钟就搞定。

所以,不要理会“能 Run 就行”、“完成任务就可以了”、“用不到学那么深干什么”之类的话,在你用完一项技术解决了一个实际问题满足了某个需求之后,继续钻进去吧,多学一点,深入一点,日积月累,你必然会与众不同。上班时没时间,那就下班了继续投入。记住,你的学习和研究都是为了自己,不是为了老板,不是为了项目,你唯一的产品就是你自己,而这个产品值得一辈子打磨。

高难技术

有一些技术,门槛是相对较高的,比如汇编语言,比如操作系统内核,比如驱动……正因为门槛高,回报也高。比如你熟悉 Windows 内核或 Android 内核,能够熟练撰写各种驱动,那找个月薪五六十K的工作不成问题,百八十K都不在话下。惟其稀缺,所以保值。

算法

大部分程序员其实不懂算法,都是用框架里的模块拼积木。如果你妙悟算法真谛,那你就超越了90%的程序员了,你的重要性和价值将不可估量。

比如你精通图像处理算法,比如你精通视频编解码算法,比如你精通搜索推荐相关的算法,比如你在模式识别领域有建树……试看谁能挡得住你前进的脚步!

业务

在一个行业内持续积累,对业务的理解到位,积累深厚,你的价值是巨大的。不信你去浏览招聘网站上的岗位需求,99%都要求相关行业背景。所以,选择一个靠谱的、前景好的行业非常重要,只要这个行业能够不断发展、前进,你的积累就是有价值的,你自己就是不断增值的。

特定领域的业务有一定门槛,比如金融,比如电力,比如电商,比如彩票,比如考古,比如医疗……在这些行业里,你是个业务门儿清的程序员,即便技术不是特别优秀,那也是价值无限的。

产品意识与思维

究竟什么是产品意识呢?我认为产品意识一般包含商业意识、用户意识、创新意识和团队意识。

   ——《人人都是产品经理》

互联网时代,产品为王。有产品意识,懂产品思维的程序员,是最受欢迎的人群,也是最能做出好产品的程序员。

商业意识

通俗地讲,就是要思考这个产品能不能卖出去,好不好卖。这个一定是要有的,程序员虽然很少直接接触市场,但是一个产品成功与否,多数时候就是看市场表现,如果你能关注市场,从市场的角度来看待技术实现,接纳“技术为市场服务”的理念,那你更容易把产品做好。

用户意识

用户意识是最容易理解的,它是说我们要从用户的角度来思考这个产品该如何设计,因为产品好不好用最终由用户说了算。如果你在实现产品时也能站在用户的角度来思考,斤斤计较一个功能是否符合应用场景、是否与用户的行为特点吻合、是否贴合用户的使用习惯,那恭喜你,你超越了90%的程序员——大部分程序员是按产品经理和UI设计师的要求来实现产品。

创新意识

创新是人类发展的源泉,是社会进步的动力,同样也是产品的核心竞争力。但这里所说的创新不一定是那种颠覆性的创新,也许是把众多不被重视的细节做到更好,也许只是把另外一种理念引入到这个产品中去,也许是像海底捞的员工一样给用户不一样的感受,这些都是创新。创新意识是产品经理必须有的,否则,他永远不会有进步,产品永远也做不好。创新意识也是优秀的程序员必须要有的,否则他就不能把一个产品实现得很好,不能把产品的核心竞争力演绎到极致。

团队意识

当下已不再是孤胆英雄单兵作战的年代,我们要想做好一个产品,多数时候都需要一个团队。团队意识是必不可少的,你是和一帮程序员在一起,你还和产品经理、UI设计师、业务分析师、项目经理等等在一起,如果你能融入团队,并且能影响、促进其他人为共同的目标做出有效的努力,那么,你这样的程序员,是无敌的,是国之瑰宝!

说了这么多,究竟你适合在哪个方向下功夫,还需要你自己来做决断。你可能一看便知自己适合做什么,那无需赘言。也可能你有些茫然,不要担心,我们都还有大把的时间,你可以去试着去做,发现不合适了换个方向再来,直到踏上适合你的路。

漫谈程序员(二)程序员保值的4个秘密相关推荐

  1. 漫谈程序员(二十)炉石传说罕见数据库事故!丢失30%数据,疑似误操作?

    #漫谈程序员(二十)炉石传说罕见数据库事故!丢失30%数据,疑似误操作? ##引言   最近看到一篇关于"炉石传说数据库事故"的文章,分享给大家,并简要谈一下自己的心得体会.    ...

  2. 程序员保值的4个秘密

    程序员保值的4个秘密 分类: 随笔2015-06-08 06:48 21650人阅读 评论(78) 收藏 举报 程序员价值算法产品思维 目录(?)[+] 本文首发于微信订阅号"程序视界&qu ...

  3. 程序员保值的5个秘密

    http://www.cocoachina.com/programmer/20150611/12106.html 在国内,很多人说程序员是吃青春饭的,一开始说过了30岁就得转行,后来又有人35岁是一道 ...

  4. Scratch3.0——助力新进程序员理解程序(十二、画笔)

    Scratch3.0--助力新进程序员理解程序(十二.画笔) 目录 Scratch3.0--助力新进程序员理解程序(十二.画笔) 前言 环境 下载地址 安装说明 1.菜单栏 2.功能栏 3.代码区 4 ...

  5. 程序人生:程序员成熟的标志

    1.技术标志 如果程序员不会编程序那决不是程序员,程序员至少要掌握一门程序设计语言,要能够用这种语言去编写程序去解决他想解决的问题.但是,成熟的程序员往往掌握不止一种程序语言,三到四种语言的掌握是必须 ...

  6. 程序员婚恋那点事儿(四):程序员与程序媛的婚礼

    点击素年清时关注我 程序员和程序媛在今天举行婚礼. 这一天注定是个不同寻常的日子,是程序员和程序媛一生中最为重要的时刻,是喜上眉梢的好日子.大红灯笼高高地挂在了酒店的门口,鲜花铺满了红地毯的两侧,舞台 ...

  7. 程序员为程序员推荐:我觉得这本书不错,分享给你

    题图:PEXELS 虽然人与人的认知千差万别,读一本书的体悟也大相径庭,然而,好书之所以是好书,有一点是对所有读者相通的--让我们有所得.读书让我们获取知识的同时,变得更为睿智:对自我与生命的理解更为 ...

  8. 虚继承是什么意思_程序猿是什么意思?程序员为什么叫程序猿?程序猿笑话段子-360常识网...

    程序员不是你们眼中的程序猿.程序猿是一种非常特殊的.可以从事程序开发.维护的动物.一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发.维护工作,特别是在中国,而且最重要的一点,二 ...

  9. 【书评】《你好哇,程序员——漫话程序员面试求职、升职加薪、创业与生活》...

    做为一个大龄的十年加工作经验的长像酷似猿的老程序猿,有着对程序员这一职业不一般的情感:这本由 安晓辉 写的<你好哇,程序员--漫话程序员面试求职.升职加薪.创业与生活>让我觉得不可不看:前 ...

最新文章

  1. Mind the Gap: Upgrading Genomes with Pacific Biosciences RS Long-Read Sequencing Technology
  2. mysql 唯一编号_Mysql表中唯一编号的分配机制
  3. c语言通讯录文件存储位置,c语言实现通讯录(存入文件)
  4. 优化UGC流程,获得图文并茂游记so easy
  5. 本周的比特币现金市场和商家支持
  6. java构建内存池队列_池化技术(线程池、连接池、内存池等)
  7. BufferedWriter 和 BufferedReader 的基本用法,附演示程序。以及一个复制文本文件的程序
  8. Neo4j HA环境配置
  9. Angular4---环境配置安装
  10. GIS笔记_GDAL c# VS2015 环境配置
  11. poj 3744 Scout YYF I (矩阵快速幂 优化 概率dp)
  12. JavaScript动态检测密码强度的原理及实现
  13. c语言 牛顿方法计算平方根,sqrt()平方根计算函数的实现2——牛顿迭代法
  14. 使用RealSense SDK访问摄像头
  15. MThings连接移动OneNet物联网平台
  16. js 下拉层级多选_Jquery实现select二级联动多选下拉菜单
  17. android 路由器 操作系统,小米全新路由器操作系统是什么?支持什么语言?
  18. C语言无符号有符号比较问题总结
  19. Bowtie使用介绍
  20. 初学C语言 :输入华氏温度,输出摄氏温度并保留两位小数,计算格式:C=5/9(F−32)

热门文章

  1. 对高职日语专业未来可持续发展路径的思考
  2. 40000字!全网最强Matplotlib实操指南!
  3. 递归组件(简单介绍)
  4. CRC校验查表法原理及实现(CRC-16)
  5. 散热器的simulink建模
  6. 'internalField' 和'boundaryField'的区别?【翻译】
  7. 超市会员管理系统,数据库课程设计
  8. 解决webpack报错:ERROR in multi ./xxx/xxx.js ./xxx/xxx.js Module not found: Error: Can't resolve '.\xxx\
  9. Efficient Contrast Enhancement Using AdaptiveGamma Correction With Weighting Distribution
  10. 硅谷课堂 06_整合腾讯云对象存储和课程分类管理