via:http://linux.cn/article-4186-1.html
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了。 我自己也不是每次都能做到上面每一点的,但是我依然希望,在我刚刚跨入这个领域时,能有人将这些肺腑之言告诉我,我会真心不胜感激。 |
- 浏览: 662526 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (608)
- Java (125)
- Struts (16)
- Spring (19)
- iBatis (11)
- Hibernate (14)
- Oracle (33)
- Mysql (22)
- JBoss (4)
- JavaScript (46)
- Ajax (9)
- jQuery (5)
- web (25)
- Html (14)
- Exception (26)
- Linux (106)
- Vim (11)
- Python (12)
- ComputerTech (25)
- 文章 (50)
- Maven (20)
- FreeMarker (5)
- Json (0)
- Tomcat (6)
- ActiveMQ (2)
- Test (1)
- Git (5)
- Shell (1)
- 《Java并发编程实践》 (2)
- 产品设计 (1)
- xxx (0)
- diamond (1)
- dubbo (1)
- Raspbian (1)
- IDE (3)
- 并发编程 (1)
最新评论
-
mikzhang:
抱歉,写这篇文章时,博主开发的程序只面对IE浏览器,故没考虑其 ...
JS 中改变confirm默认按钮提示“确定""取消" -
poterliu:
测试过了,发现execScript方法只支持IE浏览器。目前已 ...
JS 中改变confirm默认按钮提示“确定""取消"
发表评论
-
<<将博客搬至CSDN>>
2017-04-06 14:03 424博客搬家 -
编程经验之谈
2016-01-20 18:17 0以下编码经验来自平时的程序编写和维护过程。 * ... -
Java互联网工程师要具备哪些技能
2016-01-20 17:43 01.Core Java,就是Java基础 ... -
程序员应该养成的良好习惯
2016-01-07 16:07 4561、总结自己一天任务的完成情况最好的方式是写工作日志,把自己今 ... -
CP vs SP
2015-11-10 17:46 5001.什么是SP? SP是英 ... -
关于文件放在ftp还是放在数据库
2015-11-10 17:08 0关于文件放在ftp还是放在数据库 服务器的文件夹: ... -
是什么造就了一个优秀的程序员
2014-12-03 14:04 522是什么造就了一个优秀的程序员?首先问问你自己吧,这会是个 ... -
Bug的类型
2014-12-01 22:47 539美国计算机科学家、图灵奖获得者詹姆斯·尼古拉·格雷(Ji ... -
Web开发在2015年及未来的发展趋势
2014-12-01 16:38 0via: http://www.iteye.com/news ... -
程序员什么时候该辞职
2014-12-01 16:15 637via: http://linux.cn/article-3 ... -
关于开源文档:程序员可能忽略的十件事
2014-11-25 15:26 550via: http://code.csdn.net/news ... -
导致程序员在工作中丢失激情的5件事
2014-11-25 15:22 704via: http://code.csdn.net/news ... -
给技术高管日常管理的五条小建议
2014-11-25 15:07 382via: http://www.iteye.com/news ... -
学好计算机英语
2014-11-13 21:51 0via: http://www.cnblogs.com/q ... -
项目管理缩略语英中注释表
2014-11-13 21:49 0via: http://www.cnblogs.com/qq ... -
浅析软件项目管理中十个误区
2014-11-13 21:47 0via: http://www.cnblogs.com/qq ... -
25个妙招儿,帮你每天挤出一小时
2014-11-13 21:43 025个妙招儿,帮你每天 ... -
项目管理风险控制及注意事项
2014-11-13 21:40 0项目管理风险控制及注意事项 作为项目经理要动态的去全局 ... -
测试驱动开发全功略
2014-11-13 21:27 534via: http://www.blogjava.net/b ... -
程序员新人怎样在复杂代码中找bug
2014-11-07 09:39 689via: http://wmcxy.iteye.com/bl ...
相关推荐
- **目标读者**:无论是初学者还是有一定经验的程序员,《Learn Java for Android Development》都是一本值得阅读的好书。本书旨在帮助读者从零开始学习Java,并逐步过渡到Android开发领域。 - **章节结构**:全书共...
这款插件提供了丰富的代码补全、重构、导航和格式化功能,极大地提高了程序员的工作效率。 在描述中提到的"附劫持破解补丁+破解教程"可能是指为了使未授权用户能够免费使用Visual Assist X,网络上流传的一些非法...
而".url"文件可能指向了一些在线学习平台,如51培训网和程序员之家,这些网站通常提供丰富的编程课程和社区讨论,对于自我学习和答疑解惑非常有帮助。 "C C++ VC++ Java培训 Java技术 Java编程 DOTNET技术 DOTNET...
《适用于所有人的Python:探索Python 3中的数据Python for Everybody: Exploring Data in Python 3》是本书的标题,旨在通过数据探索的角度向读者介绍编程和软件开发,并特别关注Python编程语言。本书认为Python不仅...
《JAVA语言全书VB版》是一部专为程序员和学习者准备的综合性教程,它将原本以JAVA语言编写的教材转化为VB(Visual Basic)版本,便于使用VB编程环境的用户理解和学习JAVA语言。VB是一种广泛使用的面向对象的编程语言...
Code以其强大的功能和高效的开发体验深受程序员喜爱。它内置了Git版本控制,支持多种编程语言,并拥有丰富的扩展插件生态,能够满足各种开发需求。在1.7.4版本中,Code继续优化了性能和用户体验,修复了一些已知问题...
值得注意的是,文件列表中还有"page1(最终的).pdf"和"page0.pdf",它们可能是教材的前言或者目录,提供课程的概述和学习路径指导。"ML_最新_.pdf"的文件名似乎与机器学习有关,但在这个C语言和数据结构的教程中,...
压缩包中的文件名揭示了它们与Java编程语言的学习和实践有关,特别是关于数据库交互、集合操作、自定义标签、Web开发(Servlets和JSP)以及输入/输出编程的实验室工作和补充任务。下面将对这些知识点进行详细的阐述...
值得注意的是,"java"这个文件或目录可能是为了对比Java和C++之间的异同,或者是探讨两者的交互和兼容性问题。 在学习C++的过程中,理解和掌握以下几个关键知识点至关重要: 1. **基本语法**:包括变量声明、数据...
总的来说,JSON-for-Chrome插件是Chrome开发者工具的一个强大补充,通过提供高效、便捷的JSON数据查看和管理方式,使得开发者在面对复杂的JSON数据时能够更加得心应手。安装和使用这个插件,可以提升开发人员的工作...
它不仅使代码结构更加清晰、模块化,同时也为C++程序员提供了更加强大和灵活的工具,尤其是在处理迭代和状态管理等场景下。通过GCC这一强大的编译器支持,Lexical Closure有望成为C++语言中的一个重要补充,进一步...
《C++ Primer》是C++编程领域的一本经典教材,其第四版更是广受欢迎,深受程序员和学习者喜爱。这个压缩包文件包含了该书的清晰电子版和完整的习题解答,对于想要深入学习C++的人来说,是一份极其宝贵的资源。 首先...
《微软C编程精粹必读》是一本专为学习和精通C语言编程的读者精心编写的书籍,尤其针对那些对微软技术平台...同时,提供的"说明.htm"和"readme.txt"文件可能是对书籍内容的补充说明或作者的额外提示,同样值得读者关注。
如果D9果真能够达到Borland所承诺的那样,具有强大功能(和VS2003比)的同时,具有很好的稳定性,那么D9的确将会是一个值得期待的开发平台。即使从对Object Pascal语言不感兴趣的.NET程序员的角度,在D9里面使用C#...
《VAssist——提升编程效率的利器》 ...无论是新手还是经验丰富的程序员,VAssist都是值得信赖的编程伙伴。通过熟练掌握和运用VAssist,我们可以在编程世界中游刃有余,创造出更高效、更优质的代码。
《Atom-Atom Node.js Snippets:提升JavaScript与Node.js编程效率》 在现代软件开发中,文本编辑器扮演着至关...对于那些经常使用Atom进行Web开发的程序员来说,这是一个不可或缺的工具,值得在日常工作中尝试和采用。