当前位置: 首页 > 科技观察

新手程序员应该知道的7件事

时间:2023-03-20 16:06:15 科技观察

资深软件开发人员分享的专业编程的一些经验和教训,这些教训是经过多年的经验总结出来的。如果您是专业软件开发领域的新手,那么由于计算机科学和编程方面的教育和/或培训,您已经掌握了一些知识。但真正的开发业务工作不同于学校的编程,这是你无法从大学课程或编码学校学到的东西。为了了解新手程序员需要知道什么,我咨询了一些经验丰富的编码老手,他们都至少有十年(甚至几十年)的专业软件工程师工作经验。我的问题是,如果他们现在回头看,他们希望在他们第一次以编写代码为生时获得哪些技能和知识。无论你是刚毕业并开始第一份开发工作的大学生,还是过渡到编程领域的老员工,欢迎阅读这7个编程新手技巧。1.了解底层系统软件开发的一个重要部分是了解编程语言。但是,正如一些人所建议的那样,开发人员还需要了解堆栈下发生的事情。Acquia的支持工程师PeteBul说:“很多语言都对系统级发生的事情进行了抽象,这种抽象很有用,因为它使开发人员在大多数时候更有效率。”“然而,当你遇到障碍,一个特别严重的错误,并且需要更深入地了解内部发生的事情时,了解底层系统是一项有用的技能,可以让你调试流程,查看系统调用,并实际了解它是如何运行的一段代码与系统的其余部分交互,”他在一封电子邮件中写道。同样,Platform.sh客户满意度副总裁RobertDouglass告诉我,“当我第一次开始编程时,我对计算机有很多不了解的地方。文件系统、网络连接和内存机制是三个明显的例子..不理解这些意味着我可能不知道我想要呈现的一些编程结构的目标。”2.了解命令行工具作为一名开发人员,你必须在IDE或代码编辑器上花费大量时间。但是,了解命令行工具可以帮助您更轻松地完成工作。“有时您可能会遇到需要紧急完成某事但工具非常有限的情况。”一位有20年工作经验的不愿透露姓名的资深程序员告诉我,“认识shell就像呼吸一样自然。掌握find、comm、diff、vi/vim、sed、awk等工具,懂得使用命令行查找文件等,可以减轻你写脚本的负担。Bull是一名从Microsoft工具开始,然后逐渐转向Linux的程序员,他对此表示赞同:“了解命令行的来龙去脉并掌握所有实用程序真的很重要。”这是我的亲身经历。3.调试器是我们最好的朋友。程序员的大部分时间都用于追踪错误。Novartis的生物信息学开发人员DaveVaron强调了调试器的好处以及它如何节省时间。初始成本。“一定要学会使用调试器!”他告诉我,“磨刀不误砍柴工,提前配置可能需要一两天时间。”如果没有得到预期的结果,那就调试:设置断点,单步调试代码,特别注意第三方代码。这样可以省去很多挫折感,也可以让你更好地理解只有阅读别人的代码才能知道的编码知识。4.学习编写测试。一些开发人员认为单元测试,即编写测试来验证小代码单元是否正在执行它们应该执行的操作,是至关重要的。StrategicPowerSystems的数据库开发人员RichardHandloff就是其中之一。1.“我认为我曾给任何想要学习编程的人最好的建议就是学会编写好的测试并在过程的早期开始编写测试,”他在一封电子邮件中给我回信5.积极响应变化并学习新系统我们都知道,如今技术变化很快。这不仅适用于我们喜爱的消费产品,也适用于程序员使用的底层系统、语言和工具。AdamWulf,积极主动地改变并保持在技术的前沿,为移动开发人员和MilestoneMade的创始人提供建议。“现在,我的建议是计划每4年基本上学习一个新的技术堆栈,”他说。说,“好的基础总是可用的,但你每天使用的工具和技术每4年左右就会完全不同。“一个项目永远不可能只用一种语言和一种框架,”一位不愿透露姓名的开发者说。转移,一种语言/技术向另一种语言/技术的扩散,”他写道。6.良好的协作尽管程序员习惯于戴着耳机独自工作,但你仍然需要与他人协作。SinclairDigital的首席技术官BenMiller强调了重要性团队合作对商业成功的影响。“大型项目往往意味着大量移动组件的碰撞,需要处理组件如何组合和划分,一不小心就会导致不可预知的结果。‘工程问题’。”他“在优化算法之前,与团队合作确保没有问题是交叉的,这样每个人都更容易解决问题。编码是团队游戏!”Varon重申了人际交往能力的重要性,他说:"如果你再看API再调试都不能找出问题的根源,那就是寻求帮助的时候了。即使你认为自己写了杰作,也不代表没有废话或者它不能更好。与同事相处融洽。有时只需要大声说出问题,它可能会带来灵感。“一些匿名人士也有类似的想法,比如成为一名团队合作者。”他说,“促进团队凝聚力,乐于助人,即使是琐碎的任务。”但是,在这种情况下,他警告说,“必须有一定程度,不要捡了芝麻丢了西瓜,忘记了本职工作。7.不要害怕失去工作。米勒有一个特别有趣的建议。“跳槽就是升职,”他告诉我。会给你更多的东西。他们甚至可能会要求您将自己的工作传授给其他人,”他解释道。“总的来说,担心失去工作会阻碍你的职业发展。“