2010年7月7日
朋友发来邮件,说:
做技术需要什么秉性?你为什么会选择做技术?考虑的因素是什么,因为喜欢吗?如果做技术前途未卜还要做吗,还会喜欢做吗?金钱占你考虑因素的比重能有多大?喜欢是什么感觉?为什么我都不知道自己喜欢什么呢?你有没有过这种时期或者感觉呢?
好长的一个问题,这封邮件让我想了许多,正好借这个机会做个简单的总结,
1、秉性
有思考的习惯,有自学能力,平时可能沉默寡言,但是聊起技术来会眼睛放光。
2、为什么选择
我性格内向不爱说话,坐在电脑前很舒服,特别是写程序的时候。慢慢的,通过写程序让自己变得更自信了,头一次感觉到自己比老师会的还多。
第一次接触程序的时候谈不上喜欢,但是慢慢喜欢了,可以称作兴趣,也因此投入了许多时间,上学时是课余时间,工作后是业余时间。写程序让我快乐,所以选择技术,而不是去做管理。
3、前途未卜
做技术的,本质上和泥瓦匠没啥区别,就是个手艺人。软件业也和传统行业没有区别,每个行业都需要很多人,所以不担心会“前途未卜”。做技术,也许不能锦衣玉食,但是只要努力,吃饱穿暖应该没有问题。
4、金钱的因素
当初是能够养活自己就可以了,不想继续花家里的钱,做喜欢的事情并能衣食无忧。现在会多一些,毕竟结婚了,要考虑家庭的因素,而且将来会有孩子。 对金钱追求是没有止境的,我在选择工作的时候金钱是个因素,但是都被放到最后面。说到比重,应该是 10~20% 吧。
5、喜欢是什么
对技术或者其他事情的“喜欢”,应该和谈恋爱差不多吧。你见不到一个人的时候会思念,会想给她打个电话、发条短信,上街看到衣服会想她穿上是什么样子,等等。
有时候我会看一天电视,打一天游戏,每一次这样做之后我都会有点儿后悔,或者说失落,觉得自己在浪费生命。但是,如果我写了一天程序,就不会有这样的感觉,相反,如果这一天学到了东西,我会开心的手舞足蹈。
昨天下午我睡了十几分钟,起来后看了两篇文章,英文的,很长。晚上回家我都在和老婆讲我的收获,给她讲 dependency inversion/dependency injection/ioc container/test double/mock 等等,试着用她能接受的方式来说明。
我想,这就是喜欢。
不知道这样的回答是否适合,但我可以保证,这是我的真实想法 :)
去年我写过一篇文章《我的技术理想》,说自己会坚持走技术路线,以及因此带来的困惑。这一次,借朋友的提问梳理了思路,对于前面的路应该会有更好的把握吧。说起来,要谢谢朋友,感谢你让我想了这么多,并且形成了文字。
谢谢!
2009年1月17日
2004 年 9 月,我开始考虑买个笔记本用,因为我的腰包里有了一万块钱。和绝大多数的程序员一样,我一直向往着有个笔记本,这个多年的夙愿终于在 10 月份达成。
那时,我的一个大学同学在沈阳做 DELL,我特地问她要了 DELL 的最新报价,琢磨着“走关系”买台便宜点儿的,目标就是花掉兜里的钱。可是经过我的再三考察,还是决定买台 IBM。尽管在多数人眼里 IBM 的黑本子很丑,但是,我喜欢。
不知道别人买笔记本时怎么想,我当时就想买个本子用,出去参加个什么培训或者开个会,啪,把本子往桌子上一放,倍儿有面子,呵呵。要说有面子,买个 T 系列的更拉风,可是摸摸兜,作罢。当然了,我也曾经流连于大连电子城卖水货的摊位,可苦于没有内线,再次作罢。
经过反复对比,我决定买 IBM R51。
公元 2004 年 10 月 13 日,我 WangWeilin 同学的陪同下,在长兴电子城买了 IBM R51 1829 JNC,随机电脑包一个,零售商还给我了一个鼠标。(Weilin 兄随公司去北京后就断了联系,前些天听说他已经结婚了,还在北京)
如今,我的笔记本经过 N 次改装和 1 次维修,每天陪伴我十几个小时,不离左右。每当有人听说我在用四年前的笔记本运行 Windows Vista,而且速度很好时,都说我的本子绝对超值!
特别是经过了 2009/1/11 这次维修(更换屏幕灯管),我的她,还能陪伴我更久……
PS:当前的硬件配置及软件环境:
- 迅驰 1.6 CPU
- 2G 内存(两条 2G)
- 三星 160G 硬盘
- 罗技 V200 无线鼠标
- Windows Vista 操作系统
- 盗版软件、开发工具、第三方控件、免费软件若干
昨天被装修污染搞的没有心情干活,就忙里偷闲写了上面的文字(Draft Saved 1/16/2009 3:23PM)
2009年1月9日
那是很多年以前,我还是个学生的时候,听说有种人叫“救火队员”,哪有问题飞到哪儿,一出手就化险为夷的牛人。如今,我算是个救火队员了吧,带着我心爱的 IBM R51 转战于公司的各个楼层。
曾经很向往这样的工作,向往着不用站在人群中泯然众人,向往着成为牛人。如今,R51 老了,屏幕黄了,开始闪了,每天开机都要烧上一段时间才能正常使用,如果换屏幕灯管也不能延长她的寿命,只能……
我,也开始不喜欢这种“砖头”的生活了……
应该是李维第一次来大陆演讲,也就是我工作后的第一年或者第二年,网络和杂志上第一次流传“架构师”这三个字儿。如今,架构师这三个字儿也已经被叫滥了,大家言必称架构,好像是个人都说自己是架构师,神奇!
大家都争相转管理,准备将来当个官儿的时候,我还是要走技术路线,坚持着成为“优秀构架师”的技术理想。这样似乎有点儿固执,但这是我未来的三五年以此为目标,努力!
我知道,也许,有一天我成为了自己心目中的构架师,也不过就是一块更高级的砖头罢了……
PS:昨晚和同事聊了一会儿,帮她修改简历,关了笔记本和台式机,突然想到了这个主题。忽然觉得,已经很多年不敢提“理想”这两个字,一种说不清楚的原因,于是就有了上面的文字。我,似乎回到了读书时的年龄。
2007年4月20日
我叫谷××,男,95 级七班的学生,98 年毕业后考入了沈阳大学高职班,于 2001 年参加工作,现就职于××软件(大连)有限公司技术部,主要负责 .Net 项目的技术支持。
高中毕业快 10 年了,不知道现在的学生,是不是仍然把上重点、读大学作为正统的发展路线。读书时的我深受这种思想影响,觉得读职业高中没有发展,可又别无选择。
随着自己慢慢长大,对于中考带来的一些影响,已经不像最初那样在意,反而有些庆幸。庆幸自己 95 年就开始接触计算机,并就读于沈阳市计算机学校,遇到了给我很大影响的老师和同学;庆幸自己在高中三年的时光当中,没有淹没在题海和升学的压力之中,有很多属于自己的时间,读了一些图书、杂志,甚至是胡思乱想;庆幸自己在 96 年就开始接触 Basic,并从此喜欢上编程,直至以此作为职业。
我喜欢写程序,喜欢静静的坐在电脑前,把想法通过键盘流淌成一段段代码,我很享受这让人既幸福又痛苦的过程。因此,大专毕业后经过了 3 个月的无薪试用,进入了程序员这个行业,尽管那时我只是个 Web 程序员。
现在,我已经工作 6 年,换了 3 份工作后来到××。从开发到项目管理,再到技术支持。每换一份工作,每变换一种工作类型,都让我收获良多,因为我坚信天道酬勤,所以甘心从一点一滴做起,写好每一行代码,带好每一个项目,凭自己的技术和经验,为项目组提供全面的技术支持。
现在,作为一个 IT 从业人员要面对很多问题,但是我相信正确的定位、××的努力、适当的机遇,能让自己具备更强的竞争力,从而在软件行业继续工作 5 年、10 年甚至更久。
如今,我已经能够坦然面对自己职业高中的背景,因为自己毫不逊色于那些重点大学的同事,甚至做得更好。
我的技术 Blog 转了两句陆游的诗自勉:
纸上得来终觉浅,绝知此事要躬行。
汝果欲学诗,功夫在诗外。
ps:高中的班主任在 QQ 留言中说,当年教我们政治的杨老师在做心理咨询方面的调研,需要收集一些资料来教育现在的职业高中学生,告诉他们并非进入职业高中就只是“混”。承蒙两位老师的信任,有了上面的文字,这是我第二次以命题作文的形式写东西,完成后自己看了看,除了个别词汇不太准确之外,整体还算满意,呵呵。
2005年11月11日
我是一个.Net程序员,工作中使用C#,之前曾经用过JSP,和Java多少有那么一点点的关系。于是,当朋友让我写些文字,说说Java十年自己的想法时,我决定……
1995年我很不幸的上了职业高中,心情低落到了极点,当时的我不知道一个叫做Java的技术,在默默无闻几年之后终于火了起来。Java并没有和历史上95%的技术一样,被锁进了保险柜,最后扔进垃圾箱,反而在此之后的十年时间取得了巨大的成功!我,也跌跌撞撞的走过了十年,从事着自己喜欢的开发工作,并且在这样一个夜深人静的夜晚,开始了一段关于Java和自己的文字。
高二时从一个同学的口中知道了Java,他说Java是C++++--,对于一个只学过GWBasic和FoxBase的高中生而言,对C++的补充和删除还没有什么概念。当我工作后看了《C++ Primer》,并且了解一些Java知识之后,才对此多少有些认识。
第一次较全面的了解Java是在工作之后, 2001年第4期的《程序员》,开始了一个Java技术专栏,J2SE/J2EE/J2ME/EJB等词汇,在现在并不新奇,当时却让我晕了一阵。年底时公司派我参加WebSphere 3.5的培训,为期一周的培训我只知道了WebSphere、VisualAge for java、JavaBean、EJB等词汇而已。
参加培训的时候我正在自学C++,一心要成个C++高手,对Java不感冒。通过培训了解到的Java我没有感觉到新奇,也没有认识到和ASP和PHP有什么本质的区别。当时我觉得,JavaBean的封装我同样可以用PHP中的类实现,而且MVC结构下的PHP代码也挺优雅的,JavaBean+JSP的开发模式并不特别。另外,JSP 0.9时Container的配置比较麻烦,所以学习的兴趣大打折扣(一个Linux很强的同事搜索到了Resin,从那之后我写JSP一直用Resin)。现在想来,如果当时就深入研究WebSphere,现在没准儿也成了Java高手呢,呵呵。
虽然不太喜欢Java,但为了更好的使用、快速的完成工作,我也跟风买了Bruce Eckel的《Java编程思想》,可至今也没有看完,唉。
工作两年后,我离开沈阳来到大连,同样是公司的要求,工作了一段时间之后,我再次接触到了Java。
有了两年多的开发经验,重复Copy-Paste代码之后,开始考虑重用的问题了。之前虽然在PHP下使用phplib按照MVC结构开发,可还是觉得不爽,因此这次学习Java更关注程序的结构。
Java在桌面方面没有优势,Applet已经被Flash取代,AWT和Swing不在学习范围之列,当时也知道Eclipse开发使用的SWT很好,但学习资料太少,因此也不在考虑范围之内。我的工作主要是做网站开发,EJB技术基本没有用武之地,Tomcat/Resin等Container已经可以满足我的开发要求,完全不需要WebSphere/WebLogic等AppServer。
由于之前有JSP开发的经验,这次的学习主要是为了找Java(平台)的特点,学习过程中http://www.cjsdn.net/给我了很多帮助,在这里知道了TagLib、Struts、Hibernate等很多新东西,也开始关注Open Source社区的力量。
说来惭愧,这次学习只持续了两个月左右,当我感觉自己刚刚进入状态时,由于一些原因又转向了.Net(由于这次转换技术方向,工作了几个月之后我离开了公司,具体的原因就不详细说明了)。我是很喜欢.Net的,可能是因为一直使用微软的产品,也可能是因为看了李维的《Borland传奇》之后对Anders有些崇拜吧。
投入.Net阵营之后,我选择了C#,因为我喜欢C风格的语言(可Java也是C风格的语言啊,为什么当初就不喜欢呢?!)。一次和朋友聊天时,我说自己学习.Net进步比较快,可能是因为C#的包含C的原因吧,呵呵。
基本掌握了WebForm/ADO.NET等知识后,我开始接触Web开发的结构问题,先后阅读了Data Access Application Block、PetShop和Duwamish的源码。DAAB和PetShop的结构和我用的开发结构类似,网上的相关资料也比较丰富,很快就基本掌握了相关内容(PetShop中关于COM+的使用,是最近才注意到的,因为之前没有使用过)。由于微软的PetShop是针对Java的PetShop,看过了一些对比文章之后,曾经想过再分析一下Java的PetShop,因为工作和时间的问题一直没有开始(另一方面也是因为EJB)。
转眼间使用.Net已经近两年了,渐渐的也开始关心起架构等问题,于是开始接触Design Pattern、eXtreme Programming、Unit Test等技术。不得不承认,在这方面Java提供了更多的资源,虽然我从事.Net开发工作,但一直关注着Java的发展。
最喜欢去的两个Java网站是:http://www.jdon.com/和http://www.javaeye.com/,最近为了学习O/R Mapping的知识,正在阅读Hibernate的文档,在此要感谢满江红团队的中文翻译工作!
我一直以为自己是微软技术的用户,将要完成这段文字时,忽然发现一路上总有Java陪伴左右,让我不断汲取营养、努力向前!
从Richard Grimes开始的关于.Net的信任危机,到前几天看到了吕震宇的 “亡羊补牢”,我也多少有些疑惑,当初选择.Net是否错了?但这并没有动摇我使用.Net的决心,Java用十年的时间走到了今天,.Net已经做的很好了!
就写到这儿吧,祝Java在下一个十年更加精彩,同时,我们也有理由相信.Net定会不负众望!