文档章节

怎么成为一个优秀的程序员,而不是一个优秀的码农?

苏宁公有云
 苏宁公有云
发布于 2015/09/02 17:43
字数 2337
阅读 874
收藏 16

啥是优秀程序员?

记者和很多网民说熊猫烧香作者是高手

公司里你出什么bug他都能告诉你原因用什么软件有问题他都能回答你的你就觉得是高手

有人说徒手做产品的全栈才是高手

各语言的作者都是高手

有不写代码,扔出一个restful论文的

还有人说高德纳是神,他如果是神,那他那些代码一定是在考验我们,嗯

。。。。

上面这些的确都算是高手,我琢磨着前两年被开掉的moto公司员工里肯定也有做功能机的高手和写廉价板驱动的高手


你想自己选自己的方向还是被人忽悠方向?

我的想法是自己都尝试玩玩,然后做自己喜欢的方向。当然,程序员的生态金字塔是上面做工具、基础设施给下面人用来给普通人编程序,所以你选方向可以参考一下这个金字塔模型


方向定下,然后就是做事了,一大误区就是 【追求最好的东西】,于是非得弄清楚:

  • php是最好的语言吗?

  • OpenGL比directx差吗?

  • 程序员要先学数学吗?

  • 最好的c语言书是谭浩强写的吗?

  • 放屁要先脱裤子吗?

  • linux发行版那么多该选哪个?

  • 某大牛说IDE不如编辑器

  • 听说黑客都是用记事本写程序的

  • C#是升调记号应该读csharp而java不应念 [加wa(轻声)]

  • 。。。


如果你是一个*nix世界的玩家的话,你应该知道有一个jargon来上面的毛病,叫yak-shaving,我以前提过几次yak-shaving,但是很多人看不懂,它的字面意思是Any seemingly pointless activity which is actually necessary to solve a problem which solves a problem which, several levels of recursion later, solves the real problem you're working on.

但一般都引申其意使用它,我这里举例一下:

你本来要打开软件写一个helloworld,软件提示你升级,你点了升级,提示你xx库不够新,然后你更新xx库,提示你要升级yy驱动,然后你升级yy驱动,系统告诉你要编译这个驱动,你必须下载s.f版本的编译器和库,你更新编译器,系统说s.f版本编译器必须在e.n系统上运行,然后你就升级系统了,几个小时过去,你发现系统升级导致了几个软件损坏,然后你更新那些软件,去找解决问题的方法,不知不觉到了半夜,你累成了狗,却发现问题还有一大堆,而helloworld也没写成。。。。


这些问题我都遇到过,我的建议是挑一本大牛说的书就是了,看会了其他也会了。当然,如果你不幸不认识大牛(都上知乎了只要会搜索这种事情不可能发生),或者单纯好奇——就像我当年那样的话,那就每种都试试,不过有的答案你自己知道就好,像是编辑器emacs比vim更好,写程序ide比编辑器更好这种话,你是不应该乱说出来的。

对了,像是不同范式的编程语言、不同的开发环境是应该尝试体验一下的,不过这种建议书上都写了,我这里说显得有些废话了。


所以说,不能被无关的东西弄偏了目标,要专注,坚持。

等你学深了一门语言,就算是学另一们其他范式的语言也不会太难,你学会了opengl,dx也就看看就能写了。


你看看武侠小说里,段誉就是一个傻逼,仗着有时发出有时发不出的脉冲波和绕圈圈就能快跑直线的bug技就加上一门佛学能独步武林最终迎娶了白富美,出任了CEO,走向了人生巅峰,乔峰永远是一招降龙十八掌,更夸张。而慕容复文武双才,基本精通天下武学,每天读书4时辰练功4时辰,论用功谁能和他比啊。。。可到了30多岁还是一事无成,pk连段誉这种新手都搞不过,最后被人抢了老婆,就是因为方向不对,而且太不专注了。

所以求多不如求专,深度到了,再花20[[[[[%]]]]]的时间去扩展一下广度即可。



以上东西你都做好了,要花个2年时间的样子,对于学生来说,如果你有一个好的学校背景,人生可以就此扬帆起步了

但这不是终点,俗话说人靠衣装,美靠包装。包装是门学问,这里的包装不是让你西装领带亮皮鞋黑丝套裙白衬衫整一个营销狗hr的造型,是说专业技能上的包装。


为什么这是最重要的部分呢?因为别人一般不和你说这么多,尤其是懂得包装的人,更不会传你这些不传之秘啦。。。。。


包装自己的第一步是提高实力

没有实力的包装那是空中楼阁,只能靠每天日常搞外包的忽悠架构大数据云计算过活,明眼人也能看出来,所以纯属作秀,没有意义。

在某个领域(编译器、虚拟机、开发架构、前端。。。)成为专家(专家的定义嘛,,我的理解是能在简历里写精通)后,包装的实力就算具备了。


包装的第二步是定位

提到美国会有一大堆人跳出来说是人类的希望民主的大救星,提到google就是最纯的技术公司不作恶、软件业的翘楚开发界的标杆、心美人美白莲花。。。哪怕你列举google卖假药、恶意打压yelp、挟持web标准等等等等这些事,他们也会说百度更差(咦这不5角钱常用的语句吗怎么被民主进步人士盗取了?。。。),可我根本没提到百度好吗。。。

这全是包装造成的,所以包装的巨大威力,以此可窥之。


google是搜索引擎,百度难道也说自己是搜索引擎?不,百度说自己是最懂中文的搜索引擎。。。哈哈哈,你别笑,这的确很管用,就像google说自己不作恶是好女孩一样。


程序员的包装定位,无非稀缺和独特这两点。物以稀为贵,稀缺就是要做到不可替代,这很好理解,比如你知道世界第一高峰是珠穆朗玛峰,如果没看过禅师精选集你很难知道第二高峰是乔戈里峰,但文青特别偏好乞力马扎罗山,不爬不跟你结婚,为啥?独特性嘛。。。我不跟你比高,我和你比文化底蕴,于是就赢了。


由于你有实力,所以你应该尽量把自己的实力包装成稀缺属性,你是专家嘛。。然后你实力多,应该把独特的实力包装出来,避免和他人共同曝光,以免被人压在身下。


我说一个我朋友包装自己的故事,他进公司接手了一个项目,已经是被隔壁组开发了3,4个月的一个软件,其实这软件2个月也能做好的,但是隔壁人忙而且也不上心,不熟悉这个技术,加上又不是自己的老板,所以做事拖沓了那么久才做好。他接手后一刻没闲,晚上带回家也做,做到半夜,10天做成,然后整个公司的人都知道他的名字了,他也就立稳脚跟了。

这个包装的主题是,技术实力强,开发速度快。


包装的第三步是推广

推广就是让人知道你做得好,强化你的个人品牌,可以用博客、知乎、mailing-list、github等,通过写文章、参加线下聚会演讲、回答问题、帮助他人等方法。这个用好了是门学问,用不好就是装逼,不展开了。。。

记住不要匿名,匿名你基本啥也得不到


有人明明技术实力强,但是由于没有包装好,或被埋没了才能,或被贴上了各种不应该有的标签,或被人偏见看待。比如 赵劼 的c#和 vczh 的微软标签

有人明明实力一般,但是善于鼓动小白,包装得好,所以有一批忠实粉丝,这种人我都不太敢说名字了,呵呵。。

所以优秀的程序员应该善用包装啊


© 著作权归作者所有

苏宁公有云
粉丝 6
博文 17
码字总数 11995
作品 0
南京
产品经理
私信 提问
加载中

评论(3)

苏宁公有云
苏宁公有云 博主

引用来自“纠结名字”的评论

原创还是转载?
转的。
西夏一品堂
西夏一品堂
一样,都是屌丝
纠结名字
原创还是转载?
作为程序员遇到一个瓶颈期,觉得自己没有进步了,怎么破?

  本文需要5分钟左右阅读完成,建议收藏以后阅读,里面都是干货,可以亲自试验一下,如果觉得好用可以帮忙点赞转发一下,谢谢!交流学习java大数据可以加群460570824。   那么在入行之前...

java分享
2017/12/17
0
0
复制:为什么你说“就差一个码农了”,我们是拒绝的

原文:http://blog.jobbole.com/86878/ 根本原因是90%这么说的人不懂技术,不了解行业,把技术实现想太简单,以为编程就是打字。 本文分开来说包含以下四个方面:不尊重程序员、不只缺一个、大...

zhchl2010
2015/12/29
104
0
优秀开发者必备的四种品质

你觉得你自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,你具备哪些优秀的品质?好的开发者和差的开发者区别在哪里?经验?技能?还是天赋?如何才能成为一...

虫虫
2012/03/12
5.5K
19
程序员总会遇到一个瓶颈期,觉得自己没有进步了,该怎么解决?

本文需要5分钟左右阅读完成,建议收藏以后阅读,里面都是干货,可以亲自试验一下,如果觉得好用可以帮忙点赞转发一下,谢谢!交流学习java大数据可以加群460570824。 那么在入行之前我们就应...

专业大数据
04/01
0
0
【开源访谈】华为 SCEF 产品软件架构师姚磊:如何成为一名优秀的软件架构师

随着软件行业的发展,软件人才的队伍不断壮大,但同时新老交替的速度也在不断加快,让很多技术人员开始有一种危机感。在这种大环境下,从事更高层次开发构架工作的软件架构师成为令人向往的角...

OSC源创君
2017/06/07
3.8K
20

没有更多内容

加载失败,请刷新页面

加载更多

基于Spring Boot2.0.2版本--SpringBoot整合Quartz调度框架

一、引言 定时任务调度是Java开发中不可或缺的重要部分,但是Java自带的Time等任务调度类在实际项目中不好用。所以Quartz和Spring Task就成了我们项目开发技术选型最多的,在这里我们着重探讨...

修改bug工程师
22分钟前
28
0
hbase查询速度优化

优化思路 1.构建良好的索引 2.查询时只查需要的字段 3.java使用habse原生方式链接hbase spring集成的hbase链接和查询方式 @Configurationpublic class HbaseConfig { @Bean publi...

qiaoaniu
22分钟前
27
0
Python3 +scrapy爬虫识别验证码(二)点触验证码识别

感谢作者分享-http://bjbsair.com/2020-04-07/tech-info/30742.html 点触验证码主要有点击文字或者点击图片,例如 如何通过点击图片当中的文字或者图片进行识别呢?那么这里介绍一下超级鹰平...

曹长卿
24分钟前
24
0
Jackson deserialize using generic

某度找出来的实在惨不忍睹,还是记一下吧. 用jackson 把 Json string 转换成 java object 大家都会,比较简单. 怎么转带泛型的类呢,头一遭儿. 参考链接: https://stackoverflow.com/questions...

园领T
24分钟前
19
0
学习Tomcat - 类加载器

Servlet规范定义的类加载顺序 在Servlet规范中有对web应用程序类的加载方式作出建议,重要的有两点: 容器要加载某个类时,类加载器首先应该加载本地web应用程序中“WEB-INF/classes”路径中...

閒散人員
26分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部