黑马程序员技术交流社区
标题: 新入行程序员须知的8件事 [打印本页]
作者: admin 时间: 2014-11-12 16:42
标题: 新入行程序员须知的8件事
今年已经是我成为软件工程师的第5个年头了。关于下面这些事情,我常常想,要是我刚入这一行时就知道的话那该多好,能少走不少弯路,取得的成绩也肯定比现在高。唉,往事不可追,所以在这里我想分享给大家,尤其是刚进入这一行的新手,请仔细考虑自己是否明白以下这8件事情。

1.良好的沟通能力。工程管理是一个团队活动,哪怕有时候这个团队只有你一个人。由于每时每刻都有那么多事情需要相互了解,所以沟通就成为了最大的问题。90%的工程管理指的就是沟通。比如,我们得向人解释bug是什么?如何有效诊断?如何向大家完整地表述自己的复杂想法?沟通是项目成功最关键的因素。无效的沟通只会导致大量时间和精力的浪费。
2. 计算机科学的基础。要想作为成为一名优秀的程序员,计算机科学的基础是必不可少的,但是,老实说,计算机科学和计算机工程真是两码事。不过要想成为优秀的工程师,就得有这个好奇心喜欢专研计算机的发展趋势和计算机的工作原理,包括深层次地了解新趋势可能存在的误区,以及一些替代性的解决方案,这样才有和其他工程师交流的资本。算法,除非是在面试中,其他时候用处不大。我的意思是,大多数情况下有类库就足够了。不过这并不意味着可以完全无视数据结构和算法。此外,推理代码和优化仍然很重要,尤其是在规模化的时候。
3.学会阅读代码。写代码的重要性不用我说大家都知道,但是关于阅读代码这回事恐怕没几个人听说过。这可能是最值得掌握的技能之一了。关于这一条,到目前为止,我也在努力达到目标的过程中。话说,要是能有透过复杂现象看清事物本质的功力,那就离成为一个优秀工程师不远了。
4.学习UNIX和Linux。这俩家伙几乎无处不在,所以很值得学习。它们能让我们通过命令行快速操纵计算机。如果有需要还可以安装Linux软件包和设置服务器。还能通过vi快速编辑(没错,就是vi。我本人就是Emacs用户)。还有一点很重要的是,UNIX实用程序能显著节省时间。此外我们还需要知道如何使用sed、grep、find、pipes,以及使用基本的bash/zsh写代码。
5.了解文本编辑器。软件工程师都是玩转文本的高手。即便是现在已经被当做老古董的Emacs和vi,仍然是工程师需要学习的编辑器。两者至少得精通一个,因为它们的理念不同,而了解其中之一不但能让你代码写得更快,而且还不会被任何一种特定的环境所禁锢。不要仅仅是使用编辑器,要让它乖乖降服于你,自动化,符合自己的按键习惯,写出解决问题的脚本。
6.自动化思维。因为复制/粘贴就是一种自动化模式,所以我们完全可以编写脚本来实现。而随机写入脚本会让编程更为有趣。也许只用30分钟就能搞定一天枯燥乏味的工作。自动化能缩减过程,也能让我们学到不少新的东西。
7.了解版本控制。我喜欢干什么都用git。可惜,这么棒的点子,我竟然在学校的时候根本不知道,真是情何以堪。版本控制能让我们可以放心大胆地折腾代码,因为要是有什么行不通的地方,恢复原状或者取消键入就可以了。It’s so easy!
8.自己搞个小项目。这非常锻炼人,哪怕有时候会觉得筋疲力尽,恨不得撒手不干。由于我们的产品是抽象的,不像造大桥那样能看到真真切切的成品,所以我们只能不停地编码,没劲透了。想不想专心致志搞一个自己中意的项目,像对待自己的孩子那样,尽自己的全力做到最好,在这个过程中,还能学到新知识,学会运用工具,而在工作中是不可能有这样的机会的?答案当然是YES了。
我自己也不是每次都能做到上面每一点的,但是我依然希望,在我刚刚跨入这个领域时,能有人将这些肺腑之言告诉我,我会真心不胜感激。
作者: 浅木头 时间: 2014-11-12 20:38
我来打卡了~
作者: Jeik 时间: 2014-11-12 21:13
顶一个!!!
作者: levin.liu 时间: 2014-11-12 21:17
理论能力决定深度,创造能力决定高度?
作者: 小朱 时间: 2014-11-12 21:48
楼主 讲得精辟
作者: 寇雄飞 时间: 2014-11-12 22:36
赞一个!!!!
作者: dream静 时间: 2014-11-13 08:26
好多东西都还没有接触到
作者: chuck_heima 时间: 2014-11-13 10:33
谢谢分享!
作者: chuck_heima 时间: 2014-11-13 10:36
linux 出于国家网络安全考虑,估计linux会在中国大行其道!
作者: 况柷 时间: 2014-11-13 12:54
代码版本控制确实很实用
作者: kale 时间: 2014-11-13 13:20
讲的很好,学习了
作者: Yishan 时间: 2014-11-13 13:38
程序员不断学习,不断沟通
作者: 一朵奇葩 时间: 2014-11-13 13:41
谢谢楼主分享,受益匪浅
作者: siasgarth 时间: 2014-11-14 03:09
superb!!!!!!!!!!!!
作者: 阿穆隆 时间: 2014-11-14 15:22
学习了。楼主大大大大的好人。
作者: 1017161726 时间: 2014-11-14 20:26
路还有好长呢。。。顶个、
作者: 吕静然 时间: 2014-11-16 14:13
谢谢分享!
作者: 热火程序猿 时间: 2014-11-17 13:55
谢谢,您的提醒
作者: 逗比程序员 时间: 2014-11-21 10:31
楼主,怎样把抽象的东西转换成代码,这个是不是就是编程的思维,怎样可以比较有效的拥有编程思维
作者: 茂茂 时间: 2014-11-21 21:33
作为初级阶段的我们,还有很多东西值得学习,加油
作者: 菜鸟一号 时间: 2014-11-22 14:11
这东西不错
作者: 黄科玮 时间: 2014-11-22 18:19
沟通能力的确尚需提高
作者: 齐小灰同学 时间: 2014-11-23 10:42
说的真好,我会好好参考的
作者: 齐小灰同学 时间: 2014-11-23 10:44
确实刚刚入门总会有很忐忑的心情,想知道很多方向类的事情,楼主真好
作者: 随风sky 时间: 2014-11-23 14:27
受教了!
作者: 怪物军师 时间: 2014-11-26 19:48
大多数没看太懂!
作者: 2094258262 时间: 2014-11-26 23:57
学习了。
作者: abclulu 时间: 2014-11-28 16:11
顶起。。。。。。。。。。。。。。。。。
作者: chinabate 时间: 2014-11-28 16:56
楼主分享的很多都没听过,谢谢楼主啦!自己努力啦!
作者: boycechan 时间: 2014-11-28 21:44
过来学习了!!
作者: 穿裤子的云 时间: 2014-11-28 23:41
谢谢分享
作者: 茂茂 时间: 2014-11-28 23:58
多谢楼主的分享,以后会尽力照着做的
作者: l763631191 时间: 2014-11-29 13:31
:D有道理~~~太有道理了~~
作者: lmh990274819 时间: 2014-12-1 09:47
程序员必须不断学习,不断沟通!
作者: 骑着会飞的猪 时间: 2014-12-2 12:44
学习了!!
作者: quick3g 时间: 2014-12-3 15:09
学习了。Emacs下载了,很不习惯哦。
作者: 张洋89 时间: 2014-12-4 00:03
我来顶起来
作者: nishi5151 时间: 2014-12-4 11:22
受用了!!
作者: yunxiao 时间: 2014-12-5 19:53
楼主写的不错
作者: 小凡_fly 时间: 2014-12-5 21:02
先做个标记 以后看 谢谢楼主
作者: 海饼干 时间: 2014-12-8 13:45
良好的沟通能力。
作者: 海饼干 时间: 2014-12-8 14:09
良好的沟通能力。
作者: alston 时间: 2014-12-8 19:11
斯国一~
作者: likechencen 时间: 2014-12-8 20:48
感谢楼主分享
作者: chaijie 时间: 2014-12-11 19:02
顶顶顶 在顶
作者: zcyemenye 时间: 2014-12-11 19:51
mark、留着慢慢来实现!!
作者: 嗷嗷嗷 时间: 2014-12-11 20:30
沟通能力一定要锻炼
作者: 侯鹏成 时间: 2014-12-11 21:04
程序员要学的东西太多了
作者: Elvismao 时间: 2014-12-12 11:08
虽然大部分都是废话,还是有几点值得注意,那就是多了解linux和unix。
作者: Jennifer 时间: 2014-12-12 22:33
谢谢楼主的分享,现在正在软件开发中努力ing
作者: 头狼 时间: 2014-12-12 22:36
还在学习基础,看了楼主的帖子,瞬间懂了很多
作者: yy505032788 时间: 2014-12-13 10:43
顶楼主一个
作者: cz萑 时间: 2014-12-13 21:54
还好知道点
作者: jason_gFW9t 时间: 2014-12-13 22:43
秒懂.:loveliness:
作者: 徐磊磊 时间: 2014-12-14 17:05
谢谢你的建议!很有用
作者: sjzxst2 时间: 2014-12-15 08:56
八个小建议很实用!:)
作者: laichunhui 时间: 2014-12-15 22:14
不是太懂,赞一个
作者: 张洋89 时间: 2014-12-16 20:19
谢谢啦,实用
作者: levin.liu 时间: 2014-12-16 22:53
沟通能力很重要
作者: cxj 时间: 2014-12-17 12:29
这个版块都是干货
作者: Alexrl 时间: 2014-12-17 22:00
谢谢。虽然还没学那么多东西。但是知道方向也是不错的。
作者: songkaihua 时间: 2014-12-18 00:39
活到老学到老!刚基础班,但很期待以后是程序员的生活!充实,脑子一直在转!
作者: hyc845461500 时间: 2014-12-19 11:35
相信自己这些可以全部办到!!!
作者: 木子轩 时间: 2014-12-19 17:04
我觉得现在的编程语言发展趋势越来越人性化....
作者: じ☆ve紫夜 时间: 2014-12-19 22:28
正在努力啊!!!
作者: 圣诞老人 时间: 2014-12-19 23:47
谢谢楼主。不断学习,不断沟通
作者: wzhk029 时间: 2014-12-20 23:20
过来赞一个
作者: 夜枫冷 时间: 2014-12-21 00:02
多谢提醒,努力发展下
作者: 木易young 时间: 2014-12-21 13:21
每日重复的工作就应该用自动化插件来提高效率
作者: 木乃伊 时间: 2014-12-21 15:53
我还要学的更深:sleepy:
作者: 孙林 时间: 2014-12-21 23:39
有道理、、、
作者: 掉了一地.. 时间: 2014-12-22 12:50
顶一个!!
作者: xiao飞 时间: 2014-12-22 16:34
不得不说是很好的分享
作者: dream_style 时间: 2014-12-22 21:45
哈哈,长知识
作者: Hello_Boys 时间: 2014-12-23 11:08
受益匪浅,感谢前辈!
作者: 夜空中的星 时间: 2014-12-24 15:23
谢谢楼主的分享,很受用!
作者: 魏文杰 时间: 2014-12-25 00:16
从学习开始就要养成好习惯。。。。谢谢楼主的分享!
作者: 王者之风西昆仑 时间: 2014-12-25 13:13
非常感谢,对我这个菜鸟来说获益匪浅
作者: nishi5151 时间: 2014-12-26 09:03
值得学习!!
作者: 李票 时间: 2014-12-28 17:39
又学到不少东西
作者: sunspot 时间: 2014-12-29 01:00
谢谢分享,收藏了
作者: 小小笑笑 时间: 2014-12-29 20:35
必须得赞一个!
作者: 六悦唯夏 时间: 2014-12-30 09:35
我来赞一个
作者: hi小鬼 时间: 2014-12-30 11:19
多谢分享~~~
作者: ITHM明 时间: 2014-12-30 15:56
"听君一席话,胜读十年书。"说的也就是这么个意思了吧!
的确,有懂行前辈们的引导,能让后来人少走很多弯路。
作者: 执笔画梦 时间: 2014-12-30 23:23
好文章啊,我得全部记下来
作者: 飞翔的蜗牛 时间: 2014-12-31 01:18
不错不错
作者: limxing 时间: 2014-12-31 09:53
说起来容易做起来……当然不能说难……
作者: 六悦唯夏 时间: 2014-12-31 23:26
今日来报道
作者: q798500920 时间: 2015-1-1 13:22
还是小菜鸟嘿嘿
作者: 581712sen 时间: 2015-1-1 14:16
学习了!
作者: 些许 时间: 2015-1-2 19:59
感谢分享啊
作者: 请叫我丶菜鸟 时间: 2015-1-3 21:49
耐着心的看完了这个贴子,感觉对自己以后还是有帮助的
作者: gxb2459 时间: 2015-1-3 23:45
谢谢分享!
作者: eli0827 时间: 2015-1-4 10:52
谢谢分享,受教了
作者: 金福林 时间: 2015-1-4 17:02
最后一条我喜欢
作者: Y_木头人 时间: 2015-1-4 20:21
受教了,要不断学习。。
作者: 烧烤节 时间: 2015-1-4 20:51
提前了解了。谢谢楼主分享!
作者: 六悦唯夏 时间: 2015-1-4 22:18
看看涨姿势
作者: SNXJ 时间: 2015-1-4 22:27
作为没有基础的新手表示 不明觉厉
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |