高级程序员怎么看?

该材料的作者(我们今天出版的翻译)支持拉尔夫·沃尔多·爱默生的想法,我们成为了我们的想法。在这里,我们将讨论高级程序员的思维方式。



绝对不可能学到一切


有大量的技术。不可能全部研究它们。

找到最适合您的技术堆栈。选择可让您创建所需内容并进行深入研究的技术。例如,如果您对现代Web开发感兴趣,那么MERN堆栈将是一个不错的选择。它包括MongoDB,Express,React和Node.js。这些技术适用于喜欢JavaScript的人。

当然,还有其他一些技术。例如,MEAN堆栈。在这里,不是使用React,而是使用Angular开发前端。在其他可以精通的技术中,值得注意的是,例如,PHP,MySQL,HTML和CSS的组合。在这里,前端使用纯HTML和CSS。如果您对服务器开发感兴趣,可以关注Ruby和Ruby on Rails。

这里的主要思想是:无论您选择什么,最好都坚持这一选择并完善您在相关领域的知识。可以这么说,不要成为“所有工艺的学徒”,即没有在任何具体事物上都精通的开发人员。这导致绕圈走,这显然不是您所需要的。

开发人员不仅是拥有相关教育文件的人


我是一个自学成才的开发人员。在我的业务中,我的成功归功于勤奋,耐心,坚持不懈,专心致志。

为了成为一名开发人员而不必从大学毕业的事实并不意味着开发就很简单。成为开发人员并不容易。在朝着目标迈进时,您不应让自己将一切的尽头视为不惜一切代价的小失败。这一切都是为了追求目标。

如果面对由于缺乏基础教育而造成的困难,只是放弃,那么,当然将一事无成。秘诀是在出现问题后,再试一次。它是要多做一次尝试,并且在似乎一切都已经丢失的情况下,每天,每次都保持一致。当这种感觉出现时,似乎是最底层的时候,您需要记住,这通常表明目标已接近实现,剩下的很少。在这种情况下,您只需要提供自己再试一次并将障碍转化为机会的机会。

大多数一开始失败的人都准备立即放弃他们的目标和意图。只有很少的战斗到最后,轻视所有困难,直到实现目标。

拿破仑山

了解在线搜索的技巧


既然您已经开始编程,那么您应该知道,您会感到自己所做的一切都是毫无意义的。不知道所有问题的答案是很正常的,尤其是在刚开始旅程时。知道在哪里寻找答案很重要。

编程是解决问题的方法。如果您无法考虑如何解决所面临的问题,请在Web上找到解决问题的方法。在Internet上搜索知道如何解决您面临的问题的人,然后向他学习。这正是学习编程的最好方法。

这是一条很有价值的建议:今天面对您的所有编程任务都可能早于程序员。不要重新发明轮子。最好使用已经有人发明的轮子,并使用它。

截止日期往往会打破


无论计划多么好,评估截止日期总是很困难的。公司在项目管理中使用了几种策略。我相信这些策略中最受欢迎的是敏捷。

开发过程的详细程度无关紧要。在工作过程中,总会有一些障碍。从业务分析师到软件质量专家,团队成员的素质如何都无所谓。完成的截止日期总是不正确。此日期将不得不移动。截止日期始终仅是近似值。在大多数情况下,在大型公司中,开发企业应用程序时,将截止日期延长几个月是正常的。

但是,如果我们谈论的是为小型公司完成的小型项目,则调试此类项目的截止日期已经更加严格。如果您打算参与第三方项目,那么在谈判期间,客户通常会问何时一切准备就绪的问题。一些业务代表对如何进行业务不感兴趣。对于他们来说,仅了解项目完成的最后期限很重要。

因此,在命名日期和设置截止日期时要小心。通常,您与之交谈的人都认为这些截止日期是不变的。最好依靠这样的事实,即该工作将花费比计划多的时间。我们正在谈论解决意外的问题,调试以及类似的事情。最好使客户提前交付项目,而不是因超过截止日期而感到沮丧。正如他们所说,一般来说,保留品牌。

调试工作占60%,编程工作占40%


标题中提出的想法也许是我遇到的关于程序员时间分布的最准确的估计。

我花了大部分时间进行调试。我的团队开发的最后一个项目是针对医疗保健客户的Android应用程序。我们使用了React Native。我参与了这个项目的前端。

假设在一个月内花了大约10天时间来创建应用程序的客户端部分。剩下的时间都花在了调试,与错误的斗争上。例如-由于不同软件包的不同版本之间的依赖性和不兼容性而导致的错误。

这是我的第一个Android平台项目。花了数周的时间来调试应用程序的某些部分,并验证它们是否按需要正确安排,包括在其中使用某些版本的依赖项。

创建应用程序既有趣又令人愉快。但是调试很困难,甚至很长。但是无处可去。这是程序员工作的一部分。

在这里,我想对高级程序员的心态提供一个建议。如果您未能成功解决相同的问题,例如说一个小时,请尝试休息一下。做其他事情,解放您的思想……有时我们自己是我们面临问题的根源。

您会假装您知道很多事情,尽管实际上您并不知道


我也是。例如,几个同事讨论了他们使用的某些技术或他们感兴趣的新技术。听了他们的声音,我同意并表现出对所讨论内容的理解。但实际上并非如此。实际上,我想向您传达这是正常的想法,并且您并不孤单。

有大量的技术。了解所有这些技术是不现实的。

不记得。努力了解


我一直非常注意学习编程基础的重要性。

最初,培训包括从教程,存储库和其他地方复制代码。这是正常现象,但是只要复制代码的人理解即可。如果您不理解该代码,则复制本身不会有任何帮助。

经过几个月的研究,对即将发生的事情有了更深入的了解。即,一个人将开始学习语法代码构造和一些编程原理。然后该是时候证明自己解决一些问题的时刻了。它需要学习编程的人的有意识的努力。即,您需要通过自己创建代码,使用自己的解决问题的方法,自己的风格,自己的想法来解决问题。

这里的重点是不要花费太多时间来“复制”代码。不要害怕独立解决各种问题。尝试和错误的路径所教的不只是“复制粘贴”,因此值得承担任务并对其进行处理,直到看起来复杂的事情开始变得简单易懂为止。当然,这需要时间,但这是编程。

文档是您的救赎


将来的您今天将感谢您提供了完善的代码。

当您开始编程时,您将慢慢地进行几个项目。然后,将再添加一些项目。然后你迷路了。

然后会是这样。您正在执行11号项目,而老板很意外地使您想起2号项目。您需要继续进行此项目。现在,项目2是您最重要的业务。一年前的第二年,该项目被无限期推迟。

没有人告诉过您项目2可以再次变得重要,因此您不必为该项目创建文档。结果,当您返回代码时,您很可能会忘记其实现的一些重要细节。最令人不快的是,您告诉老板第二个项目已经准备就绪60%。因此,他们只会给您几个星期才能完成。

实际上,这个寓言的寓意是这样的:您需要花时间记录您创建的所有项目。文档可以挽救生命。

为必须不断学习的事实做好准备


这是一个非常重要的思想。

您已经精通了几种语言或所使用的某种技术堆栈,这并不意味着您无需学习。您需要研究很多事情。技术正在发展,您需要跟上它们。不要误以为你今天所知道的将在十年后成为现实的谬论。这不会发生。

不断学习,努力学习更多,变得更好。事实是,Web开发是不断学习的过程。我认为,当您尝试不错过学习新的有趣事物的机会时,这就是这件事的全部魅力。

机会来了。它们可能会出现片刻,然后可能会被错过。因此,要准备采取行动。当机会敲门时,请准备好迎接机会。

您认为哪些想法可以帮助程序员专业发展?


All Articles