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