当前位置 > 主页 > 行业简报 >


江苏万和谈成为程序员的5大惊喜

2015-07-31 09:48

  尽管已经过去20多年了,我是如何毕业开始工作的场景依然历历在目。而在这之前,除了几个与编程无关的暑期工作,我几乎把我所有的时间都耗在了学校里。对于我将来的软件开发员的工作我的设想很多,后来也一一实现了,但在工作的头两年,这个身份还是给我来很大的惊喜,下面列举其中最棒的5个:


  TOP5 互动


  编程似乎是种相当寂寞的工作——为了实现一定的功能,你不得不坐在电脑前写啊写啊写代码。事实是,编程其实需要和很多人进行互动协作。你得和你的同事讨论你的设计,你得在会议上解释程序的新功能,而且还要和测试人员聊聊代码。


  互动有助于培养得体的社交方式。并且这方面能力是完全可以通过后天学习学会的。关于这方面我推荐Dale Carnegie的著作《如何赢得朋友和影响别人》,非常值得一读。


  TOP4 写作


  写作能力的强弱直接影响别人能否轻易读懂我们要表达的观点。而在一定程度上,编程和写作是非常相似的,它们都需要用一种结构化的方式清楚明确地表达自己的想法。并且写作这个技能应用非常广泛,写电子邮件需要,写软件的功能文档需要,在错误报告中描述bug也需要,甚至是清楚知道问题之后,详细解释如何修复bug之时还是需要。如果我们能在大学时好好锻炼这个能力,那么绝对让你今后的工作受益匪浅。


  TOP3 永远搞不定的软件


  我原来以为写软件只需要把设定的功能捣鼓出来就算完工了。而在现实中,事实并非如此,我们需要时不时地回过头去检阅软件,看看这个功能是不是客户真正想要的,是否需要增加更多的功能(或者类似的功能),看看有没有bug,要不要修复等等等等,我们得不时地查阅之前写好的代码。


  有时候,我真心不明白新的功能为什么总是要插入到已有的代码中去。在大学的时候,我们是一点一点写代码,写好就完事。但是现实中却不是这样的。我们可以创建新的功能,但是得在已经写好的代码中植入进去,要适应原先代码的运行环境。因此,要想创建一个新的功能首先必须理解现有的代码,以便新功能适合这个软件,这是在学校里你永远也学不到的。


  TOP2 聪明的算法


  在大学的时候我拿到了计算机科学与工程专业的硕士学位。我学的是通信系统,内容包括信号处理、代码纠错、排队论等等。我们也学习计算机科学的核心课程,比如算法和数据结构等,这一切都让我着迷。并且我特别期待将来能在工作中使用这些知识。


  我的第一份工作是在蒙特利尔(加拿大东南部港市)的爱立信公司,职位是软件开发人员,主要处理移动交换中心的蜂窝网络呼叫工作。它是通过代码来控制呼叫建立、越区切换、漫游等等,特别让我失望和震惊的是,这么大个控制中心所用的竟然是最最基本的数据结构和算法。最滑稽的事情来了,这些代码竟然还能追踪当前系统中的漫游用户。系统由上千个二叉树构成,其中用户号码的最后三位数字来确定某一特定用户在树的哪个位置。所以,你要是想找到某个给定的用户,在知道最后三位数字的基础上,你还得傻乎乎地在整个树上查找。除此以外,这几乎就是唯一的链接列表,或者是更为简单的链接列表。


  TOP1 整合之后的复杂性


  因为考虑到在实际应用中并没有使用到精巧的算法,整个应用程序只使用了非常基本的数据结构,想要运作这个系统似乎是没啥挑战性的。但是很快我发现自己错的很离谱,这个所谓“简单”的系统,因为很多很多简单功能的整合,竟然变得特别特别复杂!哦,天哪,这简直要了我的老命了。虽然绝大多数的功能虽然都死命的简单,但是因为数量实在太多,使得其中一个出了bug,其他的或多或少都会有微妙的影响,简直就是牵一发而动全身啊。这种类型的系统复杂性来源于许多简单组成部件的整合,而不是因为任何复杂的组成部件。编辑:江苏万和计算机培训中心


最近开班 more>
  • 全栈开发
  • 前端基础班
  • 软件测试
  • Java大数据开发工程师
  • 云原生精英班
  • 开发课程基础班第四期
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第一期
  • Java Web UI Python
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • 脱产班
  • vip班
  • 考试计划
  • 脱产班
  • 脱产班
  • 脱产班
  • 双休班
  • 双休班
  • 双休班
  • 双休班
  • 业余班
  • 业余班
  • 10月16日
  • 9月23日
  • 9月2日
  • 9月30日
  • 8月26日
  • 10月8日
  • 9月23日
  • 9月16日
  • 9月9日
  • 随时开课
  • 9月21日
  • 10月17日
  • 9月18日
  • 9月2日
  • 11月2日
  • 10月26日
  • 9月7日
  • ——
  • 随时开课
  • 9月26日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入