5大惊喜,开始时作为一个软件开发者

虽然20多年过去了,我仍然记得想什么它会像大学毕业并开始工作。在此之前,我已经花了我的整个生命在学校,只有少数,编程工作扔在夏天。我的期望是什么样子的工作作为一个软件开发者大多是正确的,但有一些惊喜的头几年,这里是前五:

1。复杂的聚集

因此,鉴于目前还没有聪明的算法在使用,而且整个应用程序只使用非常基本的数据结构,它起初看起来不会有许多挑战的系统工作。错误的!我很快意识到系统是非常复杂的,与复杂的功能,而且有很多简单的特点,聚集在一起。这是我看过的所有系统和我合作过的。大多数的功能是非常简单的,但因为有那么多人,你微妙的(或不那么微妙)它们之间的相互作用造成的错误。系统的复杂性来自于聚集了许多简单的部件,不受任何复杂零件。

2。一些巧妙的算法

我在大学做了一个 学位。在计算机科学和工程。 我研究了通信系统,其中包括信号处理,纠错码,排队论等。我们也有计算机科学的核心课程中的算法和数据结构,和我爱这一切。我认为这是很酷的教导所有这些聪明的算法和数据结构,和我期望看到他们在工作中使用。

我的第一份工作是作为一个软件开发者在爱立信在蒙特利尔,与移动交换中心,处理在蜂窝网络。有很多的代码控制呼叫建立,漫游切换,等等,但是我很失望地看到,这一切都做得很基本的数据结构和算法。最有趣的部分,我发现了代码跟踪漫游用户当前系统中。它包括一千个二叉树,在最后三位数字的用户数量确定给定用户属于树。找到一个用户,你选树的基础上,最后三位数的号码,然后遍历树找到用户。除此之外,这是非常只链接列表或简单的。

3。软件没有做过

我开始工作之前,我觉得你开发了一个功能,那么你做了它。然而,在现实中你经常会回到特点。也许这不正是客户想要的,或者你是更多的功能加入到它,或类似的增长而你想结合,或是在固定臭虫。一种或另一种方式,你经常回到你写的代码之前。

我真的不懂的新功能几乎都是插入到现有的代码。在大学,我们一直发展节目从无到有,但这几乎是不现实世界里的情况。当然,你创造新的功能,但它总是有适合在什么是已经有。因此,有很大一部分创建一个新的特征是了解现有的代码,以便适应新特征。这是我们从来没有在学校练习。

4。写作事项

它帮助了很多能写清楚为了让你的观点。在某种程度上,编码和写作都很相似。在这两种情况下,你需要清楚地表达你的想法和明确的结构方式。当然有很多的电子邮件,需要写的,但也有文件的功能已经开发,描述错误错误报告,使其清楚问题是什么,以及很好的解释,你有固定的错误。没有强调大学写作,但能写的好,肯定是一个资产的工作。

5。人与人的关系

编程看起来相当孤独的工作–特征是需要做的,所以你坐在你的电脑和代码了。事实是,有相当多的互动与其他人。你讨论你的设计,你的同事,你在会议上审查新的特点,和你交谈的测试员测试你的代码。

它真的帮助是机智和外交在这些相互作用;如果这不是与生俱来的,学习如何。一个最好的书的主题是如何赢得朋友和影响他人由卡耐基。如果你没有看过,我真的建议你做。

posted @ 2012-08-28 17:35  cn-java  阅读(204)  评论(0编辑  收藏  举报