1. 爱猫说设计狮网首页
  2. 资讯

App / Web 开发工程师的三大错觉,搞清楚了就能成为大师

网络上流传着人生三大错觉:1. 手机震动。 2.(游戏中)我能反杀。 3. 她喜欢我。

至于每天与程序奋斗的 App / Web 开发工程师,相信也有过属于工程师人生的各种错觉。就连刚凭 Village.co 获得 2017 年 Apple App Store 最佳应用程序(开发者类别)的 Oursky 资深工程师们,以前在肝还正新鲜的菜鸟时代,也曾经掉进 coding 的盲点区。

以下我们会分享一下 Oursky 工程师们曾经历的三大错觉,以及摒除错觉、让 coding 人生柳暗花明的心法。

错觉一:“写 app 专注在前端 (front-end) 就好了,不需要懂后端 (back-end)。”

很多想要投身前端、或初次接触 app 制作的工程师可能也有过这种错觉。毕竟前台和后台各自负责的工作界线分明,一个负责呈现,一个负责实作。在理想的状态下,如果有专门的 back-end 人员全程支持配合,前端工程师的确可以无后顾之忧,专心建构前台界面的视觉呈现。

But!人生最厉害的就是这个 but。

如果没有后端支持怎么办?或者与后端工程师配合的默契还没建立好呢?Coding 其中一个最容易卡关的地方,就是前端和后端无法足够理解对方的要求,而导致前后端的衔接上产生种种的 bug。尤其对于以个人身份接案子的自由职业者或者尝试独立开发应用程序或网页的 app / web developer 来说,缺乏完善的后端支持往往是一大阻碍。假如只专注在前端开发而完全依赖合作伙伴来管理后端,很容易在开发后期因为衔接不顺而感到挫折,或需要花很多时间修正而延误了产品上市。

心法:你不一定要变成全端 (full stack) 工程师,但懂一点后端概念会有很大的帮助。

不是每个人都对后端有浓厚的兴趣,也不是每个人都有充份的时间同时修练前后端技术。术业有专攻,只热衷于 front-end 也可以成为优秀的前端工程师。但如果在前端的基础上,能具备一些后端的基本架构逻辑,你会发现在你归类功能或选择如何整合 API 的方法时,这些看似在前端开发不需要碰触到的概念会发挥意想不到的作用,协助你理解后台的要求,快速做出最佳的决定;同时让后端工程师不需要通灵技能满点,就能配合你的程式设计作出调整。而假如你是完全没有后端支援的独立开发者,只需要懂得一点后端概念,就足以利用市面上的各种后端工具完成 back-end 的部分,不会因为资源限制而窒碍了开发梦想中的产品。

app developer misunderstanding

错觉二:“只要写 React native 就不用碰到 iOS / Android 的 code。”

React Native 这几年作为主流框架 (framework) 之一,不仅因为使用 Javascript (JS) 为主要语言开发而降低了写 app 的门槛;能同时产生 iOS / Android 的 code、有利加快开发的优点也让 React Native 大受欢迎。我们也抱有个这样的一个美好憧憬:“如果以 React Native 来写,不就可以同步产出 Android 和 iOS 的 code 吗?”

如果有那么简单就好了。

React Native 的确降低了写 app 的门槛,却不等于完全消除门槛。iOS 跟 Android 是两套截然不同的系统,可想而知 React Native 要一次产生两套不同的 code,自然会有其限制。尤其容易发生在 app 需要客制化 (customization) 去适应不同系统和装置的时候。

心法:React native 是一项便捷的工具而不是捷径。要做出定制化的 app,还是需要 iOS / android 的基础。

就连 Airbnb 都明言当初期待 React Native 能够一次生成两套 code 的想法在实践的时候遇到很多困难,可见暂时想要依靠 React Native 速成一个 app 仍然有难度。所以还是需要好好充实自己,特别是需要定制化的时候,利用 iOS 和 Android 的知识可以把产品在各自的版本开发得更到位。而且在预估开发时程上,也要留意不要被 “写 React native 可以节省一倍时间” 的错觉迷惑,避免到开发后期才发现时间不足。

app developer misunderstanding

错觉三:“这个 bug 我只要一个小时就能搞定。”

这应该是每个工程师都曾经有过的最大错觉了。

一些看似简单的 bug,就是怎么解都解不开,结果光是解一个 issue 就花上一整天。要破除这个错觉,唯有累积自己的经验和实力。假如你不是独立工程师而是有一个富经验的团队作支持,事情就会容易许多。举例来说,公司定期举办内部的技术交流,让同事互相分享科技新知和心得;或者安排工程师轮替参与不同的案子 (rotation) 来学习跟熟悉新的技术和平台,从中汲取经验。

时间安排是案子的关键,需要全公司上下各个环节互相配合,才能确保在约定限期内交付产品到客户手上。不只工程师需要锻练实力和经验,项目经理 (PM)、技术领导 (tech lead)、质量保证部 (QA) 也要共同协力。比如 Oursky 的 PM 会每天跟工程师沟通进度,确定每天的任务是否能如期完成还是需要重新调整;tech lead 会密切跟工程师进行 code review,如果工程师遇上解不开的 bug,tech lead 就会一起讨论,适时提供意见和指导;QA 在测试的时候会详细地提供有关 bug 的描述的资讯,可以帮助工程师更快的判断问题所在。而要预估整个专案的进度,则会利用循证式时程规划 (Evidence-based Scheduling, 简称 EBS) 估算出合理的开发时间,避免因为意料之外的 bug 而延误进度。

心法:团结力量大,相信你的团队,you are not alone!

app developer misunderstanding

结语

在开发的过程中,不管是新手还是资深工程师,总会有 “啊!原来是这样!” 的时候。Coding 是一门深奥的学问,在开发的道路上难免会感到挫折,就连写下不少得奖或编辑精选程式的 Oursky 工程师也不例外。

对工程师来说,从写 app 到参与 web 制作,由前端摸到后台,直到发掘出自己的专长领域,是一个漫长的学习过程。但唯有慢慢培养实力,累积经验,才能锻练到快速精准的开发。如果将来有天,一位新手工程师向你请教 “我是不是写 React Native 就不用学 iOS 呢?” 不妨给予一个鼓励的微笑,耐心地跟他分享你的经验吧。

爱猫说是一个完全独立的媒体,运营只靠网络广告支撑,如果您支持爱猫说设计狮网的话,请对此网站关闭广告拦截功能(如:Adblock)爱猫说设计狮网衷心的感谢您。

本文来自作者:dtw123,资源整理不易,且下且珍惜。如果您觉得不错,欢迎评论。本文观点不代表爱猫说设计狮网立场,转载请联系原作者。

若本文章的资源已经失效,您可以在评论区告诉我们,我们将及时更新。如果您想要获取更多资源,并与我们进行互动,请加入我们的官方QQ群:284300445。爱猫说设计狮联盟

发表评论

登录后才能评论

联系我们

15298802030

在线咨询:点击这里给我发消息  爱猫说设计狮联盟

邮件:admin@imaoshuo.cn

工作时间:周一至周五,9:30-18:30,节假日休息

QR code