新入行程序员考虑自己是否明白以下这8件事情
2014-11-17 17:44
337 查看
【e良师益友网】关于下面这些事情,我常常想,要是我刚入这一行时就知道的话那该多好,能少走不少弯路,取得的成绩也肯定比现在高。唉,往事不可追,所以在这里我想分享给大家,尤其是刚进入这一行的新手,请仔细考虑自己是否明白以下这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了。
我自己也不是每次都能做到上面每一点的,但是我依然希望,在我刚刚跨入这个领域时,能有人将这些肺腑之言告诉我,我会真心不胜感激。学习更多编程语言教程知识可登陆e良师益友网。
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了。
我自己也不是每次都能做到上面每一点的,但是我依然希望,在我刚刚跨入这个领域时,能有人将这些肺腑之言告诉我,我会真心不胜感激。学习更多编程语言教程知识可登陆e良师益友网。
相关文章推荐
- 做蓝牙产品开发都3年了.熟悉软件,硬件,生产,销售..考虑...是否要去新的地方或者自己做了...
- 以下几种程序员注定没有前途,警示自己
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 新入行程序员须知的8件事
- 两个C++对象是否相等,要程序员自己下定义,通常是覆盖==操作符
- 程序员优秀不在于他知道多少种语言,在于他做出来的东西的价值以及对他自己、同事、团队、公司以及社会的贡献,顶尖的人应能带领一个团队完成一件或多件对社会有促进意义的事情。
- 程序员在搭建网站要考虑的事情
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 怎样判断自己是否在程序员平庸者之列?
- 判断男女2个人是否适合,应考虑以下10个因素
- Oracle vs Google:在陪审团考虑专利问题之际法官Alsup披露自己是个程序员
- Oracle vs Google:在陪审团考虑专利问题之际法官Alsup披露自己是个程序员
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 学易一年来,自己亲手给自己预测一件事情,两月后试目以待是否准确。
- 文字计算器 对输入的加减乘除等四则运算得出结果,是否考虑负数,小数等(难度:★★★★)由自己决定
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 如何判断自己是否具有成为一名优秀程序员的潜质
- 经常让程序员恼火的一些事情你是否也遇到过一些?