• 8个让程序员追悔莫及的职业建议
    时间:2015-11-10   作者:佚名   出处:互联网

    正如老牌Faces乐队的经典老歌《Ooh La La》中的歌词一样“ I wish that I knew what I know now when I was younger”,我常常想,要是我早点知道这些建议就好了。回首往事,刚开始的时候我只是非常单纯地喜欢写代码,也不知道要规划自己的职业生涯以及如何与人相处。我常常懊悔,要是我能早点知道下面这8条简单又实用的技巧,那我能少走很多弯路,避免很多麻烦。

     1.注重交际。

    我以前特别专注于计算机,任何打搅我的人和事我都认为是不速之客。我承认那个时候我的反应有点过头,因为还是有很多值得认识的业界知名人士和值得相交的朋友,但是我却没有好好保存他们的名片。我从不刻意记他们的名字,也不与他们联系。如果需要找工作的时候,我只会去用户组看看。

    我发现对于一些年轻的开发人员而言,找工作似乎是小菜一碟。但我不然——有很多时候,他们总是对我说,你是个开发人员,知道点基本的语法和如何搜索(我刚刚进入这一领域的时候,还没有谷歌),想要立即被聘用是远远不够的。甚至有的时候,实在没办法了,我只能没完没了地发邮件给猎头。这种类似的情况以前时有发生,我有心无力。
    还有一些比我更有技能的开发人员却总是难以找到自己属意的工作、也总是失败,因为他们从来不曾“出类拔萃、鹤立鸡群”。他们从来没有在正确的时刻会晤正确的人。的确,时机和运气都不错,但是就是没有抓住机遇。即便你第9次参加聚会,还是没有人与你交谈,那你还是应该继续精神抖擞哪怕是当花瓶,也要为第10次聚会好好准备,也许下一次就遇到你的伯乐和钟子期呢。
    此外,还要和同伴打好关系。虽然现在的你们还只有20多岁,没啥话语权,但是5到10年以后,一切将发生翻天覆地的变化,也许某个你一直忽略的家伙突然一鸣惊人了。如果你仅仅因为他们无趣而无视他们,那么以后他们手中掌握的重要机会也会无视你。
    2. 解决问题。
    现在的我,对此已经习以为常,毫不感冒了,当然以前可没有这么淡定,解决问题对我来说不亚于是一场灾难。关键在于不要深陷于任何推测而不可自拔。可以选择几个推论然后去证明它们是错的,也不要做选一个然后绞尽脑汁去证明这是对的这种傻事。尽可能选择替代理论。假如出现端口冲突,那么有可能是连接到错误的网络设备或者未分配的IP地址。这种情况的异常不是真正的错误。
    解决问题的本质就是运用学会的知识和以前积累的经验,竭尽所能地去解决种种未知的事物。
    3.根据市场和职业目标选择编程语言和技术专长。
    做我所爱,爱我所做,这样我们才会心甘情愿地奉献自己的精力,系荣辱于其一身,不是吗?当然,也不能忽视现实原因。那就是软件开发这一行发展潜力很大,能让我们挣很多钱。
    不管基于什么样的考虑,我们选择了这一行业,这就是事实。并且,有分析指出,这个市场未来几十年还将膨胀数倍,需要大量的从业人员。有大量的公司将如雨后春笋一个个冒出来,但是让我很疑惑的是,开发人员的就业机遇并没有出现井喷。向大家展示自己的激情和活力,与时俱进,不可故步自封、自满自足。科技世界的变化是如此之快,你最喜欢的技术搞不好今天还广受欢迎,明天就成为昨日黄花了。
    4.软件其实很少有真正的创新。
    很多从业5年的开发人员都亲眼目睹过,几乎所有的厂商都曾重新命名软件后,又当做新产品再次推出去。而那些有着10年工作经验的开发人员,对这种情况已经习以为常了。当你和一些老开发人员开会时,你会发现他们对于新产品总是兴趣缺缺、不以为然。后来你会知道,虽然这些所谓的新产品也有一些创新,但是通常都是早先技术的结合。举个例子,Hadoop现在很火,但是你可知道,HDFS是一个分布式文件系统,而分布式文件系统已经存在了几十年了。
    5.从职业角度出发,而不要着眼于眼前的工作而因小失大。
    一开始我跳槽的原因显得有点可笑:不喜欢在一个小隔间工作、额外每小时多5美元等等。然后在下一个工作中又成为了我跳槽的原因,循环往复,惶惶而不可终日。“能否对我的职业生涯有所帮助?” 这才是我们工作最需要考虑的原因。有时候,这样一份工作意味着更多的责任和机会。可能我还是会去大公司工作——但是不久之后会辞职。因为在一家IT大公司我们是很难从内部展示自己的能力,而且机会非常有限。
    6.一周工作超过40小时。
    如果你觉得这是在建议你做一个工作狂,不顾忌身体死命工作,那你就错了。我的意思是我们应该将时间投资到事业上。如果你觉得你只能在老板不注意的时候偷偷学习,那么你的机会总是有限的——你的老板是不会专门训练你让你有更多的机遇的。
    7.编程并不难,但是我们自己会把它搞复杂,变难。
    我不赞同Joseph Gentle的话。自从人们将软件这一行从硬件中脱离出来,软件开发却仍然被我们弄的乱七八糟。想要编程其实只需要阅读书籍、集中注意力、拥有逻辑思维能力即可。而且现在有很多书籍、课程和模型会告诉我们如何走完整个编程流程。但是,要是碰到合作项目,那编程就会变复杂了。
    8. 学会沟通。
    如果你无法用英语(或其他大家可接受的语言)正确书写,那就需要去进修一门写作课。如果你觉得实在没法克服自己的怯场顺利做演讲,那就应该去接受专门的课程。可以自己站在镜子前面练习,也参加一些聚会,逐步学习。这和会写代码一样重要。
    下面谈谈你的看法:如果你是有着至少5年经验的从业人员,你希望自己一开始就能明白什么事情?如果你是个新手,那么哪条建议对你有用?欢迎畅所欲言。

    网友留言/评论

    我要留言/评论

    相关文章

    Swift编程中文版教程:The Swift Programming Language 中文版
    推广自己的网站方法大全:经常遇到有一些朋友问我如何为网站做推广,多数是电子商务网站,我收集整理了一些实用的网站推广方法,大家可以根据个人人力资源和网站需求选择推广方法,不过得声明一下免费的东西往往需要更多心思和时间,而且也并非都能奏效,以下的方法可以作为参考作用,希望大家怀着良好心态对待,建议可以选取几个领域做精做透,不要样样通样样松。
    新一代前端构建利器Gulp介绍:Grunt 一直是前端领域构建工具(任务运行器或许更准确一些,因为前端构建只是此类工具的一部分用途)的王者,然而它也不是毫无缺陷的,近期风头正劲的 gulp.js 隐隐有取而代之的态势。那么,究竟是什么使得 gulp.js 备受关注呢?
    关于OPENGIS介绍:值此FOSS4G大会即将召开之日,最近我会在Blog上依次介绍一些OpenGIS标准、架构及用于实现的软件。一方面给初涉此行的朋友一个快速入门的概览,另一方面也是对我接触OpenGIS近一年来的总结。
    jvectormap中的地图转换器的使用注意事项:JVectorMap是一个优秀的、兼容性强的jQuery地图插件。它可以工作在包括IE6在内的各款浏览器中,矢量图输出,除官方提供各国地图数据外,用户可以使用数据转换程序定制地图数据。本文主要介绍其提供的地图数据转化工具的使用和注意事项。
    浅谈Heatmap:在自然界之中,蛇的眼睛有夜视功能,即便是茫茫黑夜,它也能轻而易举的找到猎物,这是因为任何物体都会辐射热红外,且辐射的高低和温度成正比,由于生命体的体温会明显高于周围环境的温度,所以在蛇眼面前便无处遁形。热红外成像被广泛应用于军事领域,士兵带上能识别热红外的眼镜后能轻而易举的发现藏匿的敌人。
    GEOS介绍和安装:GEOS是“Geometry Engine, Open Source”的含义,提供了OGC规范中简单几何要素对象操作的C++语言的实现。在地理信息系统领域,拓扑模型是重要的,其计算方法简单但是难得以实现。使得GEOS不同于其他项目的也正是“空间谓词”与“空间操作”。空间谓词是比较两个空间对象并返回一个布尔变量值作为结果,它表明了存在于两个空间对象之间特殊的关系。比如典型的空间谓词有Contains(), Intersects(), Touches(), and Crosses()函数等。GEOS项目中对该些函数的实现是异常强壮的,即使是奇异几何对象或是临时的坐标系统运算也不能使其运算不正常或计算错误。目前绝大多数的商业软件仍然在最基础的空间谓词处理上相对成熟,这正是GEOS项目的重要意义。“空间操作”则主要是对两个几何对象进行计算并且返回一个新的几何实体。比较典型的操作函数如Difference(), Union()以及Buffer()等。GEOS中的操作算法已经被广泛的经过了测试。GEOS类库被各类开源空间信息软件项目广泛应用,使用GEOS,它们可以基于最新的规范的几何实体来完成,同时也拥有了复杂空间方法的实现。
    有关技术管理经理的一些思考:这些天里工作的环境发生了一些微小的变化,可能以后对基层开发的程序员也会有更加具体的影响。上周参加 Open Party 时,重点听了《那些失败的项目们》,分析了一个项目的提出、实施,直到最后失败的过程。我也在想一个技术团队究竟应该用怎样的一种管理方式,才能让技术团队的效率达到更优。
    如何成为一位优秀的创业CEO:做创业公司的 CEO 可以说是世界上最有挑战性的事情之一。你得让客户喜欢你的产品,得组建团队,还要想办法从客户、合作者和投资者那里拿到资金;并且要指导整个工作流程的优化。