新入行程序员须知的8件事

  英文原文:What I Wish I Knew When I Became a Software Engineer

  今年已经是我成为软件工程师的第 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 了。

  我自己也不是每次都能做到上面每一点的,但是我依然希望,在我刚刚跨入这个领域时,能有人将这些肺腑之言告诉我,我会真心不胜感激。

时间: 2024-10-13 01:16:12

新入行程序员须知的8件事的相关文章

新入行程序员应知的十个秘密

新入行程序员应知的十个秘密 初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威.这样的故事实在是司空见惯,编程工作也不例外. 没有几个学生能 100% 为自己的第一份真正的工作做好准备.如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能: 1.版本控制系统(VCS) VCS 也许是计算机课程最大的疏漏.这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码.每一个程序员都应该懂得利用 Git 或 Subver

新入行程序员考虑自己是否明白以下这8件事情

[e良师益友网]关于下面这些事情,我常常想,要是我刚入这一行时就知道的话那该多好,能少走不少弯路,取得的成绩也肯定比现在高.唉,往事不可追,所以在这里我想分享给大家,尤其是刚进入这一行的新手,请仔细考虑自己是否明白以下这8件事情. 1.良好的沟通能力 工程管理是一个团队 活动,哪怕有时候这个团队只有你一个人.由于每时每刻都有那么多事情需要相互了解,所以沟通就成为了最大的问题.90%的工程管理指的就是沟通.比如,我 们得向人解释bug是什么?如何有效诊断?如何向大家完整地表述自己的复杂想法?沟通是

新入行程序员应该知道的十个秘密

初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威.这样的故事实在是司空见惯,编程工作也不例外. 没有几个学生能 100% 为自己的第一份真正的工作做好准备.如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能: 1.版本控制系统(VCS) VCS 也许是计算机课程最大的疏漏.这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码.每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 rep

新入行程序员需要知道的十个秘密

初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威.这样的故事实在是司空见惯,编程工作也不例外.没有几个学生能 100% 为自己的第一份真正的工作做好准备.如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能:1.版本控制系统(VCS)VCS 也许是计算机课程最大的疏漏.这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码.每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 reposi

最能毁掉程序员健康的几件事

个人博客:http://yuankang.sinaapp.com 导读: 说实在的,程序员是一门苦差事,虽然工资待遇相对其他行业略高一点,但是工作节奏和工作压力却远远大于大部分行业.然而,面对这样一个客观事实,仍有很大一部分程序员没有良好的工作方法和生活方式,让自己长期处在亚健康的状态,这是让人非常心痛的. 本文列出了几件毁掉程序员健康的事情,希望你可以尽量避免它们,写健康的程序代码. 一.熬夜 很多程序员将熬夜变成了生活习惯,还口口声声解释"程序员只有在晚上效率才高",这是非常扯淡的

毁掉程序员健康的5件事,你中了几招?

众所周知,程序员是门苦差事,虽然工资相对其他行业略高一些,但是工作节奏和压力却远远大于其他行业.然而,仍有大部分程序员没有良好的工作方式和生活方法,使自己长期处于亚健康的状态,博主带你瞅瞅有哪些健康是我们所不曾注意到的. 熬夜 常常听到程序员将熬夜变成一种生活习惯,还总说,程序员只有到晚上的效率才最高,博主想说的是"有点扯",如果你尝试一下晚上10点睡觉,早上6点起来工作的作息时间,也许也会带来事半功倍的效果. 久坐 很多程序员在电脑前一坐就是一天,除了吃饭和上厕所外基本上不走动.时间

每个程序员应该知道12件事

1. 充满热情:喜欢你的工作,创造性做得最好比昨天更好. 2. 热爱你的代码:为人写代码,而不是为机器写代码,写干净的代码. 3. 版本控制:备份代码,跟踪变更,经常commit,如果build出错,就不要commit. 4. 阅读代码:在你成为一个好的作家之前,首先是一个好的读者.70%时间在读,30%在写. 5. 实践实践再实践:在公司外项目实战,尽可能做得更好,以老师身份实践. 6. 重构:提高你的代码质量,使代码易于理解维护和拓展. 7. 跟从模式和最佳实践:面向对象设计原则,SOLID

一个野生程序员的真实自述:我是如何从数学专业学渣入坑程序员的

1.引言"恭喜你,成功的避过了所有的正确答案,选择了错误答案".没错,我是一个数学专业的普通大学生(准确地说,是学渣一枚),排除万难,我终于还是入了程序员的坑(不好意思,给程序员抹黑了)! 2.生活爆锤了我一顿我是一个平凡的人,人生也一直都是平淡且稀里糊涂的!像别人家孩子发生的事从来不会发生在我身上.在稀里糊涂的高考完之后,竟也能稀里糊涂的上了一个还凑活的本科院校(虽然是数学专业),算不上好,也算不上坏.没有像大多数的考生一样抱怨没发挥"好",满怀憧憬的准备开启我的

为什么要对新入行的人爱理不理?

我在深圳,是做软件开发的,最近想做木质挂件摆件的生意,自己设计图案,找工厂来生产.用百度搜,结果大多是阿里巴巴网站上的,阿里巴巴网站右下角有个在线恰谈,可以在线聊天,大部分公司是没有回应的,这个能理解,做工厂的可能不重视这个.不过也有一些有回应的,可是问几个问题之后,基本上就不回复了,我的问题大约是这样: 请问你们公司能定制挂件吗?图案我这边出. 你们一般是用什么木料吗? 我能指定木料吗?比如说要用桃木. 我并没有问什么敏感问题,甚至都还没有问到价格,但是随后就没有答复了. 我前几年也有问过做服