最近在某家还算知名企业进行了短暂的实习,收获良多,现总结如下。
首先,作为一名程序员写代码就要有一定的规范,这一定要在平时的自我练习中养成。绝对不要依赖IDE来帮你完成这项任务,因为你不能保证你团队用的IDE都有这个功能。不然当你写的代码实现再强大的功能或算法,让人看到了都会有种看不下去的感觉。而且你要记住,这些代码不像你在学校搞学术研究那样,你自已看看就行,能运行出结果就行。你在公司当中,是团队中的一份子,你的团队伙伴可能会调用你写的函数,然后看到你的看起来“杂乱无章”的代码时,就会“心情不爽”,从而影响了项目的进度;而且也不利于以后的代码维护。所以说,如果之前没注意代码规范的问题的话,最好下个google的代码编码规范来看下,至少清楚什么时候要加空格,该怎么对齐代码。
其次,作为一名新人,尽量少问些低级的问题,比如什么Android开发环境搭建啊,没找到某个环境变量啊等等,能自已百度解决就自已解决,不管花多大的时间。这些低级的问题问多了,不仅影响你在你的领导心中的形象;而且他以后对你的问题都会爱答不理的,因为他认为你的问题都是一些小儿科的,根本不需要浪费他的时间和精力。然后,结果就是你被fire了。
再次,安装某款开发软件的时候,如果不是特别说明的话,尽量不要安装最新版本。首先,最新版本是刚出的,存在的BUG是不确定的;其次,因为是新出的,所以用的人比较少,这时候遇到软件问题可以参考的资料就比较少。然后,要特别注意,是否运行某些脚本对其对应的软件是否有版本要求。有时候版本跨度比较大的话,在某些特殊的情况下,低级版本能编译出的脚本,高级版本并不一定能支持。
然后,千万不要认为自已是在实习期就放松,从而缺少紧迫感。特别是领导交代的要在规定期限内解决的项目,如果你还想继续在这家公司待下去的话,即使通宵也要把它搞定。不然,别人就会怀疑你的能力了;如果没在规定的期限内完成项目,那就是态度问题了。除非说这个项目是比较难的,你是全公司第一个搞这方面的。
最后,再说一说关于所需技能的问题。有些技能可以在以后工作中学习,有些则要有一定的基础。最好在入职前,对你所要做的工作有一个大致的了解。个人觉得,对一项以后工作中要经常应用到的语言,最好是要有一定的系统基础学习的过程。不然在以后工作中,这用到一点,那用到一点,没有一个全局观,搞的好累。作为一名程序员,还要有足够的细心与耐心,特别的在调BUG的时候。作为一名开发经验较少的新手,百度的不可避免的。经常对一个问题键入关键词后,总是能给出许多的链接。个人认为,首先最好到相关的官网上查看下,然后再查看别人的博客。对于博客的实现,有了官网上的说明,我们就能更好的判断是否是正确的;如果没有官网的话,首先先点前三五个链接,然后从博客的排版来看,排版比较乱的一般可信度不高。如果中文没有的话,就上google或stackoverflow等专业网站上找找。
最后的最后,我想说,刚开始搞软件开发真的有点累。领导只在乎结果,根本不管你的过程。无论你中间遇到过什么问题,不管是程序上还是生活上,只要在规定期限内没结果,那你就是能力不行。而且还要有足够强大的抗压能力,这可不是说说而已。在做项目的时候,一定会有人经常催你,赶你的进度,要你的结果。特别是作为一个新手,在遭受足够多的批评后,也要能保持住自已的信心。
以上为个人的一些杂谈。希望能对一些能力较弱的搞软件开发新人有所帮助。