🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关引言
开年了,找工作了, 我们又可以开工了! 是的每年都有这样那样的人在某度上、某乎、等等一系列的平台上来询问自己是否能学好编程、或 是如何学好it技术、学习it技术是不是真能像某些人所说可以赚得盆满钵满的? 又或者是 非计算机专业的能学好编程,学什么编程语言掌握什么开发工具最好找工作 这类似的问题每天都有人铺天盖地的在询问! 那么今天我就给大家推心置腹的分享一下我自己的看法!
浅谈一下自学
首先如果是打算自学的,一定是在网上寻找各种视频保存一大堆,然后慢慢开始啃视频, 我相信基本上新手自学都这样! 哪些机构的视频这里就不阐述了! 重点说一下 这种方法的利弊!
看视频的好处就在于快速入门,但坏处就在于这是自由的学习呀,对于有自制力的人那就不说了,如果自控能力差,或以看视频就打瞌睡的在技术更新迭代那么快的年代恐怕这进度的投入产出比例不说也知道结果!
并且有些人自学分为两种情况: 工作业余时间自学和脱产全日制自己学习, 在这种时间分配上的自学进度与效果上是大有不同的! 如果说入了门还好,如果没有入门也没有学懂的情况下,那么工作业余时间学习可能是痛苦的开始! 时间长了你自己都会感觉把时间大把大把的在浪费! 记住了解与入门是不同的概念!
所以如果没有掌握良好的学习方法,也没有独立可自由支配的时间,那自学就是耗时耗力最后还达不到自己预期的效果! 毕竟每时每刻都有自学成才的,也有自学失败的!
不用扯太多,总之自学编程还是自学任何互联网IT技术,还是那句老话: 选择了就要一直坚持,并且保持每一天的点滴积累,最后才会小有成就!注意: 我这里说的是小有成就,你并没有变大神! 你只是可以刚刚走出家门口找工作! 千万不要自学了一点点技术就膨胀自满! 这是走技术路线的大忌!
小结
- 每天点滴坚持, 相信我,一旦你停止一天,那么就不止停止一天了!
- 不要把时间花在比较语言与开发工具的好坏上面,而是你学习完了这项技术能为你做什么! 当然自学肯定要选择热门技术可以更容易的进入到这个行业当中。
- 想尽一切办法去克服你的拖延症! 不用多说,你自己知道的!
- 最好也是最可行的一个办法 ,就是在有条件的情况下有老司机带上一把,并且真正做过实际商业项目有工作经验的人指点一二,比你迷茫几个月甚至是一两年都要强得多!
谈谈我对科班与非科班区别的理解
前面说了自学方面的问题,但是自学能否学好还有一个决定性因素就是你是否具备计算机的基础知识体系! 无论你是学习程序开发、UI设计、视频剪辑, 如果有相关计算机基础知识体系作为基础,那么自学起来肯定是有章有序! 这个就是我要说的 科班与非科班的差距之一 !
说到这估计会有人出来怼什么科班与非科班的、什么有基础没基础 ,还不是一样存在没有任何基础的人学会编程,走上人生巅峰! 那么我只能说你非要拿个例来打死一船人也没办法!
即便如此还是会有人会继续问那么 计算机基础知识 对我们做程序员这块的真的重要吗?不会或者不知道会有影响吗?我认为像这些计算机理论方面的知识点如果在以后的工作当中没有参与到理论性偏重的岗位或是没有人来讨论这些知识点,那么从感觉上讲,你学和没学差不多! 但有一些在你开发项目时候, 调试程序解决大型系统级别的项目bug,或是你思考代码逻辑方向时,那么在这个时候学过计算机基础知识体系的哪怕你都忘记了的情况下,就在这个层面上优势与区别就出现了! 可能没有这些基础的人会一直卡在这里问题得不到解决! (当然你可以选择百度,可以选择询问同事,但你知道其中的原是什么吗?) 我们既然是学计算机的就跟学习数学是一样的,要知其然知其所以然! 对吧!
并且有的时候缺乏一些对计算机基础的认识也会导致一些人在自学的时候,不能给自己制定一个良好的学习路线! 这也是很致命的 前期可能感觉不出来,但是到了后期会慢慢浮现出一系列的问题!
小结
所以如果是真想从事IT这行以职业以饭碗求生存, 那建议非科班又对计算机感兴趣的话这些计算机基础知识是必然要补的! 什么计算机原理、操作系统、数据结构与算法、计算机网络tcp/ip 等等一系列! 这是为了长远考虑! 总之开始不会有任何一丝影响,但后面会影响到个人技术发展的上限!
逻辑思维
学习计算机逻辑思维的重要性想必不用多说,即便是外行人都听说过! 逻辑思维强会对解决编程问题上有决定性的帮助! 且不说复杂的逻辑, 就说简单的业务逻辑,随着业务需求的加深,代码的逻辑也会随之加重! 其实学习计算机本质上在计算机上的很多操作无论你是写代码,还是操作性的界面, 多多少少在点滴之间玩的就是逻辑思维! 如果你一看到一层一层的for、while循环条件代码就脑壳 发晕的话, 那么就要提醒你谨慎入行!
另外再强调一点,如果你真心讨厌数学! 那么请想好谨慎入行! 虽然说平时大多数程序员在编写业务逻辑的时候没用上多少高大上的数学知识,但如果一个做开发的而又很讨厌数学的情况下那真的是一件很麻烦的事情! 懂的都懂!
所以如果你数学真的差劲, 又非常想走这条道路,就花时间使劲的恶补一些基础吧! 逻辑思维嘛后天的确可以通过锻炼来提升,但对于某一类人不愿意提升的那就是另外一回事了!
不断学习 解决问题
作为一个技术人,不学习新的技术,新的框架,新的设计模式以及项目架构肯定是不行的! 毕竟每一年it行业的技术迭代是非常快速的! 所以做技术就是终身学习的一个职业! 当然这也不意味着每天都要花很多时间除了工作就在学习,不是这样的! 至少目前做业务开发编程的核心思想基础上还是相对稳定的, 我们平时只是需要在这个基础之上进行技术上时不时的迭代添加就可以了!
还有作为一个技术人,尤其是程序员还是要有一定的英语能力的,毕竟有些程序员交流社区和学习的论文都是英文写的,当然啦你也可以使用翻译工具! 但程序员讲究逼格的! 英语好一点难道不好吗? 技多不压身!
其次就是不断的培养自己解决问题的能力! 编程从本质上讲就是在不断的解决问题, 而且用的就是你所学习的编程语言和工具在解决问题, 所以不要一直纠结工具,纠结语言这些问题了! 到最后你所解决问题的根本来自于编程思想,而不限于任何一种语言! 语言只是发散你思维的一个工具而已! 而解决问题的能力从代码思维和长期的项目工作中去积累培养出的! 实战出真理!
小建议: 在遇到问题的时候,你一定要尝试一切办法去解决,等你尝试完之后,如果还没有找到答案,这个时候再去问别人效果会更好!
总结
这篇文章是写给正在犹豫要不要学编程或是正在学习编程以及计算机it技术的人一个参考,可以通过这几个条件去反向检测自己,辅助做决定! 如果你对技术有强烈的兴趣而且为了它可以牺牲一切的精神,那就去学, 并且大胆去学,忽略其他任何不利因素以及条件, 毕竟老话说得好 :兴趣是最好的老师! 最后祝你学有所成!