做一名优秀的软件开发qa
作为PHP开发人员或事实上的任何类型的开发人员,您需要在这个瞬息万变的行业中不断提高自己。 您需要每天学习和使用新知识。
成功的开发人员的共同点是,他们非常关心编程,他们是将良好的编程习惯视为一种艺术的专业人员。
在本文中,您将通过遵循编程的“礼节”来学习如何成为一名更好的开发人员,并且还将学习如何使用此信息来教别人如何做得更好。
如何成为一名专业人士
无论您从事什么工作,专业素养总是从您开始。 专业人员首先具有很强的个性和品格。
与生活的任何领域一样,编程专业人员也受到尊重。 让我们看看你如何成为一体。
不要自私
自从我练习这项技巧以来,我就有机会在大型团队中工作,而我早期所学到的最重要的团队动态是团队和协作是紧密相连的。
您在团队中大部分时间都是在互相学习和互相教teach,并且工作环境应始终包含并奖励共享。
如果您不想分享自己的工作和知识,自大和/或有很大的自负,那么在这样的环境中工作会感到不舒服。
要负责任
非专业人士无需为自己的工作承担责任。 这留给经理。 他们只是得到分配给他们的工作,而在时钟到下午5点时就忘记了一切。
专业的程序员不能接受这一点。 如果您的错误使公司损失了数千美元,您会感觉如何?
这个问题的解决方案还取决于管理以及公司的处理方式。 每个公司都应鼓励开发人员对自己的行为负责,更重要的是对他们编写的代码负责。
如果您的bug溜到了生产服务器上,请尽一切努力尽快修复它,即使它需要整夜。 这使您与非专业人员分离,并获得更高的薪水。
接受批评
没有错误的软件是不可能编写的,我们都是将愚蠢的东西提交到存储库中的受害者。
我们如何处理批评意见,说明了我们如何被视为开发人员。
应当聆听和学习每一种批评,因为这会使您的工作做得更好,尤其是当您受到比您更有经验的人的批评时。
有强烈的职业道德
成为专业人士是不间断的工作。 学习不会从9持续到5。
不断学习,练习和改善自己是对自己的一种投资,这是您的责任,而不是雇主的责任。
这也应该在工作时间以外发生–您不应该浪费雇主的时间来阅读最新的SitePoint教程[嘿! 简单! ;)-Ed。]。
免费学习PHP!
全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。
原价$ 11.95 您的完全免费
你说没有足够的时间吗? 当然有! 您只需要考虑聪明。 如果您想认真对待自己的职业,请认真关注它。
早起,晚一点。 利用这些额外的时间为您带来好处,而不会影响您的健康和家庭。
上下班前半小时意味着每周要多花五个小时。 整个八个小时的工作时间超过一半。
如何编写好的代码
阅读源代码
这样看:如果您根本不练习阅读,就无法快速学习阅读。 开发人员的工作是编写好的代码,但是如果您不知道好的代码是什么样子,就无法编写好的代码。
大多数开发人员盲目使用第三方库而不接触源代码。 可以这样做,但是要了解该特定库如何提供帮助,您需要更深入地挖掘并阅读其源代码,注释,运行测试(如果有的话)。
阅读代码也将帮助您快速发现其他开发人员的错误,如果您进行代码审查或配对编程,则很有帮助。
学习新技术
始终乐于学习新技术,并决定如何帮助您成为更好的程序员。
时刻保持对新事物的开放态度,不要仅仅因为认为最新趋势会过去就忽略了最新趋势。 一切都是周期性的,但不变的是,您只要敞开心mind就可以拥有剩下的知识。
优秀的开发人员即使拥有15至20年的实践经验,也永远不会停止学习。
慢一点
放慢速度意味着需要花费更多时间来评估您要解决的问题。 快不是你应该争取的东西。
我已经看到初级开发人员尽可能快地完成任务并交付代码,从而导致错误的代码,这比他们坐下来认真思考正确的解决方案要花费更多的时间来修复。
高级开发人员懒惰且缓慢,这符合每个人的最大利益,因为优秀的程序员不愿重复两次工作。
对于高级开发人员而言,编写实际的代码将花费其三分之一的时间,其余时间则在为该问题提供一个好的解决方案。
测试你的代码
这不是TDD辩论,也不是TDD辩论,但请记住,任何性质的测试对于交付高质量代码都非常重要。
您如何知道某些东西未经测试就破裂了? 您是否知道几个月前在特定功能的代码库中正在做什么?
通过测试,您可以了解代码的实际工作方式。 就像书的目录一样,它就像是对开发人员的指南。 测试会向您显示在哪里以及要寻找什么。
首先,为代码编写测试很重要而且很困难,但事实证明,从长远来看,这是有益的。
了解您的工具集
知道可以使用哪种工具来帮助您解决问题。 归根结底,大多数工具都会偏重于偏好,但是请记住,好的工具或库可以为您提供很多帮助。
只需考虑一下您在编辑器中花费了多少时间,无论是功能完善的IDE还是仅是语法突出显示的文本编辑器。
另外,您应该决定是否需要为工作使用特定的库。 使用PHP框架值得吗? 优缺点都有什么? 在项目中使用笨拙的CMS是否有回报?
这些是您甚至在编写一行代码之前都应该考虑的问题。
如何保持正轨
对抗倦怠
在看似永无止境的循环中不断敲打代码可能很烦人。 从事这项业务足够长的时间的大多数开发人员在职业生涯中都经历了倦怠。
倦怠与长时间工作和所谓的冒名顶替综合症有关 ,这意味着开发人员不断认为自己不够好,为了变得更好,他需要更加努力地工作,而更多的工作并不一定意味着更好。
最好的办法就是退后一步,摆脱这种循环,去做其他一些有创造力的事情。 即使只有几天,也要花点时间。
在解决倦怠方面越来越流行的另一种解决方案是找到可以与他们进行配对编程的团队成员。 与另一个人的社交互动非常有效。
代码维护
保持正轨还意味着保持干净的代码库。 不只是为了别人,也为了你自己。 没有测试或文档的代码就像俄罗斯轮盘赌。
如果您需要在几个月后重新访问某些功能,会发生什么情况? 与花在任务本身上的时间相比,您将花费更多的时间来确定自己实际在做什么。
我已经看到客户无数次地邀请开发人员重构他们的项目,因为前一个团队失去了兴趣或无法继续工作,并且几乎在所有时间里,新团队的React都是必须从头开始重写。
之所以发生这种情况,是因为以前的团队无法维护干净,坚实的代码库。 这种做法需要很多时间。 阅读了一篇名为《 Web开发中的18个关键疏忽》的文章,其中涉及如何保持代码干净以及其他最佳实践。
根据估计
对于许多程序员和经理来说,估算是一件敏感的事情,而事实并非如此。 我敢肯定,每个人都听过经理问开发人员要花多少时间的情况,他们希望得到明确的答案,但是估计的任务仍会花费最初估计的时间的两倍。
大多数人没有意识到的是,估计只是猜测,而不是承诺。 要成为一名更好的开发人员,您应该知道,估算永远都不是一个承诺 ,因为一旦您对某件事做出承诺,就意味着您有责任交付它。
估计从来都不是承诺,这是估计的本质。 人们在估算给定任务的时间时非常恐怖,如果经理要求,您应该告诉他,您不能承诺自己不能百分百确定能否按时完成。
但是,您可以猜测,但不要做出任何承诺。
如何成为大师
通讯
一切都与沟通有关。 我已经看到项目和公司分崩离析,因为团队成员无法沟通。
保持沟通简单明了,减少您和接收者之间的中间商。 通讯线路中的每个“节点”都会造成几乎成倍的复杂性。
企业为此遭受了很多苦难–这就是为什么它发展如此缓慢,每个决定都必须经过十几个人的原因,而这就是敏捷团队的出众之处。
保持沟通的简洁明了意味着您可以比其他人更快地行动,可以更清楚地了解自己的任务,这为您带来了好处,因此不要害怕提问和提出具体问题。
合作
除了要成为优秀的交流者,您还需要成为一个良好的协作者 ,让我们面对现实吧,程序员并不是那里社交性最强的人。
您不仅需要与其他开发人员进行协作,还需要与您的经理(甚至可能直接与客户)进行协作。
协作还意味着了解关键问题并做好工作并成为一个好的团队合作者。
如果您发现很难与他人有效地进行协作,请尝试配对编程 。 结对编程的本质是协作。
另请参见这篇文章与其他人的代码工作。
知识的诅咒
根据Wikipedia的说法:“知识的诅咒是一种认知偏见,它导致消息灵通的政党很难从消息灵通的政党的角度来思考问题。”
基本上,高级开发人员很难解释问题,所以初级开发人员可以理解。 发生这种情况是因为他们都非常熟悉问题和解决问题的技巧,但是当他们尝试向他人解释问题时,他们会失败,因为这种解释只是他们脑海中的知识的总结。
简而言之,当您知道某事时,很难不知道。 为了解决这个问题,您需要使用特定的语言。 详细说明问题,即使您觉得它很有趣,但也要继续做下去,因为您的心态不等于接收者的心态。
了解你的领域
如果您称自己是编程专家,那么请成为编程专家。 从上到下了解您的领域,不要害怕说不多,只要您认为合适。
简而言之,成为专家就是要对别人说不,因为这意味着您在捍卫自己的真理,并在同龄人中享有很高的资历,在大多数情况下,您可能是对的。
了解您的领域并不一定意味着您拥有CS学位,这意味着您在所做的事情上有很多经验和实践。 您不仅需要提高常规编程的技能,还需要提高计算机工程和体系结构的技能。
成为专家意味着您可以找到问题的最佳编程设计,编写代码是这样做的“副作用”。
了解您从事的业务
没有人不知道业务问题以及他们要用您的代码解决的问题,就没有人可以创建好的软件。
您需要积极主动并对业务感兴趣,因为这会反映到您的工作中。 没有明确的目标和特定问题,代码会无意间混乱,这就是编码的工作方式。
您需要严格限制要实现的功能,尤其是如何实现这些功能,但是为此必须明确业务价值。
如果您觉得自己的专业知识和业务目标不太吻合,那就帮自己一个忙,不要接受这份工作。 珍惜您的时间,因为那是无价的。
代码片
为了不断提高自己,首先必须知道自己处于什么水平。
代码选项卡是程序员的练习,可以通过练习和找到针对不同问题的更好解决方案来提高他们的技能。
您可以尝试在Project Euler , CodeKata或Topcoder中解决代码问题。
Topcoder甚至为寻找最佳编程挑战解决方案而提供奖项。
结论
编程比什么都不是更多的社交技能。 要成为一名优秀的程序员,首先,如果您发现自己内向,就必须努力发展自己的个性。 然后,掌握编程原理。
您需要不断提高自己,不断学习,才能领先于游戏。 要真正实现专业水平,您需要了解业务以及您要使用代码解决的问题。
代码只是整个问题解决方案的副产品,它对总体没有太大的帮助。 解决方案的思想,协作的技巧以及对解决问题所需要使用的工具的精通,是成为受人尊敬的专业人员的关键。
有关成为专家的更多信息,请参阅本系列 ,如果您有任何要添加到此列表的内容,请在下面的评论中告诉我们。
做一名优秀的软件开发qa