程序员到底怎么了,我们当然不否认有很多出色的程序员,他们生活的好,赚的也多,可是毕竟大多数都还是一般水平,很多还是挣扎在基本满足吃住的水平。特别深的问题,比如国家社会问题(总有人会说我们的社会把我们搞成了这个样子),我这里不想谈,我来结合自己的体会来讲讲我所认识的一些程序员都在怎样工作和生活。
(@程序员的那些事 微博配图)
我周围的程序员大都不喜欢程序员这个行业,总希望如果未来可能,一定要跳出这个圈,去做别的行业,有的说去做销售,有的说回老家开个小超市,有的说的更是离谱。我不知道为什么他们都在这么说,原因在于我从未见过他们努力过,如果没有努力过如何知道这个职业就是没有前途的呢?工作的时候,他们大都在谈论社会问题,昨天看了什么电影,谁也买了个iPhone,她的爸爸给她在北京买了套房子等等无聊的问题,后来他们谈论什么我就不知道了,我带上了耳机,畅游在代码的世界里,享受着原来100行完成的功能,经过我重写,只要50行就能运行的比以前好,而且效率更高。第一个问题,程序员和其他行业一样,最起码需要一个态度。如果你连基本的态度都没有,不要谈程序员没有前途,以为每个行业对这样的人来说都没有前途。
我做完一个功能,演示给我的同事看,然后告诉他我是怎么实现的,以及这样做的好处是什么。他的一句话像一盆凉水一样泼在我的脸上,“你费这么大劲干嘛啊,你不要想这么多,领导又看不见你是怎么设计的。”,“哦”。我很无语,也更不知道怎么答复他。听完那句话我彻底明白程序员没前途的原因了,和其他很多行业相比,软件不容易发现问题,也许你做个特效,让一个东西蹦来蹦去反而得到领导的赏识,而你自己花费了很多自己私有的时间来设计的结构没有人会采用,因为你的领导要向他的领导交差,他也希望能拿的出一点能看得见的东西。很多程序员被这样的领导xx了,只做哪些表面工作来取悦领导,2,3年过后,发现自己什么都不会了。也就看不见前途了,做那点破东西,可以让你得到一会儿的“赏识”,计算机是个技术活,需要技术和经验的积累。第二个问题,程序员的前途是程序员自己造就的,如果你觉得你现在没有前途,那只能说明你做的不够好。
计算机业界有很多好书,非常著名的书,比如《黑客与画家》、《Unix编程艺术》,我不想说《算法导论》这种书,因为它确实枯燥无比,我自己也从未完整的看过一遍。但是像《黑客与画家》此类的书是不同的,它能打通你的思路,告诉你问题出在哪里,未来的方向在哪里。如果你想看看一个程序员的视野是否还算开阔,问问他是否听说过某本书,听说过,那就还可以,说明自己懂点门道,如果读过,那就太好了,可以问问关于书中的一些观点,这里没有对或错,完全是自己的观点。我问过我身边的同事,读过这些著作的人屈指可数,而读过的确实不一样,眼界比较开阔,不回局限在非常狭小的范围内,更不会跟你扯闲天。第三个问题,要多读书,读好书,而且不要只读一遍。读书应该像高中老师说的那样,从厚读到薄,从薄读到厚。
我去年认识了一个朋友,这个人三句话离不开写程序,我们吃午饭谈程序,我们在电梯里谈程序,只要我们在一起我们就讨论如何实现某个系统,如何然让这个系统运行的更快,某个新技术的机制是怎样的,在什么情况下采用是比较好的选择。和他在一起待了3个月,我感觉自己的眼界比以前开阔了一倍。这三个月我感觉每天都非常充实,完全没有了以前浪费生命的感觉,因为感觉每天都在补充知识,懂的更多了,更有信心了。第四个问题,如果你是个程序员,你必须认识一些在这个领域里比你强的人,并和他们交谈,去开阔眼界,去了解未来是什么样子的,哪怕只是听他们说,都能有很多收获。
公司来了个新同事,他还没有毕业,但是当我跟他讨论一些问题时,发现他知道的事情非常多,尽管技术不是非常好,但是他的方向很明确,而且基础知识掌握的非常好,比如位操作(读到这里的朋友,你能用你最熟悉的编程语言进行位操作吗?)。有一次他遇到一个问题,我过去帮助他,偶然间发现他的一个文件夹,这个文件夹的名称是Daily Reading,里面都是一个个按照日期分好的文件夹,从他来公司的那天起,一直都记得很好,我简单的看了看,里面都是每天看了哪些网上的文章,以及他对这些文章的一个总结。这种方式也许不是最好的方式,用一些软件可能更好,比如evernote,但是不是不得不说的是,他把自己曾经阅读过的资源都整理起来了。第五个问题,你每天都会遇到问题,每天都会在网上查资料,或者查书,但是否总结过这些问题呢。总结,真的能让人进步。方式多种多样,比如写博客。
老板总说我没有计划,我也不懂的如何计划,老板说很简单,不需要太复杂,只需要一个excel文件,早晨来了以后,想想昨天的工作完成的什么样,今天要做哪些工作,然后添进excel,把所有任务的背景色设置成红色的,代表未完成;下班的时候,完成的,背景色换成绿色的。第二天接着这样做。我跟一个朋友说了这个方法,这个朋友立马要我把这个excel的模板给他,我顿时无语了,然后告诉他,没有模板。第六个问题,学会计划和安排。不需要太复杂,先从简单的开始,但是不要把自己局限死,再强大人都需要安排和计划,你应该听说过bug管理系统,它本身就是一种计划与安排工具,但是它更高级,你可以随时知道软件的bug。当你每时每刻知道自己需要做什么的时候,你的效率会是最高的。
做到这几点,我相信你就是一个比较合格的程序员了,记住,也只是合格而已。程序员不是没有前途,而是很多程序员葬送了自己的前途。
(转自: http://developer.51cto.com/art/201206/341162.htm)
分享到:
相关推荐
#9非计算机专业可以入门程序员吗?
如何面试一份PHP程序员工作? How to interview a senior PHP developer
老刘心语#14如何获得程序员思维?如何从程序的角度看问题?
标题 "你是合格的程序员吗?—合格程序员应该具备的12种能力" 指向了一个讨论合格程序员所需技能的主题。在这个行业中,成为一个优秀的程序员不仅仅是掌握编程语言那么简单,还需要一系列综合能力。以下是对这些能力...
20-考官面对面:我是如何面试程序员的?.pdf,这是一份不错的文件
在IT行业中,程序员是至关重要的角色,他们负责创建和维护软件、应用程序以及各种技术解决方案。那么,什么样的人适合成为程序员呢?程序员应具备哪些素质?同时,又有哪些禁忌需要避免呢? 首先,程序员需要耐得住...
这个问题还真没去想过,想起这个问题是因为上上篇文章《网络行为审计系统的性能优化》的评论里有位姓卢的网友留言: “您也能算是真正的程序员?” 要回答这个问题,就要首先搞清楚一个定义:真正的程序员是什么?...
“您也能算是真正的程序员?” 要回答这个问题,要首先搞清楚一个定义:真正的程序员是什么? 使用google一查,对这个定义的回答还真多,例如: (一)《国际:如何识别真正的程序员》: 1,激情。2...
你是优秀程序员吗?如果有人要你推荐一名优秀的程序员,你会想到谁?你认为你自己是吗?你的评判标准是什么? 如果有人要你推荐一名优秀的程序员,你会想到谁?你认为你自己是吗?你的评判标准是什么? ...
编程有超级程序员吗?超级程序员神话.上周我收到了一份邮件,一份让我心绪不宁的邮件。邮件的作者基本上认为我在博客里和Pluralsight视频节目里谈论的都是非常浅显的话题,但发现我却虚伪的倡议面试内容应该设计的...
如何成为优秀的程序员?请看程序员的10层楼
你是真正的程序员吗?我们积极的对外招聘已经有四个多月了,如果要问从这次经历中有哪些收获,我只能说,我终于明白,JeffAtwood在FizzBuzz这篇文章里说的并不是玩笑话。(译者:这篇文章里说程序员不会编程)。在新...
如何成为高级C++程序员?小编感觉很不错,好东西要分享,希望大家喜欢!
程序员在工作中被打扰会面临严重的影响,这是一个在软件开发领域公认的问题。程序员在解决复杂的编程问题或者进行深度编码工作时,他们的大脑会进入一种被称为“心流”的状态。心流状态是一种极度专注的心理状态,在...
你今年大学毕业吗? 找到工作了吗? 写程序吗? 以后, 老了, 还是程序员吗? 你还能做程序员吗?
目前ChatGPT的水平,还只能是给出一段功能性的代码,能提高程序员的工作效率,对于程序员有一定的辅助作用,但它是没有办法根据需求生成整个系统的,更不用说安装运行环境,调试,测试之类,而对于高级或者资深一点...
然而,有些人对于这种技术的发展感到担忧,尤其是低端程序员。他们担心,随着CHATGPT等人工智能技术的普及和成熟,他们的工作岗位会受到影响,甚至会被淘汰。那么,面对CHATGPT的出现,低端程序员应该怎么办呢? ...
程序员的工资越来越高,Java软件工程师是其中招聘量最大的一个。如何才能成为一名Java程序员?一、大学学相关专业;二、找专门的IT培训机构学习;三、自学。今天我们就来说说如何自学成为拿高薪资的Java程序员。