如何像高级开发人员一样思考?

对广大开发人员来说 , 思想境界决定人生命运 。
如何像高级开发人员一样思考?
文章图片
作者|AnnAdaya
译者|弯月 , 责编|郭芮
出品|CSDN(ID:CSDNnews)
以下为译文:
世上的技术千千万 , 你不可能将所有技术一网打尽 。
因此 , 你需要找到理想的技术栈 , 找到适合你的技术 , 然后全力以赴 。 例如 , 对于现代Web开发来说 , 一个很好的组合就是MERN栈:MongoDB、Express、React和Node.js , 如果你喜欢JavaScript , 那么这就是完美的选择 。
还有一个技术栈叫做MEAN 。 MEAN技术栈的开发人员更喜欢用Angular来代替React 。 当然 , 你也可以选择将PHP、MySQL , 前端也可以采用基本的HTML和CSS等 。 此外 , Ruby和RubyonRails也是面向后端的好技术 。
无论你选择哪种技术栈 , 都要坚持深入掌握这些技术 。 对开发人员来说 , 广而不精是大忌 。 最终 , 你只会在原地打转 , 陷入迷茫 。
如何像高级开发人员一样思考?
文章图片
01
即便没有学位 , 你仍然可以成为开发人员
我本人就是一名自学成才的开发人员 , 我通过自己的努力、耐心、毅力和高度专注 , 在这一领域取得了成功 。
不上大学并不意味着这一行的门槛很低 。 软件开发的工作难度非常大 , 但回报非常丰厚 , 你遭遇的小失败不值一提 。 心之所向 , 欲之所望 , 事之所畅 。
放弃则将一事无成 。 书山有路勤为径 , 只有每天每时每刻一次次地努力才能换来成功 。 即便感觉自己陷入最深的谷底 , 你也应该继续坚持 , 因为胜利的曙光就在眼前 。 再多一点坚持 , 一切困难都会化成机遇 。
“当一个人面临失败之际 , 最容易且最合乎逻辑的做法就是放弃 。 而这也是大多数男人的选择 。 ”
——拿破仑·希尔
如何像高级开发人员一样思考?
文章图片
02
掌握搜索的艺术
在学习编程的时候 , 妄想掌握一切是不现实的 。 即便你不知道所有问题的答案 , 也没有关系 , 特别是在刚开始学习编程的时候 。 重要的是你知道如何寻找答案 。
编程就是为了解决问题 。 如果你不知道如何解决 , 那么就需要找到一种方法 。 通过网络搜索或找到知道如何解决问题的人 , 然后从中学习 , 这才是最佳的学习途径 。
忠告:今天你所遇到的所有编程问题 , 可能之前的开发人员都已经历过了 。 不要重新发明轮子 , 你必须学会使用轮子 。
如何像高级开发人员一样思考?
文章图片
03
我们永远无法恪守最终期限
无论计划多么完美 , 预估工时都不是一件易事 。 对于项目管理 , 各个公司都有各自的妙招或策略 。 在我看来 , 目前最受欢迎的是敏捷 。
无论开发过程多么详细 , 中途总是会遇到困难 。 无论团队成员多么优秀 , 从业务分析师到测试人员 , 最终期限总是无法准时 , 而且总会拖延 。 最终期限永远只是一个估计 , 在大多数情况下 , 在大公司中 , 构建应用程序通常都会比最终期限晚几个月 , 这都很正常 。
但是 , 对于小型项目来说 , 小型企业主就非常严格 。 如果你打算开展业余项目 , 那么常见的问题或要求之一便是:“预计的交付日期是什么时候?”一些商业人士并不关心程序 , 对他们来说重要的是交付最终结果的截止日期 。
因此 , 在向他们承诺截止日时要格外小心 。 通常他们都会视之为已知前提 , 所以你最好留好一定的余量 , 让你有更多的空间和足够的时间进行一些故障排除和调试 。 与其让他们失望 , 不如给他们一个惊喜 。 一定要设置标准 , 因为他们也会给你设置标准 。
如何像高级开发人员一样思考?
文章图片
04
60%的调试 , 40%的编程
我认为这条建议非常准确 。
我大部分的编程时间都花在了调试上 。 在上一个项目中 , 我们构建了一款医疗保健的Android移动应用 。 我们使用了ReactNative 。 我是前端开发人员 。
假设项目花费了一个月 , 那么我构建前端大约花费了10天 。 其余时间 , 我都在调试各个依赖项、版本控制以及与当前版本不匹配的其他软件包引起的错误 。
这是我的第一个Android项目 。 我花费了数周时间来调试属性 , 以确保它们适合正确的版本 , 包括我使用的其他第三方程序 。
构建的部分非常有趣 , 但调试却很有压力 。 这是工作的一部分 , 但很费时间 。
高级开发人员给我的一个建议是 , 每当你在同一个问题或错误上连续工作一个小时 , 那么就应该尝试休息一下 。 做点其他事情 , 放松心情 , 因为有时问题就出在我们自己身上 。
如何像高级开发人员一样思考?
文章图片
05
不懂装懂
我就干过这种事 , 时至今日有时还会不懂装懂 。 有时 , 我的同事在讨论他们使用过或感兴趣的新技术时 , 我会一直点头假装自己听懂了 。 没关系 , 你不是唯一一个不懂装懂的人 。
世上的技术太多了 , 谁都无法掌握一切 。
如何像高级开发人员一样思考?
文章图片
06
不要死记硬背 , 你需要掌握技术背后的原理
我一直自强调学习和掌握开发与编程基础知识的重要性 。
首先 , 你会从教程或其他代码库中复制粘贴代码开始 。 这没什么不好 , 只要你理解复制的代码就好 , 否则就学不到任何东西 。
几个月后 , 你应该能够理解其中的一些内容 。 你应该熟悉一些语法并了解一些编程原理 。 慢慢地 , 你应该尝试自行解决问题 。 尝试解决问题时 , 不要复制粘贴代码 , 而是构建自己的代码块 。 通过自己的方法、风格和想法来解决问题 。
不要在复制粘贴代码阶段花费太多时间 。 不要害怕解决问题或编写出自己的解决方案 。 你需要通过反复试验来掌握更多技术 , 所以请不断尝试 , 直到你开始理解所有的高难度代码 。 这是学习技术的最佳途径 。 学习需要时间 , 但学习编程需要反复尝试 。
如何像高级开发人员一样思考?
文章图片
07
文档是救星
将来你会感谢自己 。
刚开始时 , 你会逐步参与几个项目 。 接下来 , 在漫漫长路上 , 你参与的项目越来越多 , 直到自己都记不清参与了多少个项目 。
然后 , 某天当你做到第11个项目时 , 突然你的老板问你有关第2个项目的问题 。 他希望你回头继续处理第2个项目 , 而且这是当务之急 。 项目2是在一年前建立的 , 后来就逐渐被人淡忘了 。
但是 , 你没料到会出现如今这种的情况 , 因此你没有想过为第2个项目创建文档 。 当你打开代码库时 , 很多内容都已经不记得了 。 你忘记了曾经用过的软件包、版本、要求、选择原因的原因等等 。 更糟糕是 , 你的老板希望你能在两周之内完成 。
请引以为戒 。 下次 , 记得花点时间为构建的每个项目创建文档 。 文档可以救你一命 。
如何像高级开发人员一样思考?
文章图片
08
需要学习的技术仍然很多
这点非常重要 。
不能因为你已经掌握了几种语言或正在使用的技术栈 , 就沾沾自喜 。 别忘了继续学习 。 我们需要学习的技术还很多 。 技术日新月异 , 不要误以为当下掌握的知识在十年后仍然有所帮助 。
我们需要不断学习 , 提升自己 , 因为Web开发在不断发展 。 我觉得这就是Web开发最有魅力的地方 , 我们永远不会错过学习新技术的机会 。
机遇往往转瞬即逝 。 你要时刻做好准备 。 保留尽可能多的工具 , 当机遇敲响你的大门时 , 你已做好万全的准备 。
https://medium.com/better-programming/how-to-think-like-a-senior-developer-8ccdf11953c
本文为CSDN翻译文章 , 转载请注明出处
如何像高级开发人员一样思考?
文章图片
【如何像高级开发人员一样思考?】给个[在看] , 是对莫提最大的支持


    推荐阅读