‘壹’ 程序员上班聊微信、刷微博,会影响了工作效率吗
肯定会影响啊。聊微信,刷微博耽误的都是宝贵的时间啊,时间少了效率肯定就低了。
‘贰’ 程序员到底怎么了 如何成为一个合格的程序员
可是有一天,突然意识到,我们的未来在哪里, 每个月那点可怜的工资,一年加起来也买不了几平米,找个女朋友也那么难,即使找到了,她还总是跟你说,为什么别人挣的都比你多,你每天不停的写着代码,每天不停的掉头发,每天都在发呆的想那“不远”的未来。 他们管我们叫“码农”,我们管自己叫“程序员”,出差的时候被叫做“工程师”,我们到底是什么? 对于我自己,我只想告诉每个人,我不是一个程序员,I’m not coder。 程序员到底怎么了,我们当然不否认有很多出色的程序员,他们生活的好,赚的也多,可是毕竟大多数都还是一般水平,很多还是挣扎在基本满足吃住的水平。特别深的问题,比如国家社会问题(总有人会说我们的社会把我们搞成了这个样子),我这里不想谈,我来结合自己的体会来讲讲我所认识的一些程序员都在怎 样工作和生活。 (@程序员的那些事 微博配图) 我周围的程序员大都不喜欢程序员这个行业,总希望如果未来可能,一定要跳出这个圈,去做别的行业,有的说去做销售,有的说回老家开个小超市,有的说 的更是离谱。我不知道为什么他们都在这么说,原因在于我从未见过他们努力过,如果没有努力过如何知道这个职业就是没有前途的呢?工作的时候,他们大都在谈 论社会问题,昨天看了什么电影,谁也买了个iPhone,她的爸爸给她在北京买了套房子等等无聊的问题,后来他们谈论什么我就不知道了,我带上了耳机,畅 游在代码的世界里,享受着原来100行完成的功能,经过我重写,只要50行就能运行的比以前好,而且效率更高。第一个问题,程序员和其他行业一样,最起码需要一个态度。如果你连基本的态度都没有,不要谈程序员没有前途,以为每个行业对这样的人来说都没有前途。 我做完一个功能,演示给我的同事看,然后告诉他我是怎么实现的,以及这样做的好处是什么。他的一句话像一盆凉水一样泼在我的脸上,“你费这么大劲干 嘛啊,你不要想这么多,领导又看不见你是怎么设计的。”,“哦”。我很无语,也更不知道怎么答复他。听完那句话我彻底明白程序员没前途的原因了,和其他很 多行业相比,软件不容易发现问题,也许你做个特效,让一个东西蹦来蹦去反而得到领导的赏识,而你自己花费了很多自己私有的时间来设计的结构没有人会采用, 因为你的领导要向他的领导交差,他也希望能拿的出一点能看得见的东西。很多程序员被这样的领导强奸了,只做哪些表面工作来取悦领导,2,3年过后,发现自 己什么都不会了。也就看不见前途了,做那点破东西,可以让你得到一会儿的“赏识”,计算机是个技术活,需要技术和经验的积累。第二个问题,程序员的前途是程序员自己造就的,如果你觉得你现在没有前途,那只能说明你做的不够好。 计算机业界有很多好书,非常着名的书,比如《黑客与画家》、《Unix编程艺术》,我不想说《算法导论》这种书,因为它确实枯燥无比,我自己也从未完整的看过一遍。但是像《黑客与画家》 此类的书是不同的,它能打通你的思路,告诉你问题出在哪里,未来的方向在哪里。如果你想看看一个程序员的视野是否还算开阔,问问他是否听说过某本书,听说 过,那就还可以,说明自己懂点门道,如果读过,那就太好了,可以问问关于书中的一些观点,这里没有对或错,完全是自己的观点。我问过我身边的同事,读过这 些着作的人屈指可数,而读过的确实不一样,眼界比较开阔,不回局限在非常狭小的范围内,更不会跟你扯闲天。第三个问题,要多读书,读好书,而且不要只读一遍。读书应该像高中老师说的那样,从厚读到薄,从薄读到厚。 我去年认识了一个朋友,这个人三句话离不开写程序,我们吃午饭谈程序,我们在电梯里谈程序,只要我们在一起我们就讨论如何实现某个系统,如何然让这 个系统运行的更快,某个新技术的机制是怎样的,在什么情况下采用是比较好的选择。和他在一起待了3个月,我感觉自己的眼界比以前开阔了一倍。这三个月我感 觉每天都非常充实,完全没有了以前浪费生命的感觉,因为感觉每天都在补充知识,懂的更多了,更有信心了。第四个问题,如果你是个程序员,你必须认识一些在这个领域里比你强的人,并和他们交谈,去开阔眼界,去了解未来是什么样子的,哪怕只是听他们说,都能有很多收获。 公司来了个新同事,他还没有毕业,但是当我跟他讨论一些问题时,发现他知道的事情非常多,尽管技术不是非常好,但是他的方向很明确,而且基础知识掌握的非常好,比如位操作(读到这里的朋友,你能用你最熟悉的编程语言进 行位操作吗?)。有一次他遇到一个问题,我过去帮助他,偶然间发现他的一个文件夹,这个文件夹的名称是Daily Reading,里面都是一个个按照日期分好的文件夹,从他来公司的那天起,一直都记得很好,我简单的看了看,里面都是每天看了哪些网上的文章,以及他对 这些文章的一个总结。这种方式也许不是最好的方式,用一些软件可能更好,比如evernote,但是不是不得不说的是,他把自己曾经阅读过的资源都整理起 来了。第五个问题,你每天都会遇到问题,每天都会在网上查资料,或者查书,但是否总结过这些问题呢。总结,真的能让人进步。方式多种多样,比如写博客。 老板总说我没有计划,我也不懂的如何计划,老板说很简单,不需要太复杂,只需要一个excel文件,早晨来了以后,想想昨天的工作完成的什么样,今 天要做哪些工作,然后添进excel,把所有任务的背景色设置成红色的,代表未完成;下班的时候,完成的,背景色换成绿色的。第二天接着这样做。我跟一个 朋友说了这个方法,这个朋友立马要我把这个excel的模板给他,我顿时无语了,然后告诉他,没有模板。第六个问题,学会计划和安排。不需要太复杂,先从简单的开始,但是不要把自己局限死,再强大人都需要安排和计划,你应该听说过bug管理系统,它本身就是一种计划与安排工具,但是它更高级,你可以随时知道软件的bug。当你每时每刻知道自己需要做什么的时候,你的效率会是最高的。 做到这几点,我相信你就是一个比较合格的程序员了,记住,也只是合格而已。程序员不是没有前途,而是很多程序员葬送了自己的前途。 作者:李喆
‘叁’ 一个“熟练”程序员和一个“有能力”程序员谁更牛
一、宏观方面
一、 java。
要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)
工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您
对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经 了。
二、 设计模式。
其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代
码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。
但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?
三、 XML。
现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解
XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置
信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。
四、 精通使用一种或两种框架。
“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开
发使你可以省出很多的开发成本”。这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您
会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。
五、 熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了
更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出
身,您还需要补充一些数据库原理方面的知识。
六、 精通一种或两种WEBServer。
因为作为JAVA工程师,特别时
想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它
的资源,这往往可以节省很多时间和精力。
七、 UML。
您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队
中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但
却很重要。
八、 站在高度分析问题:
这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而
不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在
您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。
九、 工具。
您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对
ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧
二、微观方面
1.Core Java部分
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a.面向对象编程思想(封装继承多态接口)
b.字符串处理
c.java.lang包,java.util包等常用包
d.java异常处理
2.Java高级部分
a.Java I/O流
b.Java多线程技术
c.Java网络编程
d.Java Swing
后两项可以了解即可,如果项目需要可以深入研究
3.前端基本技能
* HTML + CSS网页开发
* JavaScript
* Jquery
* 浏览器兼容性 CSS hack(了解)
4.熟练使用JSP + Servlet进行开发
5.MVC设计模式,原理,以及相关框架,如Struts
6.SSH框架
7.缓存技术 session & cookie
8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式 ==
11.Java反射机制
反射的各种用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,环境变量
14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15.数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目
20.了解windows系统批处理脚本bat
21.了解HTML5,最好学习过
22.熟悉一种JS框架,如Prototype
23.J2EE原理 熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一门脚本语言,如python ,ruby
26.了解php/ asp
27.了解ftp协议及原理
28.熟练使用Junit测试,熟悉Mockito等测试工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
31.了解Flex(不学也没关系)
32.了解敏捷开发模式
33.工作流workflow至少用过一种,如OSworkflow,了解原理
34.使用过VPN了解其原理
35.熟悉jstl表达式和el表达式
36.熟悉webservice,WSDL,SOAP
37.图片处理,如图片上传,预览,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40.分页技术,最好自己实现过不仅仅是用过要知道原理
41.Java Mail
42.Java读写txt,excel,JXL技术
43.JVM原理,JVM内存管理,GC,Java堆栈池
44.熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程
45.UML建模工具Rational Rose等
46. 使用log4j
47.使用过开放Api如网络,腾讯街景,新浪微博等
48.页面静态化技术(伪静态页面)
49.报表技术,使用过报表制作工具,如水晶易表。
50.定时任务,如Spring batch ,学会自定义batch任务(不适用第三方工具)
51.了解uuid
52.b/s 和 c/s架构
53.正则表达式
54.了解jndi jms
55.ERP
56.UNICODE编码,乱码解决
57.开源网络编辑器,如ckEditor
58.二进制原理
59.使用过,了解过开源论坛框架,如discuzz
60.GWT,Closure框架
61.了解大数据,云计算
62.搜索引擎搜索技术
63.软件工程,项目管理
‘肆’ 一个在微博中走红的网络虚拟人物,出自程序员幽默的微博,那人是谁
扫地老太太
被誉为2011年首位网络红人的扫地老太太,出自博友“程序员幽默”的微博。1月3日,该微博上转载了一段文字:“据说在每一个互联网公司里,都有一个扫地的老太太。很偶然地,当她经过一个程序员的身边,扫一眼屏幕上的代码,会低声提醒对方说:小心,栈溢出了(特指计算机编程过程中出现的数据结构栈存放超过了其大小的数据)。”没想到,这段幽默的文字瞬间在网络掀起了一场想象力接龙。
此后,网友以此句式不断创造,以各行各业为背景,演绎出200多个神通广大的扫地老太太。漫画版也横空出世。网友“漫画成成”绘制了十多幅老太漫画,陆续发布在自己的微博上,在“定妆照”中,一身橙色衣服的扫地老太肩扛扫帚,金鸡独立站在电脑显示器上,做出胜利的手势。
这也引起了很多名人的关注,着名音乐人高晓松甚至为其写了一首名为《扫地老太太》的歌,迅速流传于网上。
‘伍’ 网传京东程序员猝死,本人辟谣,为何程序员猝死会引来这么大的关注
因为程序员的工资很高,而且他们加班很严重,他们属于当前的热门行业。
‘陆’ 阿里p8程序员年薪高达170万,如此高薪都要付出什么代价
作为一个年薪高达170万的程序员,相应的肯定要付出一定程度上的心理以及生理健康,同时还有与家人在一起的快乐时光,以及自己修养的好机会等等。前段时间996的工作模式在微博热搜居高不下,的确996的模式对在职人员们都有着极大的影响,不论是身体还是时间。 从心理健康来说,作为阿里的一名程序员,少不了竞争。因此心理的压力肯定是很大的。而现如今心理疾病也成为了各大公司职员的高发病。相应的,日常工作量带来的压力,于此同时可能还包含房贷车贷以及孩子教育费用的压力。这样长期的压力积压,会给其带来失眠等等一系列痛苦的事情。
‘柒’ 新浪微博自动注册软件,谁有
想免费的,那么基本上不可能,哪个程序员会有病给你免费开发,这类软件都不会便宜,免费的都是一些功能限制或者垃圾软件不更新的,我用的是易推微博助手,先说明,我是买的,不是托,你自己看看吧,同类产品现在来说就易推微博助手名气大点,据说淘宝上提供微博服务的都是使用的易推微博助手。
‘捌’ 深圳女程序员sexycyborg 的微博希望大家告知一下
http://sexycyborg.imgur.com/
‘玖’ it界5大女神程序员 和张功一样漂亮的还有谁
1、小米张功
小米张功和雷军的一张单位合照,引来大量吃瓜群众的围观。她在微博上的介绍也很简单“IT民工……苦逼码农,前端开发。”
小米张功看上去给人一种很清纯的形象。
2、语希范
结业于哈尔滨工业大学计算机专业,“手机”团队研制工程师之一,由于超高的颜值,被称为新一代“度娘”。
3、赵洁琼
哈尔滨理工大学计算机科学与技能专业本科结业后,变成人人网的前端工程师。
一组名为《这世界唯一的你》的相册在人人网走红,里面数百张照片都是同一个女孩。
赵洁琼清丽脱俗,不施粉黛的姿容,深深地撩动了不少宅男的心弦。
4、360三娘
360三娘平时短发凌乱、黑框眼镜。为了360年会,戴上了假发,精心化妆,妆后却直接逆袭成女神模样。看来程序员男同胞们还是好好珍惜身边的女程序员。
5、清宵
云栖社区首批女技术博主――阿里云资深研发工程师“清宵(花名)”
清宵作为“飞天”技术部的资深开发工程师,负责阿里云云存储的功能开发与稳定性,每天要面对数万行代码。为了保持身体健康,清宵坚持清晨慢跑。
在工作之外,读书与旅行都是清宵的最爱。
她曾表示,“我将读书看成是一种修行,坚持每天读书1-2小时,我的书大多数是技术书籍,是我获取知识的重要来源。”
‘拾’ 程序员应该关注哪些微博
程序猿应该关注各种微薄,然后自己山寨一个出来,你懂得