网站总结
请关注最代码公众账号zuidaima,每周推送精彩内容.
另外广告点击很少,也希望大家可以多点击下和自己相关的广告以帮助网站得到一部分运营费用。
资讯精选
经常有网友问我在哪家公司工作,坦言,我现在所处的公司是一家初创公司,没有光环,没有炫耀,有的是踏实和认真。也正是因为这样,我才有更多机会。
我已经很久没有更新文章,实际上工作确实比较忙,但我一定会保证每个月至少一篇文章。柴静所著《看见》中,提到陈虻所说的一句话:「不要因为走得太远,而忘记为什么出发」。或许,我们应该时不时停下匆忙的脚步,审视自己,反省自己。
工作3个月来,每天早出晚归,每天都有新的收获。这几个月来,养成的最好习惯就是写文档。从工作到现在,已经积累了数篇有点价值的文档,我想这就是经验的体 现吧。GitBook上有很多优秀的文档,读者不妨拿来参考参考。我写文档严格按照要求来,出处、目录、排版、文笔、文档信息、作者信息等等,不敢有丁点 马虎。这里还要提一点小技巧,一是文档可以采用软件工程的版本思想,在文档的前面增加一个更新日志,写清楚每一个版本做了什么,这样以后要查看就很明了, 其实这就相当于软件中的Change Log。第二个技巧是可以采用知识管理工具进行同步,比如印象笔记、DropBox、Google Drive、百度网盘等等,这样可以减去很多麻烦。第三个技巧就是写文档不一定要使用Word、WPS,还可以使用Markdown编辑器,在线的、离线 的都可以。在线的话可以使用马克飞象、离线的可以使用MarkdownPad,目前我正在积极的向Markdown转移。
第二个值得一提的就是找资料的技巧。遇到问题可以快速的定位问题,快速的寻求帮助,快速的找到需要的资料,这就是你的竞争力。目前我最佩服我们老大的就是搜 索的能力,他能做到现在的位置,或许这就是很关键的因素。现在遇到问题,第一考虑的就是上Google,百度已经基本弃用。当然,得益于GFW,让广大 IT攻城狮苦不堪言。做技术的有一点很好,那就是任何问题都找得到靠谱的方法。比如跨越长城,我尝试过很多工具,最后还是转向付费的阵营,目前使用的是 Green VPN,这个还是比较靠谱的,如果您也需要,可以先试用,如果觉得还不错,再考虑付费使用。要相信,付费的才是靠谱的。这一段时间,掌握了一些搜索技巧。 每一个搞IT的都应该学习下如何高效的使用搜索引擎,知乎上有关于这方面的分享,如果感兴趣,可以点击此处查看。作为一个IT从业者,您应该或者必须使用Google。
第三个需要谈谈的就是英文阅读能力。一手的资料绝对都是英文的,所以您就应该知道英文对你有多重要。拿到一个Manual,不要怯怕,勇于去尝试,最开始很 可能很痛苦,但您的英文阅读能力会随着量的积累最终达到质的突破。比如现在的我,看一个英文文档没有什么压力,最多就是有一些技术性的名词不认识,去 Google Translate、Wikipedia查下便明白。我们老大是一名海归,所以英文文档对他来说是小Case,这又是一个我佩服他的地方。
接下来简单谈谈技术性的小结。由于是初创公司,又是自建机房,所以前期很多繁杂琐碎的工作都需要我来做,比如搬机柜、接水晶头、安装交换机、配置路由器等 等,终于明白别人说运维、DBA都是打杂的。就在整个过程中,让我这个硬件白痴增长了不少见识。关于技术,这里有几点值得参考。第一点就是永远不要用经 验、定势思维套牢自己。经验固然是好事,但如果环境一变,以前的或许就不再适用。比如服务器上的系统安装,以前我就不知道很多服务器还存在硬件兼容问题, 甚至某些Linux发行版不能运行。再比如Linux发行版的不同导致的配置差异,公司的主服务器和其他服务器使用的发行版就不一样,所以很多东西就得使 用新的方式解决。预想的和实际的往往是两码事。最好的就是把任何东西都当做新东西来对待,怀着一颗虔诚谦卑的心来看待一切。第二点就是配置服务不能完全按 照文档上的去做,即使那个文档中的环境和你所处的环境完全一致,某些插件您是不需要的。您应该根据自己的需求,灵活的变通配置方式。第三点就是配置之前需 要先了解文档中软件使用版本、在哪个环境下运行、不同组件之间的依赖及版本,这些搞清楚后可以在后期排除很大一部分问题。然后在实施的过程中,绝不能跳 过,您跳过的或许就是最关键的,您应该从文档的初始部分挨着往下读,确实没有必要的也要了解它在做些什么。第四点就是做任何事之前想清楚来龙去脉,尽量避 免做无用功,此时思维导图就可以很好的帮助您。第五点就是尽可能地避免做重复性的工作,此时脚本就显现出它的威力,除了掌握Shell之 外,Python、Ruby值得您去研究研究。
工作初期,心急是很可能发生的。拿到任务,总想快速的解决问题,然而常常事与愿违。实际上,做只占整个任务的很小一部分,如何做,怎么高效得做才是关键的。 我还需要时间来磨练,还需要把怎么高效做得更好。这段时间,我也发现自己的软肋,那就是网络知识,我需要时间来把这一块补上。
接下来聊聊生活。广州的天气是我所喜欢的,蓝天白云的天气是很常见的。我已经养成了一个生物钟,晚上一般23点左右休息,早上一般7点左右起床。早起,听会 英语,看会书,再运动一会儿,然后就奔向挤公交车的大军。加班是常有的事,晚上回到家基本上都是9点过,还要做吃的,所以一天的时间是相当紧的。但是,即 使工作已经很繁忙,我仍然没有放弃读书,没有放弃做自己喜欢的事情。从认字开始到现在,从来没有哪一年像今年那样读了那么多书。我经常光顾图书馆,在图书 馆闲逛中也可以学到很多。工作、读书之余,我还保持着运动的习惯,每周至少打一次羽毛球,或者去公园散散心,一个人的日子我也要过得有滋有味。
最后,我坚持反对「工作狂」。个人认为,该工作的时候好好工作,该休息的时候好好休息,把白天的时间利用好,提高效率,晚上尽可能地去做点其他事情。毕竟革 命与否,身体都是本钱。读者不妨去看看「二十英里法则」,相信你会明白。前路漫漫,唯有坚持和保持空杯心态,才能更好得进步,共勉。
在武林中,我们常常流传着关于高手的传奇故事。手中无剑,心中也无剑,是无数剑客们追求的境界。因为虽然手中无剑,心中也无剑,但是落花飞叶皆为剑,剑剑杀招,可取敌人首级。但是这样的高手毕竟是非常稀缺的。多数的人都奋斗在手中有剑,心中无剑的层次,另外有少数人能爬到了手中无剑,心中有剑的地步。
那么对程序员来说,什么样的人才是手中无剑,心中也无剑的人高手呢?让我们先从底层的手中有剑心中无剑说起。
手中有剑,心中无剑的程序员,往往工作在公司的最底层。因为缺乏经验积累,或者是知识结构不完整的缘故,在公司最底层埋头一行一行的写代码,就像剑客一招一招的苦练剑术一样。这类程序员的最大的缺点就是还没有对项目的整体架构有深入的了解,多数只局限于自己工作的模块。对自己模块的熟悉程度,基本就代表了程序员在这个类别里的等级的高低。就像同样是手中有剑心中无剑的剑客,水平还是有高低之分的一样。这类的程序员通过自己的辛勤工作、不断的学习,努力的朝着手中无剑,心中有剑的层次卖进。同样的,在这个层次的时候,如果有名师指导,或者是多跟同行切磋,对程序员的成长是十分有利的。
手中无剑,心中有剑的程序员,在公司里,多数已经到达了项目经理或者更高的级别。对于他们来说,可能并不需要去做太多的具体实现的工作,但是整个项目的架构、难点、进度等等,他们都了然于胸。并且对于项目中的任何一块的程序,他都有大致的了解,任何一块程序扔给他,他都能快速的上手去做实际的工作,虽然正常情况下不用他来做。这个级别的程序员,有很多时候,是开始考验自己的悟性和学习能力了,不是简单的别人带一带就可以带出来的。和武林中是一样的,现在已经进入了“修行靠个人”的程度,这个阶段最需要的就是自己努力的学习,努力的悟,还有可遇不可求的高手的点拨。名师在这个程度所起的作用远不如上一个层次大,因为这个阶段的程序员已经进入了树非树的境界,所有东西都需要自己琢磨才能灵活运用。
手中无剑,心中也无剑的程序员,或许都不能成为程序员了,因为很少有人到了这个层次还在做具体的工作。(开源领域很多依然奋斗在编码第一线的大牛,这个例外。)到了这个层次,基本上都是一个行业里的顶尖人物,或者有的人也已经是行业里的领军人物,在企业也基本上是CTO级别的人物了。他们基本上已经关注的是业界的发展和未来的趋势,或者是干脆自己开创一个新的领域。他们本身就是大牛,已经到了感悟天人合一,领悟大自然的规律的地步。他们的作品,基本上都是引领行业的发展,甚至是改变世界的。你从来看不到他们出剑,但是却看到他们的敌人成片的倒下。但是这样的人,真的是不多见的,
每一个有理想的程序员,就像一名努力练剑的剑客,想着终究有一天自己能成为大神级别的剑客,去笑傲江湖或是改变世界。这就是程序员的武林世界,没有刀光剑影,只有显示器闪烁的亮光和键盘的噼里啪啦。
PS:童年的时候,曾经无数次的幻想过自己背负长剑,行走江湖的场景。而现在的现实是,身背笔记本电脑在熙熙攘攘的都市里穿梭。就算用个战术范儿的电脑包,依然改变不了背个笔记本的现实。在那么一刹那,想到,程序员的世界,何尝不是一个江湖?!于是就有了这篇文字。
首先,简单介绍下自己吧。
一.大学生活 07年迈入大学校园,疯狂了一年,学校规定,挂6科留级,挂7科开除。结果期末考试的时候,每一门我都是瞎蒙,而且因为人老实,也不会作弊,所以怎么算都超过了7科,吓得要死,只好告诉家长。老妈厚着脸皮,一个老师一个老师的送礼,打电话,最后有一个老师看我可怜,给了61分,其他还有几科勉强过了,最后以挂5科的成绩升到了大二。
到了大二,仍然不改,还是玩,所以上半学期,还是一样的挂科。到了下半学期,终于遇到了我的女神,谈起了人生中第一场恋爱。也开始朦胧的意识到了,自己的责任。
因为谈恋爱的时候,已经快要考试了,所以经过了一个假期,我已经是一个大三的学生了,而这个时候,我也开始害怕了。不知道自己会什么,玩了2年,专业技术没学会,整天泡在网吧,也没处到什么朋友,甚至因为玩游戏还和朋友吵架(他叫我出去玩,而我在玩游戏,所以不愿意去,那时候,等级和装备就是一切),甚至与大学寝室的室友,处的好的也就2、3个,没人脉,没技术,我以后如何养家?如何赚钱?
到了此刻,我开始疯狂的找出路,开始疯狂的学习,可是那些模电、数电、C语言什么的,完全不会,虽然整天泡在实习室,捧着书看,可是连续看了一个月,却发现完全没有成效,书一合上,还是什么都不懂。
我陷入了迷茫,看书看不懂,就去网吧玩游戏,玩游戏的时候,又想着学习,陷入死循环,整个人极度的暴躁,女朋友闹分手,自己整天熬夜,睡不着觉,掉头发,大把大把的,感觉自己快死了。
终于,出于对社会的恐惧,出于对自己未来的迷茫,我决定考研,继续当学生。报考各种补习班,开始学习高数、英语,暑期还专门报考合肥工业大学的考研补习班,坐火车、租房子去学习。
然而,到了大四上半学期的时候,我又迷茫了,因为我不知道我学习的数学有什么用,再加上我学的也一般般,万一我没考上研怎么办?再来一年?我不想,找工作,用什么找?高数吗?算了,我又纠结起来。
偶然间,听说班里有一个人参加了嵌入式培训班(什么名字我就不说了,做广告嫌疑),并且工作了,一个月4000多的样子。4000多啊,对我当时而言简直太多了,我开始动心,于是找这个同学QQ聊天,同学也很热情,我很快了解了一些,于是决定不再考研,去参加培训班。
可是,我当时太弱了,弱到什么程度呢?因为只玩游戏,不关心其他,我甚至对硬盘和内存都分不清,同样也不清楚网卡是什么,显卡是什么,驱动更是听都没听过。这种情况下,如何去做软件行业?
所以,整个下半学期,我在实习室里趴着,先开始学习基础电脑知识,甚至去朋友的维修电脑店里面,去学习,知道什么是32为操作系统,知道什么是内存,2G内存是什么意思,什么是CPU,电脑的架构等等。接着,又学习C语言,和LINUX基本操作,这些学完后,正好毕业,参加完大补考之后(挂科太多,所以又大补考),前往了北京培训的路。
二.工作生活
4个月的培训很辛苦,我也学习的很努力,终于毕业了,找了第一份工作,4500的月薪,还不错,是在华三干的,不过是外包工作。并且工作很轻松,基本就是看代码,编程方面,因为主要功能都是封装好了,写代码if else之类的,就搞定了,简单。
再加上,女朋友也来了北京找我,我们一起工资不低,也还不错,于是,我的老毛病又犯了。
觉得自己的工作不错,又是IT研发,说出去很好听,工资也不低,于是我又开始玩游戏,下班了就玩,魔兽世界,LOL,等,都玩。工作了一年之后,工资涨到了6000多,我更加得意,开始为所欲为,也不学习,因为目前的知识完全可以适应我的工作,所以我除了玩还是玩。
就这样,1年半过去了,一个偶然的机会,我和一个同样做技术的聊天,他问我,你有没有做过网页?我说没,他说你会JAVA吗,我说没,我说我做C,C语言还可以。他哦了一声,又问,那你会驱动么?我说不会,他问,你高级网络编程之类的如何?我想了想说,以前会,现在好久不编,忘的差不多了。他又问,那你LINUX怎么样?我说还行,因为工作有用到,他再问:你会搭服务器吗?你会做LINUX维护么?我摇了摇头,我只会ls\cd\mv\cp等几个命令而已。
就这样,我意识到,原来我只会C,而且只会那一点语法,甚至高端的技术都不会,甚至我的技术水平还不如我刚培训完的那会。
我又迷茫了。于是,我决定跳槽,寻找自己。 裸辞!果断裸辞!裸辞完后,开始找工作,果然,我工作很难找,非常难找。辞职前,我工作月薪6000,如果不辞职,等到年底,差不多能涨到8000左右(虽然我技术不行,但是公司的代码看的还算熟练,所以工作能力也还行),但是,每次面试的时候,面试官均对我表示了怀疑和否定,偶尔有要的,工资也才开到了5000.
终于,我找了一家公司愿意要我,给开到了6000,我去了。其实这家公司本来不想要我,他感觉我技术不行,就否定了,结果这家公司招了1个月,没找到合适的,又感觉我比较听话吧可能,才给我打的电话,我也才来的。不然,还不知道要面试多久。
来到这家公司,本来以为继续做C,结果,却将我弄到了另外一个项目组,这个项目组是一个以LINUX+安卓+web的项目。在里面,我就是个SB,各种受鄙视,我自己也知道,我会的那点东西,根本派不上用场。
而我的主要工作,也成了售后+部门经理秘书。因为人少,各种杂货都是我干,什么签合同啊,什么跑腿啊,等等。
不过,在这其间,我开始疯狂的学习。
我自学了HTML+CSS,并写了一些静态网页。之后,又将鸟哥的LINUX私房菜2本书看完,因为工作需要,还是搞了一些C语言和C++,所以还搞了一点QT,之后还看了点ruby代码,ruby on rails框架,自己从阿里云买服务器,学习搭建各种服务器等等,还学习了点JAVA的语法。
就这样干了不到一年,自我感觉水平有了进步,又找了一份工作,这次工资是8K。自我感觉也还行。
刚入职的第一份工作,就让我搞一个动态网站,主要是用HTML+CSS+JS+LINUX+SHELL+正则来写,用的技术是CGI,就我自己一个人搞,还好,搞定了,现在也差不多到了转正的时候。
然而,我又陷入了迷茫。因为我感觉,经过这一年的学习,我貌似会了很多,可是到现在为止,我几乎没有拿的出手的技术,C语言?还是老样子吧。网页制作?我都是自学,半吊子而已。LINUX维护?呵呵,忽悠下新人还行.java?算了,语法都忘记光了。C++?写个简单的QT还行,稍微难点就不会了。
我工作了3年,到现在为止,连一样拿得出手的技术都没有!
而和我一起的大学室友,一个高JAVA,搞了4年,现在已经是一方高手了。一个考研,现在也要毕业了,感觉技术也很不错了。而其他人,也都在自己的行业中混的不错。
我呢?我到底会什么?我迷茫,不想工作。
整整一个星期,我都没什么心情工作,工作压了一堆。
我该何去何从呢?
三.总结
希望看到这篇文章的朋友能从中看到我的经历,并且,不要去向我学习。
先总结下,我的缺点:
1.拖延症,做事总是喜欢往后拖,总是喜欢累积到最后,才开始做。 2.不会观察事物。总是一个人,活在自己的世界里,上班就工作,下班就打游戏,不了解互联网的发展,技术的发展,不去关心家庭。老婆说,我最常说的两句话是:等我打完这一局!卡死了。
3.总是后知后觉。我想的事情,和疑惑,和迷茫,总是比别人晚2年。 4.不会改变。我大一上学期,和室友一起打游戏,打下一下学期就戒掉了,现在已经考上研了,而我到现在都没有戒掉。我周围的朋友,从上大一时候的呆、傻的样子转变成了现在的精明能干,而我,还是老样子。
5.光说不练。
6.进步缓慢。进步缓慢真的是很重要的毛病。
7.不自信。
但是还好,我始终有一颗上进的心,我还有一份坚持在其中。 好了,回到刚才的问题,我该何去何从呢?以后我想回合肥发展,但是我要有拿得出手的技术啊。我决定改变,首先,我打算给自己一个技术,作为入口点,将他学精通,而不是现在这样什么都搞,什么都不行。这门技术就是JAVA,为什么选择JAVA呢》我感觉JAVA语言可以做的事情很多,比如桌面应用,JAVAWEB,安卓等,而且他是面向对象的,而我又有面向过程的基础,以后想搞C++可能也简单点。而且有许多语言是通过JAVA发展而来的,或者是模仿来的,所以我决定通过JAVA作为我技术的突破口。
好吧,虽然我比别人晚了3年,今年我已经26,快奔27了,但是相信还不晚,我还是愿意去努力。既然已经意识到自己的错误,就将其改正吧,亡羊补牢,为时不晚。
最近发起了最代码的推广活动,希望每个支持zuidaima的都可以帮忙推广下,活动地址:最代码推广活动,有你参与更牛币。
最代码每周都很精彩,有你会更精彩,请访问http://www.zuidaima.com。欢迎转载分享该文章, 欢迎推荐给身边的小伙伴们
欢迎关注最代码的官方微信账号zuidaima,最代码官方新浪微博:http://weibo.com/zuidaima,最代码官方腾讯微博:http://t.qq.com/zuidaima