每个新程序员都应该知道的7件事
VETERAN Software Developers分享了多年来如何成功浏览专业编码业务的课程。
如果您最近加入了您在计算机科学和编程中的教育和/或培训的专业软件开发人员的世界,您将所有这些都弄清楚。Developers who have been around the block a few times, though, want you to know that there are a bunch of things you should know about the business of writing code for a living that you can’t learn from a university course or a coding academy.
To find out what those things are, I spoke with a number of seasoned coding veterans, all with at least a decade (sometimes multiple decades) working as professional software engineers and I asked them what they wish they’d known when they first started to code for a living. Whether you’re a recent graduate starting your first developer job, or an older worker who’s transitioned to programming, use the arrows above to read 7 pieces of advice for newbie programmers from those who’ve been there and been doing that for years.
也可以看看:
了解底层系统
当然,软件开发的一大部分是了解编程语言。但是,正如几个与我分享的人一样,开发人员也需要了解堆栈下降的情况。
“许多语言摘要远离系统级正在发生的事情,并且抽象是有用的,因为它允许开发人员大部分时间更加富有成效。”Pete Bull说,一个支持工程师默许。但是,当你击中一个障碍时,一个非常令人讨厌的错误,需要更深入地了解引擎盖下发生的事情,嗯它是能够调试一个过程并查看系统调用的有用技能,并且真正看一下代码正在与系统的其余部分交互,“他通过电子邮件写道。
同样,罗伯特Douglass,客户满意度的VPplatform.sh.告诉我,“当我刚刚开始编程时,有很多事情我真的不了解电脑本身。文件系统,网络以及如何保存在内存中的三个明显的例子。这意味着我不一定会理解我正在呈现的一些编程构造的目标。“
知道命令行工具
作为开发人员,您将花费有很多时间与幻想IDE或代码编辑器合作。然而,也知道如何在命令行完成的事情可能偶尔会让你的生活更轻松。
“有时你发现自己在现在已经完成的机器上,工具非常有限,”一位20年的资深程序员希望保持匿名的人告诉我。“知道你知道的壳牌,知道如何呼吸。像查找,Comm,Diff,VI / Vim,SED,AWK等工具。如何在命令行上写入小脚本,找到需要更改的文件,因为现在的生产被破坏了,并且在斐济胖胖胖胖胖的joe是在斐济的假期。“
Bull,谁开始使用Microsoft工具,然后慢慢地移动到Linux,同意,说:“我会学习命令行的Ins和Outs以及* nix系统上可用的所有有用实用程序。我实际上可以回顾一下我在几年前写的代码,可能花了几天或几周,这可能在Grep + Awk单线中可以更好地完成。“
你的调试器是你的朋友
作为编码器的一大块时间将涉及跟踪错误。Dave Varon,一种生物信息学开发人员诺华,强调调试器的好处,它如何超过您的时间的初始成本。“学会使用你的调试器!”他告诉我。“乘坐额外的一天或两个来配置它。当您没有看到预期的结果时,只需调试它:设置断点,步骤通过您的代码和ESP。第三方代码。它会拯救你的日子沮丧,甚至更好,你会学习关于编码的东西,你只能通过阅读别人的代码来学习。“
学会写测试
一些开发人员觉得单元测试,即写作测试以验证小单位代码正在做出他们应该的事情,这是至关重要的。Count Richard Handloff,一个数据库开发人员战略电力系统在那些人中。“我认为最好的建议我给了一个想要学习的人是学会学习良好的测试,并学会在这个过程中真正在这个过程中写下你的测试,”他在电子邮件中写信给我。
计划改变和学习新系统
每个人都知道这些日子很快就会变化。不仅适用于我们心爱的消费品,还适用于程序员使用的基础系统,语言和工具。
亚当·沃尔夫,一个移动开发人员和创始人里程碑制作,建议准备新的编码人员,并继续更改。“现在,我的头脑,你应该计划每〜4年学习全新的新技术堆栈,”他说。“良好的基础知识总是适用,但你每天都会使用的工具和技术每4年都会完全不同。”
“项目永远不会再用一种语言使用一个框架,”那些希望保持匿名的开发商表示。“你永远不会在一个项目中只能工作,习惯于将项目从项目转移到项目和语言/技术到语言/技术,”他写道。
与他人一起玩
尽管人们独自使用耳机的程序员刻板概念,但开发人员仍然必须努力工作。本米勒,首席技术官Sinclair Digital Ventures.,强调能够作为您职业成功的团队的一部分工作的重要性。“大项目意味着许多活动部件融合在一起,它们如何合适,分割问题可以创造不可能的工程问题,如果你不小心。”他通过电子邮件写道。“在尝试优化一个算法之前,与团队合作并确保没有重新分割的问题,使每个人的问题更简单。编码是一项团队运动!“
Varon重申了人们技能的重要性,说:“如果你无法通过重新加入API或调试来弄清楚自己,请求帮助。仅仅因为你认为你写了一个杰作并不意味着它不是废话或不能更好。就像在大学一样,房间里的其他人有同样的问题,或者只有你可以回答的问题。与同事制定融洽关系。通常只是说出这个问题大声夸大了eureka时刻。“
我的匿名来源也分享了关于成为团队球员的好处的类似思考。“走到盘子上,尽管它是咕噜咕噜的作品,但甚至会遇到你的东西会让你雇用,”他说。但是,在这种情况下,他也警告说,“但要小心,你可能会陷入困境。”
不要害怕向自己编写工作
米勒有一个特别有趣的建议,首先腮红可能似乎没有直观。“在一份工作中编写自己让你晋升,”他告诉我。“找到解决问题的最简单方法,使您的代码有弹性和免维护,人们会给您越来越多。他们甚至会要求你教别人做你所做的事情,“他解释道。“简而言之,担心(或者至少编码)工作保障对你的职业生涯施加了一个阻碍者。”
版权所有©2015.Raybet2








