对程序员职业的一些建议

自从四年前被CSDN采访后(“职业规化就像软件工程”),经常会有网友(尤其是刚毕业的)写邮件来问我一些程序员职业生涯的一些问题,至到今天。比如,国企还是外企的选择,一直编程有没有前途等等问题。面对这样的邮件,我感到有很大的压力,因为如果我的回复很有可能会误人一生,但我另一方面又很想帮助这些人。所以,我基本上还是会尝试回一下这样的邮件。昨天,我又回了一封。但是我心里还是有点忐忑不安。害怕说错了什么。

今天,我想把我的一些思路和建议写在这里,一方面供大家参考,另一方面也想听听大家对我的评判,这样不但对更多的人有帮助,同时对我自己也是一个帮助。

下面是某网友前天给我发来的邮件:

我是一个刚刚毕业的大学生,我觉得自己对于程序员这个行业感到很迷惘,所以发邮件打扰您一下,麻烦了。

我今年正在找工作,我现在有几家国企的offer,百度的offer还在等待,我觉得第一份工作对我来说很重要,因为第一份基本决定了近几年或者一辈子你在哪个行业发展。家里人都是希望我签国企,但是我自己对技术很感兴趣,一直希望能在技术上面走下去,签国企虽然很轻松但是我总觉得在技术上学不到什么有用的东西,所以我个人倾向是去百度。

我现在很迷惘的是,如果我一直在程序员这个行业上走下去,以后的出路应该是什么呢?还是一直到高级工程师,还是项目管理这种程度吗?

我现在听很多人在说程序员必需要转行,因为一辈子在编写代码,没有什么好的出路,对于这点,您有什么看法吗?我现在才刚刚从学校毕业,对IT这个行业也不是非常了解,但是我觉得自己自学能力很强,而且确实很想学些东西,你对于一个刚刚毕业的计算机学生有什么建议吗?

信件的内容我没有改变,我相信很多人都有相似的问题。我昨天给这们朋友回复了邮件,下面是我回复内容的一个整理。欢迎大家讨论。

首先,我想说的是,这些东西只是我根据我的经历给出的建议,仅仅供大家去参考你的路你的人生要你自己决定,不要轻易的让人帮你决定,那怕是你的家人

如果我们把所的问题一起谈,那怎么说也说不清楚,所以,请允许我“关键点分离原则”来分开说说。

 

一、对技术的热情

如果我们喜爱编程,喜爱技术的话,那么,我们就会投入热情,自己会去专研很多东西。就像你以前对某个东西痴迷一样,你可以在工作之余还在学习和专研这些东西,你会经常和人讨论这些东西。不知道你是否会和我一样有一种感觉,如果你不学习技术,你不去专研,你就怕被淘汰,你就会感到不舒服。

所以,我们一定要问我们自己一下,我们自己喜欢技术吗?喜欢技术到什么程度。只是感兴趣还是喜欢?这两个不一样。兴趣能让你开始让你执着,但只有喜爱才会投入热情,只有投入热情才可能会出成绩。这个问题你要问问自己。

你有多大的热情在这个事业上?你对你自己的自我价值的实现的诉求有多大?

如果你很有热情,可能到了有些痴迷的程度的话,比如,你会因为专研某个问题,学习某个东西,尝试某个东西,达到废寝忘食的程度,而且以些为乐,那么我非常建议你走技术的路线。

二、对技术的能力

有兴趣,有热情,并不代表你就一定行。你需要很清楚地认识到,你还需要有能力(我在《再谈“我是怎么招聘程序员”》一文中说了程序员的四个事,操作技能,知识,经验,和能力,大家可以去看看我对“能力”的定义)。你需要反思和重审一下自己是否有能力,你的学习能力怎么样,是经常需要问人,还是可以自己专研?你的思路怎么样,是否能被有经验的人认可,还是能够影响别人?

兴趣和热情只能让你很执着,但并不一定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路。希望大家能够清楚地认识到这其中的差别。

所以,你一定要对自己做出一个判断,要学会反思,如果你是有能力的适合走技术路线的人,那以我非常建议你走技术路线。

我也尝试创过业,但我觉得我这种人是“谋士”,不是能攻城拔寨的“将军”,创业更需要的是“将军”,我目前只能是一个辅佐他们的“谋士”,所以,我也只能尽力能成为一个级别高点的“谋士”。

三、再说说工作的事

我比较同意的”第一份基本决定了近几年或者一辈子你在哪个行业发展”,但又有一点点不是很同意。因为我毕业的时候,在银行混了两年,然后又去一个国企业呆了2年。所以,第一份工作并没有影响我的职业。但是,我必需承认——当我从银行出来的时候,我落后了,落后了还很多,我花了近5-6年的时候才把这个差距追了回来。

所以,我有几个观点想告诉大家:

 

第一份工作并不决定你的人生。因为你可以在2年内换工作。但是你头四年的做的事会对你的职业有影响。这里,我有两个案例分享一下。(我不用说太多了,相信大家自己能体会)一个是我的同学70后,他以前是程序员,干了5/6年后不想干了,想转行,结果转不了,因为他的工作经历让他很难转行了,他问了一下自己是否愿意和那些刚毕业的80后拿一样的工作一起竞争,最后他自己都不愿意。后来,他去读了MBA,现在还做IT,现在做一些业务咨询方面的工作。不能算失败,但是时间浪费了。还有一个是我的同事,她CS专业毕业想做程序员,但最后为了进一个好的公司只能做QA,现在4年多了,她很想很想做dev,但是却抱怨工作没有给她这样的机会,4年多的QA经验让她很难成为Dev了。我从她做QA一年的时候就在和她说,如果你想做Dev,你就要有技术储备,多和dev在一起工作,QA又怎么样,如果我能读Dev的代码,我总有一天会成为Dev的。事实证明,她对技术并没有太多热情。现在也只能得过且过了。如果你觉得自己在技术有自信有热情,而且已经有一些成绩了,我强烈建议你去IT公司中锻炼,越尊重技术的的IT公司越好。就像打球一样,只有和比你厉害的人一起玩,你才会得提高。如果你对技术的热情一般,也没有太多的自我价值的追求,也不想拼搏,而且对吃大锅饭不反感,对没有激情的工作不反感的话,那么,你应该去事业单位,当个公务员,走走常规则的人生,养养老也不错。这里,我多说一句,根据中国的现在国情来看,如果你有自我价值的诉求,你要去大城市,去好的公司,走体制外的路线,如果你又不想来大城市 ,只想呆在地方的话,那么,我个人非常建议你走体制内的路线,在地方,只有体制内的路线是最好的。千万别去一些没有前途的小公司(要去小公司你得看看这个公司的人和业务),很多不起眼的小公司现在都变大了,能和一个公司一起成长是相当难得的(我现在就特别想要这方面的经历),现在这个社会,与其去那些很难成长为大公司的小的很不规范的公司,还不如自己创业。(更新2011/4/26@islet8 回复中的观点可能比我的更好——“我觉得第一份工作能尽量进大公司的确是有好处的,能够帮你建立起一套规范的、成熟的工作习惯了思维方式,经过一两年(在激情还没被磨灭之前)再挑一个靠谱的、能赌上自己前途的小公司(比如同事朋友等推荐过去的或是他们联合创立的)一起成长一遍,无论公司的成败,对个人来说,那都是成功了”)四,技术可以做多长

在这里,我用我自己经历做个例子,我在软件编程上有14年了(加上大学里的项目就有16年了),虽然我今天是经理了,但是我还是喜欢编程。我以前也听到过别人说的——做技术太辛苦,没前途。我并不这样觉得,因为我觉得技术是实实在在的东西,很实在,这让我很踏实,踏实的感觉得好。因为,

我个人觉得真正的稳定是,今天我离开 这个公司,我明天就能找到相应的工作。如果我的工作不成问题了,那么我就可以从谋生上升到事业的层次来。只有到了事业这个层次,我才能有所建树。

另外,我觉得说出来的那些话的人要么就是“小猫钓鱼”的那些人,要么就是短视的人,你可以问问他们,哪个非技术的行业有前途,然后你去问问从事那个行业的人怎么样看?我15年来都在编程,虽然走了一些弯路,但是我很感谢那些中途退缩者,是他们让我这15年变得更有价值。15年从事同一个件事,这让我很有竞争力。有了竞争力,我的工作才不会是一个问题,我才能上升上事业的层次上来。

当然,如果你发现你不适合,你无法坚持,那么我建议你还是想清楚,别的行业你能坚持吗?我们不害怕转行,害怕的是自己对自己缺乏认识,害怕的是小猫钓鱼,害怕的是一山望比一山高

五,待遇和职位

比如你的职位,薪水,福利,等,我从来都不是很关心这些东西,这些都是次要的(其次重要的),最重要的是你的能力和经历,是那些可以写在你简历上的,让你引以自豪的经历和能力。(一定要自己引以自豪)。而你的职位,薪水,只不过是你能力和经历的附属品

把自己对待遇和职位的那个目标放在心里,踏踏实实做好今天的事,炼好自己的内功,注重经验的积累和总结,等待一个能让你量变引发质变的机会,用你的能力抓住它不要放手,你会发现你的路就在前方,通往这条路的门不知不觉已经开了。功到自然成,水到渠成。

以上是我的一些建议,不一定对,其可能因为我的个人经历有局限,还希望听道大家的讨论和指点。

转自 http://coolshell.cn

Web开发人员应当收藏的10个网站

互联网上有数百万的网站可以提供服务,其中只有一些对Web开发员来说是极为有效的工具。在本文中,Jean-Baptiste Jung整理出了10个极有用的网站,绝对值得Web开发者收藏到书签中。

1. Mysql Format Date

通过MySQL DATE_FORMAT 函数,可以格式化日期。只需选择一个常用的日期格式,将它更改为适合自己的格式即可。MySQL DATE_FORMAT 的代码会在页面底部生成,你可以直接复制。

http://www.mysqlformatdate.com

2. Script Src

在网上搜索适合自己的Javascript库最新版的脚本标签,你是不是厌倦了呢?ScriptSrc.net将最新版本的jQuery、Mootools、Prototype等收集整理到一个网页中,你只需要在浏览器的剪贴板中点击即可复制。

http://scriptsrc.net

3. Em Chart

我不太喜欢ems和CSS文件,但是有时必须与它们打交道。在这种情况下,Em Chart将ems转换为像素,让您既节省时间又减少麻烦。

http://aloestudios.com/tools/emchart

4. Twitter API Explorer

如果你在你的网站上使用Twitter的API,你肯定会喜欢这个非常方便的网站,它可以让你搜索到很多东西。 更妙的是,这个网站可以生成可直接使用的代码片段。既能为您,也能为您的客户节省时间!

http://twitapi.com/explore

5. Browser Sandbox

跨浏览器兼容性肯定是Web开发人员在日常工作中要面临的重大问题之一。 浏览器沙盒可以让您从任何网站跳转到Windows浏览器。唯一不好之处在于你必须运行在Windows系统里。这个应用程序不能在苹果机和GNU/Linux操作系统中使用。

http://spoon.net/browsers

6. PHP Forms

Web表格是网站最重要的部分之一,但创建起来也非常耗时。那么,用一个可以免费加速表格开发的网站,这怎么样呢?

PHP Forms网站允许你创建适合大多数网站的需要的高级表单。

http://www.phpform.org.htaccess

7. .htaccess

任何网站都应该拥有一个.htaccess文件。不知道怎么写?没关系,只要访问这个网站,通过使用向导便可以创建.htaccess文件。这个网站不要求非常先进的东西,但其结果95%会适合你的网站。

http://www.htaccesseditor.com/en.shtml

8. Smush it!

众所周知,图像要胜过千言万语,但会占用大量的带宽。可以使用Photoshop来优化图片,但是如果你没有该软件或根本不知如何怎么做,smush.it就是你所需要的。

Smush.it是一个在线工具,它可以缩小图片尺寸,但不会降低图片质量。对于WordPress的用户,它是一个非常方便的博客引擎插件。

http://developer.yahoo.com/yslow/smushit/

9. CSS Compressor

特别有在许多页面布局的网站上,CSS文件会占用服务器的大量带宽。这个名叫CSS压缩机的工具,能通过删除注释、缩进等手段来直接缩小CSS文件。更妙的是,压缩级别可以按您的需要配置。

http://www.csscompressor.com

10. Test everything

这个网站是一定要收藏的。正如它的名字一样,“Test Everything / 万能测试”可以测试很多东西,如XHTML和CSS标记,网页级别,返回链接等等。

http://tester.jonasjohn.de

12个Icon图标资源网站

1.除了Icon以外,还有很多不错的UI设计素材。

地址:http://worldui.com/

2.除了免费Icon资源下载以外,还提供Icon定制的付费服务。

地址:http://dryicons.com/

3.很喜欢这个icon资源站的展示方式。

地址:http://www.icotrip.com/

4.Icones.pro,icon资源站,每日推荐的Icon资源还不错,可以按照浏览数,下载数等查看Icon资源。

地址:http://icones.pro/

5.IconPNG 共收录 21372 个 图标icons 和 416 个 icon 图标系列。

地址:http://www.iconpng.com/

6.FindIcons.com就是一个帮您找免费图标的图标搜索引擎。有3000多套图片集和30多万个免费Icon资源。

地址:http://findicons.com/

7.IconFinder是我个人最喜欢的一个Icon资源站,拥有152,466 icons以及775 icon集,强烈推荐!

地址:http://www.iconfinder.com/

8.EasyIcon:拥有超过40万个Icon资源,完全收录Open Icon Library 11,489个图标。

地址:http://www.easyicon.cn/

9.Incoarchive对于Icon的分类做得较好,目前约有253,428 icons以及 1,348Icon集。

地址:http://www.iconarchive.com/

10.SoftIcons也是我很喜欢的一个Icon站,其最大的优点在于用户下载Icon集:)

地址:http://www.softicons.com/

11.Icon资源搜索引擎,资源还比较丰富。

地址:http://www.iconlet.com/

12.一个设计感不错的Icon资源站点

地址:http://icon.io/

 

摘自:瑞克互动

在浏览器中使用“Linux 操作系统”

大家在PC、服务器、Mac以及在虚拟机上使用 Linux 都已经是非常熟悉了。但是你在Web浏览器中使用过 Linux 吗?可能你看到这里并不相信在浏览器中也能使用 Linux 吧,其实我也不敢相信在浏览器中也可以使用 Linux 操作系统。不相信,你就往下看吧,有图有真相!

看到了吗? 这个“Linux 操作系统”使用的是 Linux 2.6.20 的内核,可以使用大多数 Linux 的命令,还可以用tab来自动补全操作时的命令。使用深受和在物理机的是 Linux 十分相似。其实是和大家开了一个玩笑,这个 “Linux 操作系统”只是一个用 JavaScript 来写的模拟器罢了。不过,的确很佩服作者把环境模拟得如此“雷同”。QEMU模拟器项目创始人Fabrice Bellard,编写了一个在JavaScript中运行的模拟器,允许用户在浏览器上启动Linux(支持Firefox 4和Google Chrome 11)。他去年曾用个人电脑创造了Pi的世界纪录。[via solidot.org

看起来很蛋疼的东西,不过给初学 Linux 的用来捣鼓一下命令环境也不是一样坏事。当然,如果你也足够蛋疼的话,你也可以在这个模拟器里玩玩 rm -rf / 这之类的命令。

猛击下面的网址在浏览器里把玩 Linux 操作系统吧。
http://bellard.org/jslinux/

为什么程序员喜欢在深夜工作

有句还挺受欢迎的话是,程序员就是把咖啡变成代码的机器。

果然,随便问一个程序员什么时候效率最高,很有可能他们会说大多是深夜的时候。有些早点,有些晚点。常见的是:在凌晨4点起床,赶在吵闹的一天开始前完成一些工作。另外一些喜欢在凌晨4点睡觉。这种做法的目的是避免干扰。但是你可以锁上门啊,为什么夜晚这么特别呢?

我认为可以归结为三件事:员工的时间表、疲惫的大脑和明亮的电脑屏幕

(伦敦科学博物馆中的黑猩猩大脑,图片来自维基百科)

员工的时间表

Paul Graham在2009年写过关于员工的时间表的问题 —— 基本上,在世界上有两种类型的时间表。传统管理者的时间表是分散地切割成小时和一个个十分钟的方式绩效,通常是按一个小时的价值给你报酬。

另一种,叫做员工的时间表——针对我们这些程序员。工作于大型虚拟系统时,需要把所有涉及的事都记在脑子里——有人曾经比喻这就像用昂贵的水晶建造房子,一旦有人打扰,房子就一股脑塌落并碎成一片。

这就是为什么当有人打断程序员的思路时,他们那么恼火。

由于这种巨大的精力投入,使得我们无法简单地开始工作,直到我们能连续几小时不被分散注意力才行。刚在脑中构建了整个模型,结果半小时后就毁了可不值得。

事实上,跟很多员工交谈后你会发现,他们感觉根本不能在白天完成任何工作。接连不断地被打扰、关注重要的事物和回复邮件都不能让他们安心工作。所以他们选择在别人睡觉的深夜来完成大部分的工作。

疲惫的大脑 

就算是程序员,晚上也应该睡觉。我们不是超人。也会感到白天更机敏。

那为什么我们要在大脑想睡觉的时候做最复杂的工作,而在大脑最敏锐和灵活的时候做简单的任务呢?

因为疲劳成就更好的程序员。

与巴尔默峰值类似,疲劳让我们更易集中精力,因为当你的大脑疲劳时,它就必须集中精力!没有多余的脑力让你不集中精力。(《“10倍效率”程序员/开发人员的习惯》第5点:集中精力)

我似乎在喝茶过多或不合适的时间喝能量饮料后完成的工作最少。这些让我很活跃,一会儿查看Twitter,一会儿看看Hacker News,我似乎一直在到处浏览。

你应该在想我能很好地工作——这么有精力,这么有脑力。但是相反,我一直在阻绊自己因为我不能集中精力超过两秒。

然而,当我微感疲倦时,我就能坐下来编码了。用有点疲劳的大脑,我能一小时又一小时地编码,甚至都不想查看Twitter或者FaceBook。就好像互联网不存在了。

我觉得这适用于大多数程序员。我们有太多的精力去完成80%的工作——面对现实吧,一个好的算法,需要用10倍的代码量来营造使用它的环境。即使你做的是最高级的机器学习(或者是其他的),很多工作也仅仅只是清理数据和将结果以友好的方式呈现出来。

当你的大脑并不是竭尽全力地工作时,它就会找其他的事做。疲劳使你愚钝,从而使你只能顾及手头上的工作。


明亮的电脑屏幕

这条非常简单。在夜晚一直盯着明亮的光源并且使你的睡眠周期延后。你直到凌晨3点才感到疲倦。然后中午11点起床,当夜晚来临时你并不感到疲劳,因为,呵呵,你中午11点才起床!

经过足够多的反复,本质上是把你带到了不同的时区。更有趣的是,它会保持相对稳定,一旦你进入凌晨3、4点睡觉的节奏中,你就会一直保持那样。

结语

综上所述,程序员晚上工作是因为没人强制规定你必须什么时候停止工作,这可以给你更轻松的方式,你的大脑不再一直寻找分心的事并且明亮的屏幕使你保持清醒。

 

原文链接:swizec.com   编译:伯乐在线 – 魏哲

开发工程师的职场人生路

恭喜,你选择开发工程师做为自已的职业

悲哀,你选择开发工程师做为自已的职业

本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。

当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做孽不可活。不过,欢迎你和我一样加入这个被其它人认为是风光无限的“白领”吧。

如果你不是特别的与人世隔绝,我想你一定看过金老先生的名著《笑傲江湖》吧,里面有一门十分奇特的武功叫做”辟邪剑法”,你看这个小说第一次看到这种功夫 的练法时,我想你当时一定笑歪了牙“呵呵,真好玩!”,可是现在我很痛心的告诉你:你选择的开发工作就是你人生路上的”辟邪剑法”,而你现在已经练了,并 且无法再回头。

相对同时刚出校门同学从事其它行业而言优厚的薪水,以及不断学习更新的专业知识不仅仅让你感到生活的充实,更满足了你那不让外人知的虚荣心。在刚出校门的 几年中,你经常回头看看被你落在后面的同学们,在内心怜悯他们的同时,你也会对自已天天加班的努力工作感到心里平衡:“有付出才会有回报”这句话在那几年 中你说的最多,不管是对自已的朋友们还是自已的爱人。第二句最常说的话是对公司的领导:“不行我就走人!”,实际上你也真的走过几回。对了,在这几年中, 因为你的经济条件不错,你开始买房、开始谈恋爱、结婚、开始有了自已的小孩。有时候你会对自已说再过两年就去买车。当然其中可能有许多大件是需要分期付款 的,但你对前途充满了信心,你确信认为这种日子会永远的持续下去,即使不是变得更好的话。

日子总是在这种平淡中一天天的过去,就在那么不经意间,你突然发现自已已经快30岁了,或者已经30了,莫名的,你心里会漫延着一种说不清楚的不安情绪, 你好像觉得前途并非像前几年那样变得越来越好,你也忽然发现你以前所瞧不起的同学里好像已经有不少开着车的了,也有几个人住着比你还大的房子,好像房款还 是一次付清的,你突然明白你现在的生活比起你的同学来最多是中游偏上了。工作中最让你感到心里不舒服的是,你越来越不敢对你的领导说不了,即使比你来的晚 的同事升职或提薪,你也只是在私下与朋友们一起喝酒时才敢发发牢骚,在头的面前你的声间越来越小、笑脸是越来越温柔。

你终于开始迷茫“再过几年我会是在干什么呢?”,这句话常常出现在你的心里。

计算机开发工作,是一种以年轻为资本的工作,说句通俗点的话是“吃青春饭的”,嗯,这句话好像在一种特别的行业也听到过。

其标志就是一:工作的时间性非常强,一个开发项目被定的时限通常是很紧张的,更有甚者,有些号称开发管理的书里面还非常卑鄙的号召将一个项目切成多个小 片,每个小片都定一个叫“里程碑”的东东来严格跟踪开发进度,加班加点在其它行业是需要加班工资的,而在开发行业,加班工资好像还没见到几个公司发过,是 啊,反正有时间限制着,你干不完我再找你算账.所以开发工作通常有着其它工作所没有的精神上的压力。

一旦一个人步入而立之年,因为家庭和孩子的负担,加上精力上面的衰退,加班工作时间变得越来越少,这点让很多老板们感到:这些人已经老了,不好用了。指示 人事部门:“以后招开发人员限制在30岁以下!”,相对而言硬件开发会年龄方面限制会稍好一点点,但也是五十步笑百步。还有一个很重要的一点就是:计算机 这个烂东东实在是进步的太快了,前两年买的顶级配置电脑,现在怎么看怎么像废品,这还是小事,更可气的是好像每天都需要学习新的知识,刚毕业时只会书本上 的PASCAL, 学会了用腐蚀的办法来做电路板,一上班就开始学习TURBOC和TANGER2.0,刚刚学会,还没来得及高兴,马上开始学Borland C++和Protel3.0,好不容易学会了,却发现需要学习VC和Protel98了。单片机也是啊:Z80的指令背的很熟,工作中没来得及用就要学 8031,好好学吧,本来想着这辈子就吃它了,又发现又出来什么PIC、DSP、CPLD、FPGA、ARM等等….这还不包括中间要学一大堆74系 列、4000系列、XX系列…IC卡居然里面还有CPU卡..如果学习的知识里每个字都能变成一分钱,我想所有的开发工程师都是腰缠万贯的富翁。

一眼看去,这种日子好像见不到头,年轻时乐此不彼,但现在你一定对自已能坚持到什么时候感到怀疑了。我们都玩过像仙剑奇侠传这样的RPG游戏,刚开始时你 只是一个一名不文的少年,随着你去打怪物、捡宝贝、学秘芨,最后终于有一天你会变成一个大英雄!那么你在实际生活中过得比那些小侠们还辛苦,为什么成不了 一个生活中的大侠呢?呵呵,原因在这里:因为开发工作是邪门功夫,它虽然可以让你速成的变成小资,但它最大的特点是经验不积累!日新月异的知识更新,让你 总是感到自已在退步,你就像在RPG中的主人公,开始时就给了你一把好剑和好盔甲,而且让你的级别很高,但让你的经验不累积,虽然刚开始打小怪物时你觉得 自已很爽,但越到后来,你会发现你会死的很惨!比较一下你与其它非开发行业的同学你就可以知道了,例如和你学医的同学比起来。套用岳不群他老人家说华山剑 宗和气宗的区别那段话:前十年你比你那些学医的同学收入和地位要好的多,但十年以后你和他基本上各方面都会持平,而二十年以后你的各方面远远不能与你学医 的同学相提并论!嗯,你已经开始不笑辟邪剑法了吧。

“敢问路在何方?路在脚下…”,不过猴兄和八戒兄这么认为是可以的,你呢?总结了许多开发朋友在30岁以后的生活之路,让我们一起看看开发人员“路在何方?”那么开发人员在30岁以后都干些什么呢?

其路一:继续做你这个很有“前途”的职业吧!

偶掰着脚指头仔细数了数,发现还真的有很多朋友在30岁以后还在从事开发工作,我这里说的从事,是指你还需要天天在电脑边上编程序和画电路板,与你手下是否有几个小兵无关,也与你是否头上顶着什么项目经理、主任工程师的帽子无关,只要你还需要亲自开发,你就属于这一类。其中有个年龄最大的朋友是63年的,从事医疗仪器的开发工作,35岁左右还在从事软硬件开发工作的仍有一大堆,分析这些仍然从事开发的朋友,基本上都有以下特点:

1 痴迷工作或者痴迷电脑,晚上八点到十二点的这段时间,基本上是在电脑桌或工作台前渡过的。

2 不喜欢与人交住,朋友很少,常联系的人不超过五个。

3 与朋友交往时谈工作多,但一般不主动谈钱。

4 体型偏胖或偏廋,不在正常区间。

5 无未来计划,对五年后自已生活怎么样、从事什么工作说不清楚。

6 俭省,从不乱花钱。

即使你是还不到30岁的开发人员,你也可以看看自己对以上几条是否符合,是否会在30岁后还从事开发职业,四条疑似,五条以上基本确诊你也是这类型的人。

这些朋友们通常报着过一天是一天的态度生活,到了这个年龄,也不敢再轻易的换工作了,年轻时的锐气慢慢的也消退了。唯一不变的希望是有一天从天上掉下来一 大堆钱把自己砸伤。说实在话因为他们的性格所限,基本上可以确定他们以后不可能在职场上获得更好的发展,当个小头头,带几个人开发已经是他们发展的顶点。 至于以后的人生之路,不仅他们自己迷茫,可能上帝也正在头痛。

不过像这类朋友,偶很奇怪的发现:他们的小孩都是儿子!不知是偶然还是有什么其它说法。

简单建议:要改变命运,先改变性格:坚持半年晚上不从事工作、游戏及电视,用此时间与人交往,你的人生会有改变。

其 路二:转行从事技术支持、行政或生产等工作还有一些朋友,从事了几年的开发工作,因为自已并非特别的爱好,或者领导上面的强制工作安排,他们转到了技术支 持、服务或行政等工作,至少当时从表面上看起来,他们的薪水较开发要少一些,但真正的统计这些人,发现他们之中有半数的人获得了更好的发展,升职为服务部 经理或行政经理等职,最历害的一个朋友已升职为总经理助理,进入高层。

 

这类朋友当时转行通常并非自已志愿,属被逼无奈或者其它原因,但显然,拥有专业知识技术的他们显然在非技术部门中鹤立鸡群,遇到什么事情他们均可从专业的角度提出建言,久而久之,他们获得更多的升职和加薪机会也就不足为奇。

因为不从事开发,所以经验开始积累,这类的职业通常会给你一个很安定的感觉,你到30多岁后会发现这类职业反而比开发工作更容易获得新的工作机会。

简单建议:你如果确定在开发部无法获得很好的发展机会,不妨转到其它几个部门试试,换个活法,钱少点就少点吧,机会多。

其路三:开发管理

如果你现在已经是总工或开发部经理,或者你眼看就有机会被提升为这类职务,那么恭喜你,你走的是从“弼马温”到“斗战胜佛”这条金光大路,你不仅拥有很高的专业技能,而且很显然,你也有着很强的人际交往能力,你这类人根本不需要对未来有着任何的担心,你在即使一无所有的时候也很容易白手起家。

你这种人算是练辟邪剑法练成了仙,嗯,我无话可说。

你是不是这类人也很容易区别,就像围棋二十岁不称国手终身无望一样,你应该在工作三、四年以后,也就是说二十七岁左右就会发现自已工作中指手划脚的时间比 亲自开发的时间要多了,而且大多数这类人在这个年龄手下应该有“兵”了,相反的,如果你快30岁了还天天埋头于电脑前编程序和画板子,或者30多岁了你还 没升到部门经理(虽然你总是觉得自已很有希望),基本上可以确定你不是这类人。好了,如果你确定你是这类人,那么你唯一的想法就是尽快爬上中层和高层,因 为有时候人生偶然性太大,不占住坑的萝卜很有可能被人拔出来!

简单建议:天天去你的老板家里面拖地和擦桌子!

其路四:出国或考研

 

有两个搞开发后出国的朋友,其中一个甚至打工打到了一个小公司总工的位置,数据库和软件方面水平巨牛,但仍感觉心里不踏实,于是将自己工作多年的钱忍痛掏 出来,出国费加上机票大概将自已辛苦所攒的银子花完,然后又借了一些钱,在02年身上揣着一万美元跑去了加拿大,在加拿大不停的重复找工作,换工作,然后 再找工作的循环,找的工作基本上与计算机无关,不过工资总是在1500加元左右,呵呵,折成人民币与他在国内打工拿的基本上差不多,不过租个地下室就花了 300加元,然后吃吃喝喝,再买个电脑上上网这类的,基本每月平均还要倒贴一点。前段时间给我的邮件里说,现在身上花的差不多只有5、6000美元了,准 备开个小公司,看看能不能往国内倒腾点东东,做最后一搏。另外一个朋友去澳州,时间稍早一些,先是大概摘了一年多的葡萄,后来总算找了个技术工作,每天的工作是画机械图纸,收入还算不错,,将近3000澳元,买了个旧车,也算是过上了资本主义生活。不过前年回来一趟,唯一的感叹就是:在国外拿2000美元的生活,绝对不如在国内拿5000人民币的生活舒服。

也有两个考研的朋友,不过其中一个严格的说不是做开发的出身,偏重于市场方面的工作性质,不过我的朋友里面考研的不多,只好凑两个人说说,一个考研后在北 京找了个工作,每个月5、6000元钱,但还是做开发,生活仍然与没考研之前没有任何的改变,前途仍然没见到什么大亮的光,还是搞不清楚以后再干些什么, 标准的过一天算一天了。另外一个考研后在大学里面找了个工作,工资虽然比他原来打工少了不少,但毕竟终身有靠,稳定了下来,也算修成了正果,这位哥们心情 一放松下来,也开始有时间琢磨着业余时间自已做点什么,好像现在慢慢的也开始有了点眉目。

简单建议:这两条路,对开发人员来说都不算是很好,出国十年前是好事,现在难说,考研能成功转行的概率恐怕也不是很大,多半仍然去搞开发,只不过研究生可以多干几年罢了。

其路五:转行到市场

 

绞尽脑汁的想想,我所知道的人之中只有两个开发人员去了市场,这两个人都不能说是朋友,认识而已。他们都是主动要求去了市场,结果是这两个人均在市场都是 干到一年左右,然后都自已开公司了。呵呵,很奇怪,极高的转行成功率!不过仔细想想,我对这两个人的思路佩服的五体投地。能下决心仍掉每月5、6000元 的开发职位,从事一个自已并不熟悉的岗位,每月拿个2000多元+提成,但提成那是说不清楚的事情,这个决定,只能让人感觉到他们对自已前途清晰的把握和 老谋深算的心机。而且他们不去服务不去生产,挖空心思说服领导去市场(市场部门与开发部门通常是一个公司的核心部门,进入其实并不容易),可以说是有着长 远的考虑的。有技术了,再与客户交成朋友,马上就会产生很大的机遇应该是正常的事情。

有实力,有心机,也有着很强的决心力,这种人恐怕早在大学毕业时或更早的时候就已经决定了自已的人生之路,他们的每一步路在若干年前早就计划周全,现在看 起来:学会技术->进入市场->寻找商机->开公司,一条多么清楚的人生之路。但就像我们上小学中学时,所有人都知道上大学是我们最清楚的人生路一样,最 后只有少数人才能真正达到目标(当然,现在扩招的历害是另外一回事,我是说我们那个时候,也就是:“很久很久以前,当我像你那么大的时候”)。

简单建议:你若是这类人,我的建议是:…嗯?….那个你.你,你别走啊,我还有个事想请你赞助一下啊…..

其路六:开公司自已干

呵呵,看到这一条,发现你的眼睛已经圆了,你肯定千百次的想过这个事情吧,咳咳,其实我从事开发的时候也是天天梦想着这种事情。总想着过两年找个机会就自 已干,这个梦想一年又一年的折磨着你也给着你希望。看看吧,开发后来开公司的还真的不少,里面有成功的也有很多失败的,通常开公司都是几个人合伙开始的, 有做技术的,有做市场的,几个人一拍即合、狼狈为奸,共同策划了这一个大活动。一般说来能让这几个人下决心走出这一步,产品肯定是先进的,甚至是国内独一 无二的,市场也是很大的,负责市场的那个哥们通常会拍着胸保证可以卖出去,并悄悄地告诉你他在某主管领导是他小舅子的同学的二叔,肯定没问题。于是你们几 个人找地点、注册执照、买了几个破桌子,再攒了两台电脑,每个人又凑了几万银子,公司开张了!

产品很快出来了,市场的哥们也不负重望,有几个客户表示要试用了,一切看起来都是如此的正常,“…….你坐在老板桌前,不停的有人来汇报工作或者找你签字…人进人出中…你又想起公司再穷也不能只有一把椅子的故事…..”你在梦中笑出声来。

是如此的顺利,你们很快就有单子了,很快的单子让你们凑的那点钱不够了,你们很高兴的每个人又增加了投入,拿出钱时你眼泪汪汪的数着钱说:“这就是我那生 蛋的母鸡啊”。你们的产品确实不错,市场也经营的很好,客户慢慢的多了起来,单子来的时候一笔接着一笔,你每天都处于兴奋之中,唯一美中不足的是好像客户 回款总是会拖一些日子,不过客户给你保证说:过几天,过几天就付给你们,因为回款总是在计划外,所以你们为了资金的流畅运行又凑了一些钱,这个时候你有一 些心事了,因为你的存款折上面的数字已经快趋向于零了。“没事,过两个月等回款了一切都OK了,谁干事业不吃点苦呢?”你这么安慰着自已又投入到工作中 去,资金总是在回款和生产经营费用之间走着一个窄窄的小木桥,你的账上总是没有太多的钱,扩大了的公司规模和许多意外情况,使你又一次、二次、三次的与合 作者们再次投入了自已的资金,当然,后来的钱你可能已经是借的了…..

终于有一天,你的会计再一次告诉你,老板啊,账上又没现金了,吃过多次苦头的你终于下决心开始重视资金的运行了,你裁掉了一些不必要的人手,减少了开发的 投入,要求市场人员签单的时候必须予付XX%的款,回扣也必须等收过款后再付,同时也开始对产品的生产成本开始进行控制。

时间一天一天的过去,因为竟争对手的产品也对你的产品进行了仿造,你的产品慢慢变得不再先进,市场人员开始埋怨公司的合同资金方面规定太严格,不好签单,生产成本的下降通常也导至产品毛病的增多,客户也开始埋怨你的服务人员不能及时进行服务。

终于有一天,你重新走进了人才交流中心,以前你是来招人的,现在你拿着自已的简历开始寻找一个工作……

公司的成功与否,与产品有关,与市场有关,但更重要的是与资金有关,产品与市场都可以通过资金来弥补,而却没有任何东西可以代替资金,凡是倒下的公 司,99%与资金链的断裂有关。在你决定要开公司以前,先估计一下你公司支持一年所需要的资金数额,包括人工费,生产,场地,广告宣传、市场费用、甚至 电、水费等等等等,把你所想到的一切加在一起,得出的值就是..慢..如果你没有实际的开过公司的经验,你需要将此数字乘3,然后就是你开公司一年最少需 要的费用,呵呵,公司的实际运营所需要的钱是你想像的3倍以上,你要是不信我也没办法。

简单建议:开公司前最重要的是先确立你后续的资金来源!也就是说钱不够了怎么办?---因为你投入的钱肯定会不够的。

其路七:第二职业

这类的朋友有不少,他们没有脱离开发工作,但是在业余时间又不停的接项目或者在卖产品,在单位里面他们显得并不出众,比起其它人来说他们属于最不愿意加班 的一类.为此他们白天通常工作很勤奋.这类人也许不一定可以挣很多钱,但平均下来他们一年之中通常都可以比同事们多挣个几万元.有时候比上班拿得还多.但 令人疑惑的是,这类人在生活中更加注重稳定,基本上没见到他们跳过蹧,即使私下里面已经开了个小公司,他们通常也不会辞职.

你的旁边有没有这类人呢?分辨他们很容易:电话很多,而且更愿意来电话时离开办公室找个没人的旮旯通话.神秘兮兮给人一种”这家伙是不是有二奶啊?”的感 觉的人,通常是这类人。这类人是女性最佳的选择对象:很顾家,不象那些富人容易花心,而比起一般人来说,他们收入相对要高得多。但总结了一下几位这类的开 发朋友:也得出了一个令人沮丧的结论:这种人通常个子不高,体形类似桶状…..

简单建议:这好像是开发人员最佳的出路了,但比较丰厚的收入通常让这类人不愿意去冒风险….到现在为止我所认识的这类人还没有一个真正算是成功的。

好了,虽然偶的经历远远说不上丰富,也没有什么成功之处可以自满的,但或许因为比其它朋友痴长了几岁,见过的人可能会稍多一些,所以斗胆写出了以上的一些文字,让您掉牙了。

下面是偶走过开发这条路上总结出来的一点心得,你可以不看,但看了就千万别把嘴咧的太大:

一、不管是给别人打工还是自已干,都要全心全意的工作,因为你所做的任何一点工作都会让自已的人生多一点筹码,这一点最最重要!这样的例子我至少可以举出 两起,优秀的开发人员被其它新公司挖走,并给一定的股份,成为新公司的股东的例子。当时与这样的开发人员一个部门同时工作或更早工作的有许多人,他们平时 经常偷点懒,能少干点工作就少干点,有时候还笑话那个平时努力工作的人傻,几年过去了,究竟谁比谁傻?

二、多与市场人员交朋友,你接触他们时可能总会觉得他们知识比你少,甚至素质比你低,可能比你还有点黄。但实际上他们比你更懂这个社会!参加到他们这个圈子中去,和他们一起赌赌钱、一起聊聊天、一起洗洗桑拿、一起…..你会通过他们接触到另外一个世界。

三、机会远比钱重要,挣不挣钱在年轻时并不是特别重要!不论是在实际生活中还是在网上或其它地方,如果有机会参与到除本职工作外的一些项目或产品的开发中 (包括你的朋友拉你去做点小生意之类的非开发性质的工作),那怕是帮忙的性质,也要积极介入,至少你会交到很多的朋友,这样你的人生会多出很多的机会。

——转自 阿里巴巴

千万别惹程序员

如果编程语言是一种刀

下面这个图是把编程语言看做是一种刀,那么会是什么样的。这个图我个人感觉很有意思。

对于这个图,最好不要解释,意会就好。不过,我却有点想不解风情,忍不住想解释一下。

 

  • C++,C,Pascal 都是瑞士军刀,说明是用来做细活的工具。C语言的刀上有个USB,说明是可以做硬件操作的。C++的刀是什么都有,说明C++是一种功能繁多的语言。(图中C++的那把瑞士军刀很强大,不要以为其是虚构的,这把刀是真实存在的,叫Wenger巨人刀,http://www.wenger.ch/giant-knife-wenger-swiss-army-knife (这个网页上有个Youtube视频,可以爬墙去看),淘宝上有卖的,价格在1万4左右。)
  • Java/C#是一把塑料餐刀,这说明,Java和C#语言是带虚拟机的,而且其语法和使用并不像C++那么复杂,其泛型编程可以有很多种玩法,而Java和C#的泛型编程是比较单一的。
  • Python是把电锯,人挡杀人,佛招杀佛,威力很大,面对大型的物体的修整,比C++/C/Java什么的得心应手得多得多,但是对于一些精细的调优工作,明显不行。这和Ruby很像。
  • PHP没有MySQL,明显是被幽默了一把。不过最近对PHP的批评越来越多,不过,facebook的PHP的引擎HiPo已经很牛B了。
  • Perl是一本日本武士刀,是忍者玩的语言。
  • VB,就是一个玩具。你见过用塑料玩具勺当刀的吗?Haskell感觉是外星来的。呵呵

千万别惹程序员

下图一张昨天我公司内部被传递的图片。经典的SQL注入式攻击。千万别惹程序员

这是一个有技术含量的号牌遮挡。我们先不说其是不是能奏效,不过,这个创意相当的NB啊。当你驾车通过某些路口时,被摄像头捕捉到你的车牌,通过OCR变成文本,然后插入数据库,于是,上图的这个车牌就成了SQL注入。(不要以为车牌的OCR技术还不行,这项目技术已经非常成熟了,无论是国内还是国外)。这张图片就如同“Web开发中应该知道的事”中说的一样——永远不要相信用户的输入。

——转自 酷壳

网页设计:浏览器在兼容模式下布局全乱了 – 解决办法

在chrome、ie浏览器中显示均正常,为何用360或搜狗等浏览器的兼容模式查看网页布局会全乱了呢?

解决办法:在head中添加一个meta标签,指定兼容模式。因为旧的ie浏览器与chrome等浏览器的解释方式差别较大,因此个人经验是指定较高的兼容模式即可,如ie8。

兼容性对于网页设计师来说非常重要。虽然最好是建立一个完全不需依赖任何网页浏览器特性或功能的网站,但是有时候这是不可能实现的。而文件兼容模式能将网页限制在某个特定版本的IE中。
可以使用 X-UA-Compatible 标头来指定网页支持的IE版本,可以使用 document.documentMode 来判定网页的兼容性模式。
通过选择支持某个特定版本的IE,你可以确保你的网页在未来的浏览器版本中也能显示一致。
指定网页兼容性模式
要为网页指定兼容模式,需要在网页中使用 meta 元素放入 X-UA-Compatible  http-equiv 标头。以下范例是指定网页为 IE7 兼容模式。

  1. <meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ >

复制代码

不过前两天给一个网站调试的时候发现他连续加了两个版本的兼容,结果没有任何变化,结果查了下资料原来是IE浏览器只能读第一个兼容的代码后面的都不认!
:IE只会执行网页中第一个 X-UA-Compatible 标头。
可以使用多个属性值来指定网页兼容模式,这能使网页在将来的浏览器版本中保持显示一致。如果需要设置多个兼容模式,使用分号分开各个模式。
如果一个特定版本的 IE 支持的可用兼容模式多于一种,则将采用列于标头属性中最高的可用模式。尽管不推荐这样做,但是可以使用这个特性来排除特定的兼容模式。下面的例子将会排除 IE7 模式。

  1. <meta http-equiv=”X-UA-Compatible” content=”IE=5; IE=8″ >

复制代码

常用兼容标头如下:
各种兼容模式代码范例

  1. <meta http-equiv=”X-UA-Compatible” content=”IE=5″ />

复制代码

像是使用了 Windows Internet Explorer 7 的 Quirks 模式,这与 Windows Internet Explorer 5 显示内容的方式很相似。

  1. <meta http-equiv=”X-UA-Compatible” content=”IE=7″ />

复制代码

无论页面是否包含 <!DOCTYPE> 指令,均使用 Windows Internet Explorer 7 的标准渲染模式。

  1. <meta http-equiv=”X-UA-Compatible” content=”IE=8″ />

复制代码

开启 IE8 的标准渲染模式,但由于本身 X-UA-Compatible 文件头仅支持 IE8 以上版本,因此等同于冗余代码。

  1. <meta http-equiv=”X-UA-Compatible” content=”edge” />

复制代码

Edge 模式通知 Windows Internet Explorer 以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。

  1. <meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ />

复制代码

EmulateIE7 模式通知 Windows Internet Explorer 使用 <!DOCTYPE> 指令确定如何呈现内容。标准模式指令以Windows Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循 <!DOCTYPE> 指令。

DEDECMS模板如何实现用户登录 | 如何在DEDECMS中添加验证码

如果自己制作了DEDECMS的模板,那么如何实现用户登录呢?下面给出详细步骤:

1、在页面的head部分引入如下Javascript脚本(可在dedecms自带的默认模板的index.html的head部分找到):

2、用户登录部分的代码如下所示(红框部分为不容易注意但不可缺少的部分):

以下是实现效果(登录前与登录后):

补充:

若要修改上图所示用户登录后的显示效果,可找到/member/ajax_loginsta.php文件,对其中的内容进行修改即可。

 

 

 

服务器无法打开视频 | win2003不支持播放flv | 使服务器支持流媒体服务的解决办法

原因是由于服务器上没有.FLV的这种mime-type类型,对于这一点Adobe给出了它的解决方案。如下:

1. 在2003服务器上,找开IIS管理器。

2. 展开本地服务器名称,右击选择属性,在Internet信息服务标签上,点击最下方的计算机MIME映射下面的编辑按钮。

3. 点击”新类型”按钮,扩展名添上”.FLV”,内容类型(MIME)添上“flv-application/octet-stream”

4. 点击确定

5. 重新启动www服务。

尽管adobe提供了这种解决方法可以让.FLV工作,但仍会在许多情况下会出现意想不到的结果,仍会有许多.FLV不能正常的工作。下面有一种解决方法:前几步是一样的。

1. 在2003服务器上,找开IIS管理器。

2. 展开本地服务器名称,右击选择属性,在Internet信息服务标签上点击最下方的计算机MIME映射下面的编辑按钮。

3. 点击”新类型”按钮,扩展名添上”.FLV”,内容类型(MIME)添上”video/x-flv”

4. 点击确定

5. 重新启动www服务。

Ok.现在你可以正常在windows 2003 server 上使用你的流式的FLV了。

 

 

对于Apache来说,找到Apache安装目录下的conf/mime.types文档,在文件中进行添加即可。

fastcgi error 14001错误原因与解决办法

FastCGI Error
The FastCGI Handler was unable to process the request.
——————————————————————————–

Error Details:

Error Number: 14001 (0x800736b1).
Error Description: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
HTTP Error 500 – Server Error.
Internet Information Services (IIS)

 

发生此错误的关键原因在于没有安装VC9运行库。Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn

文件不大,1.6M左右,安装后就能正常使用了。

win2003如何修改管理员密码

1、在桌面上右键点击“我的电脑”,在弹出的快捷菜单中选择“管理”

 

2、依次点击“计算机管理(本地)”→“系统工具”→“本地用户和组”→“用户”

 

3、在右侧的列表中选择“Administrator”项并点击右键,在弹出的快捷菜单中选择“设置密码”

 

4、弹出一个警告框,直接点击“继续”即可

 

5、在“新密码”和“确认密码”输入框中,输入新的登陆密码即可。点击“确定”确认退出即可完成。重新启动计算机后新密码生效。