给菜鸟级程序员的一封信

(written in 2012-05-22 23:00:17)

我很高兴地欢迎你加入这个喜欢分享,逻辑思维,自学能力,观察力和分析能力强的集体,但是很可惜在你没有真正踏入这个集体的门口的时候就被一堆谣言所误导。那些造谣者通常都是这个行业的门外汉或者是这个行业的失败者,为什么他们会说那么多这个行业的负面信息,因为他们根本不够了解这个行业。

在踏入这个门口之前,很多人会想是不是自己的数学不好就不能学,或者是自己不是计算机专业所以不能学,其实这些都是误区。只要你的逻辑能力还正常,只要你想学,你完全可以做到。有句话说,兴趣是最好的老师。即使你之前你完全没有接触,逻辑能力也不是很好,观察力也不是很好,分析能力也不是很好,自学能力也不是很好,但是你有兴趣,完全可以弥补这些缺点。因为,逻辑思维,自学能力,观察力和分析能力都是可以通过练习训练出来的。不管学什么东西,除了兴趣,还有一个重要因子决定你的成败,那就是坚持。说起坚持,很多人都很头疼,因为很多人碰到了困难和挫折就选择了逃避,我们都知道逃避是不能解决问题的,只有勇于面对才能解决问题,最后才能成功。不要埋怨别人教得不好或者资源不够用,不能成功就取决于你的坚持不够。我们都是过来人,都是很苦逼地学,都是刚刚开始学,觉得不知道怎么用,随着知识一点一点地积累,做的东西越来越多,成就感也就随之越来越强,成就随着理想而去。你要相信一句话:没有做不到,只有想不到。

计算机语言当中五花八门,很多菜鸟就会问,学什么语言最好,学什么语言最赚钱?实话说,学什么语言都赚钱,只要你功夫练到家。但是什么热门语言,不要看什么人的评价,你去人才市场的网站上搜XX工程师,哪个语言需求的职位多,显而易见。为什么我们会选主流的语言学,而不选偏门的语言,因为主流的职位多,应用领域也多,跳槽也容易。IT行业跳槽频繁是正常的事情,也没有必要用鄙视的眼观看跳槽的人,人的追求都是不一样的。他们跳槽只能说明一个问题,他们原来所在的公司没有本事留住人。目前主流语言有四种C,C++,Java,C#。关于他们的历史,你可以去维基百科查。但是你还问我这四种语言哪种语言好,我不会回答你,因为语言没有可比性。你能说法语就比德语好吗?当然不能,不存任何的可比性。为什么?因为它们工作的领域不同。C语言,低级编辑语言,主要用于编写系统文件,驱动文件,计算精度高,时间效率高的软件和系统。C++语言,中级编程语言,主要用于编写驱动文件,大型客户端软件,计算精度较高,时间效率较高的软件,嵌入式软件,大型游戏。Java语言,高级编程语言,主要用于大型网站开发,手机软件/游戏,Android平台下的软件/游戏。C#语言,高级编程语言,主要用于中小型网站开发,中小客户端应用程序以及中小型游戏,Windows mobile软件,嵌入式中不计较时效性的软件。简单解说一下语言高低级的优缺点:低级语言的优点,运行速度快,硬件要求低;缺点,安全性差,代码量庞大。中级语言的优点,运行速度比较快,硬件要求比较低;缺点,安全性比较差,代码量比较大。高级语言的优点,安全性高,代理量少;缺点,运行速度比较慢,硬件要求比较高。看到这些,你还会对比对到底什么语言好吗?当然不会,因为各个语言的工作优势领域不同。其他热门语言ActionScriptIOSdelphiwpe。简而言之,你想学什么语言就在于你想做什么程序员。如果你想做客户端程序C#C++就是你的选择;如果你想做Flash游戏动画,ActionScritpt就是你的选择;如果你想做大型游戏,C++C就是你的选择。有更多的语言搭配,我就不再一一举例了。再者,中低级语言入门难进阶容易;高级语言入门容易进阶难。总而言之,就一句话,语言没有可比性。

有了目标,有了方向那么就得找一个好老师。好老师在哪?在网络上,对于菜鸟,看书觉得是个头疼的事情,我还是建议大家去看视频,看了视频再去看书,才会觉得书中的原理很有用。原理,总是需要用到的时候才觉得少,但是纯属学原理就好像中国大陆大学的教育模式,一直在学原理,没有怎么实践,到最后是不能做项目。相反,有些不错的入门教学视频会手把手地教怎么做项目,跟着视频做项目会加深对原理的理解。所以最好的老师是网络,然后是论坛。有问题不能立马得到解决方案,对于菜鸟级的问题,老鸟非常乐意指导。国内最大的程序员论坛CSDN,对于语言种类专题的论坛,自己百度去。一旦你加入我们这个集体,请你要注意,分享是我们最大的乐趣,小小的经验分享会带给新人很大的进度。因为我们每一个人都是这么经历过来的,都是被老鸟们指导过来的,所以,如果你有时间,帮帮其他人解决问题,同时你也是在复习,查漏补缺。说到书,并不是只要是图灵系列就是好书,并不是清华北大出版的就是好书,只有适合你自己读能够快速学习的书才是最好的书。很多菜鸟刚刚学习编程的时候,贪图方便,不注重编程风格。实在不好意思,如果你这种坏习惯养成了,最头疼的是你自己,还有你的同事。因为在实际项目开发中,并不是十几行的代码量,有时候一个类就已经上千行上万行代码,到时候你要看自己写了什么,找都觉得困难,更不用说看。良好的编程风格,决定你进阶学习的速度。什么才是良好的编程风格?写代码的时候就要注意大括号成对出现,注意缩进,还有在适当的位置写注释。养成写注释的习惯,减少你维护或者修改bug的大量时间。

据我所了解,很多编程爱好者都是受游戏的影响,想做外挂,然后学了visual basic语言。毫无疑问,学vb确实可以轻易入门,但是这个并非主流语言。再者,做外挂本身不合法,它违反了网络秩序。当然,网络是没有绝对的安全,只是出于爱好写几个外挂来玩,还是可以的,我也经常这样做。但是,卖外挂来牟利,这个就严重违反了网络秩序,重则会有刑事责任,要坐牢。有一些挂名为游戏辅助的开发,事实上就是外挂。外挂的定义就是基于某种游戏的第三方软件,所以游戏辅助就是外挂,改个好听的名字罢了。不是说,做游戏辅助就没人查,是有的。就在于那个游戏营运商想不想整那些做外挂的人,哪天老板心情不好,做外挂的人就遭殃了。这种冒险的事情,不是一般程序员做的事情。当然,当你学到了一定程度的时候,你会觉得那些玩游戏很疯狂的人非常可笑,因为玩得再怎么好,在程序员的眼里也不过是一行代码。什么代码?修改数据库的一行代码足以。人生何必要跟一行代码较真,多累啊,还不如用那些时间去做有意义的事情。

还有一个很大的误区说大陆程序员吃的是年轻饭,那就是错了。大陆的软件行业是70后的人起步的,90年代初中国才引入了互联网,才有了软件行业的发展,所以现在中国老的程序是40多岁的,很年轻,看样子好像到不了60岁退休,那就是错了。他们都没到60岁,所以没有退休。老程序员比年轻程序员富有经验,思维更加敏捷,只是人老了,不太愿意接受新东西,所以才需要年轻的程序员来创新。只要你喜欢,你还有精力,60后还坚持做项目,没有问题。我有个老师的朋友还用了30年的业余时间自己一个人做了一个飞机航班管理系统,卖了90多万。所以,不要觉得没前途,就看你怎么图。

关于行业职场的指导书,我只看过钟声的《Java程序员上班的那些事》,我感觉还不错,我觉得学其他语言的看看这本书也是很大的帮助,Java程序员就更要去看看。

最后,我们要感谢免费录视频给我们看的人,分享项目核心思想,核心代码的人,因为他们的分享,才促进我们的成长。为了报答他们,我们也应该学他们一样,乐在分享。祝你成为合格的一员。

 

 


你可能感兴趣的:(职场感悟,程序员,经验分享,人才)