转载 codeceo 原文连接:http://www.codeceo.com/article/5-challenges-new-programmer.html

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求

如果你对编程和专业的软件开发感兴趣,那么,这里有5个新晋软件工程师所要面临的挑战。

5.代码疲劳

专业程序员要写的程序……很多。

作为入门级工程师,我每周至少编程45小时,而且每个月会有1到2个星期工作50至60小时。从这些数字上看,我过去几个月里每周工作将近50小时。

80% – 90%的工作时间都耗在了电脑前。

这样的数字虽然表明了享受于编码确实有助于进步……但疲劳奋斗也是真的。

4.处理任性的需求

“那么,请告诉我,为什么我们要像Z-X-Y这样实现这些要求,而不是X-Y-Z ??”——因为客户想要这种方式。

“那么,为什么我们要允许应该不能手动输入的唯一标识符支持手动输入?”——因为客户希望这样。

值得庆幸的是,这些要求都不是太难,而且有必要的话,我们往往可以对为什么不执行这些要求给出一个很好的理由。

当看到这样的请求时,我真的是哭笑不得。

3.解释需求

如何解释一个项目的主要需求是导致工程师脱颖而出的一个部分。

这需要一些文档以及指导构建什么的页面。这还需要一些文档并构建客户其实想要的东西。

这是一件需要实践的事情,但如果你不试着去了解它,那么你可能永远学不到这个技能。话说我自己还在学呢。

2.和测试人员一起工作

和我一起工作的那个测试人员是一个很牛逼的人。他只比我大了几岁,但很聪明,是团队中最难以一起工作的人员之一。

他一周之内就让我发狂了多次。

如果测试人员在我的高级项目中检查出了bug,然后再移交给我们,那么我们就得花额外的时间再来完成。

和测试人员一起工作的好处是,你可以确保你名字对应的高质量产品是棒棒哒……所以最后,我们会喜欢测试人员。

1.其实应该是设计软件

对于最后一点,我要举一个我自己的例子,我现在是多么希望我在大学里能花更多时间去学好这些内容。

想到一个点子(planner app,网站与用户,任何有关数据驱动的,等等),决定构建它的技术堆栈(字面上看任何堆栈都有效,不要太在意批评,当最终目标是学知识的时候) ,并配置你的工作环境(即在计算机上下载和安装所有必需的软件)。

仅此部分将需要几个小时,如果你抓紧的话。

随后,建立项目的时间安排表,确定自己的想法,一次一行代码。一个聪明的办法是快速构建一个可演示整个项目应体现什么核心思想的工作原型。即使是有经验的程序员,这些事情也需要一个星期或更长的时间。

到了这一步,可千万不要放弃。反复地改原型直到完成,并在公共平台上发布自己的想法。如果你有才华,有经验并擅长于管理,那么你可能在几周内就可以处理好所有这些。我花了6个月时间来完成我的第一个个人app项目,并把它发布到了Google Play Store。

如果你已经完成了上述所有步骤,那么恭喜你,你已经成功地将你的想法转变为现实。这就是我希望我在大学中所能学到的东西,并且实现过多次。这就是软件工程以及软件工程师日复一日工作的内容。

感谢大家的阅读!有不同的意见和看法也敬请提出。