导入:编程学习的主要问题:
学到什么程度才叫精通?35岁行业危机?总是和企业的要求有距离?
首先,我们要在思路上做出一个改变,编程学习,不单单是让你去解题;去背书。而是要从一个 “做题家” 变成 “创造者”,创造天地万物,大小神明。而编程技术就是我们去创造这个世界的法术。编程的本质实际上就是在模拟现实,我们要做的就是用技术工具去创造世界。
我们要去思考,我们所学的这些东西有什么用?要怎样去使用?想一想你当前所学的这些技术,在你想要创造的这个世界里,它能够发挥出怎样的作用和意义。设计重于一切,先理清思路再编写代码。
作为一个初学者要怎样去接触编程:
解决这个问题的前提,大家要先思考以下几个问题:
我们在学习一项技术前,要先对这项技术有一个大概的了解:
我在学什么东西?它存在的意义是什么?
之后,我们在学习的过程中一定要去实践,切勿纸上谈兵:
这项技术有什么用?怎么去使用?
大多数人在学的过程中,往往只是把前两步给完成了,这样最多叫做熟练,你只是熟悉了怎样去使用它。如果想要把这项技术掌握到精通仅仅是这样并不够,还要解决下面的两个问题:
为什么是这样?还能怎么样?
想要解决这两个问题,我们就要去深入了解它的底层,熟悉它的原理;可以自己去优化、设计、实现。如果把这些内容给弄清楚,就说明你已经半精通了这项技术。但是还不够,你还要将它们代入到工程,到这里如果全部都弄会的话,才真正意义上达到了精通。尽管以后忘了,也就忘了,因为这项技术的精髓你已经掌握了。
补充: 如何做笔记?
不要去把别人讲的话原封不动的抄写下来,这样做意义不大。笔记里应该去记你对这个概念这项技术的理解;最好放上自己写的代码的一个demo。当你需要用到这项技术的时候,就去看自己写的demo去回忆这个概念的使用。
职业分析 | 描述 | 具体事例 | 岗位分析 |
---|---|---|---|
计算机科学家 | 奠定学科基础的系统结构 | 研究的是计算机是什么?怎么构成的?研究的核心就是怎样以更快的速度去处理更多的数据 | 在国内的大厂很少见,一般是在一些研究所、研究院。这个岗位并不适合就业,最好的出路就是留校 |
研发工程师 | 给技术从业者提供技术工具 | 比如C++ ;Python ;Java 这类编程语言本身及开发数据库这类存储工具。结合最基础的计算机理论去研发这些技术工具 | 在一些大公司;商业公司;研究所;高校。岗位薪资高,相对来说比较适合就业,但要求也很高,硕士居多 |
开发工程师 | 解决现实需求的产品应用 | 比如写个APP ;做个网页;游戏等等。使用技术工具去实现业务,把技术和业务更好的结合,侧重一半技术一半业务 | 80%从业者在做的,绝大多数人的未来。岗位最多,薪资跨度大(大到几十万,小到几千) |
计算机结合某个领域的特定解决方案 | 比如CAD这类工业软件、人工智能、计算化学等这类自成一派的交叉学科 | 多为高校;研究所。交叉是大势所趋,但交叉不适合就业 | |
站在政策的角度来看行业 | 国家规划 |
注意: 到了这里,补充一点,现在很多人都担心计算机行业是不是不行了。但计算机发展到今天已经与所有的科技发展密切挂钩。科技是第一生产力,大家如果想要判断计算机的发展方向在哪,不要去看什么营销号,更不要盲目跟风。可以去看看国家的规划,尤其是十四五规划。大家一定要站在政策的角度来看。
只要还是吃计算机这碗饭,那么未来的发展方向大致分为两种:
这个方向的最多特点就是技术壁垒不高(在同一体量下,技术差距不大),相对来讲更加着重业务,也要项目经验丰富,有团队统筹能力
什么叫做体量:
比如从一个小公司到一个大公司,有一个非常重要的指标,就是数据量。越大的公司数据量越高,如此庞大的数据对于服务器、底层优化、安全性等要求会很高。而关于数据量带来差异的同时也带来了另一样东西,也就是海量数据的处理和解决方案
而关于未来发展有一个很重要的能力,也就是工程能力:
(1)分析业务
(2)技术选型
(3)团队统筹
工程能力也就是你能够从0到1的去完成整个项目的过程,统筹团队解决问题完成需求的能力,也就是解决方案。你统筹多少人完成了多大的需求也就决定了你值多少钱。
这个方向着重计算机学科的学习(比如四大件要学的更深),深入底层,这个方向的核心只有一个就是优化能力:
注:
要么去提升工程能力,要么去提升底层能力。来应对程序员35岁行业危机
不要相信一些程序员的二次培训机构,没有实际意义。把综合能力提升上来才是最重要的
理论计算、信息编码、数据结构和算法、程序设计语言等
计算机体系结构与工程、性能分析、安全和密码学、并行计算、分布式等
人工智能、计算机图形和可视化、数据库和数据科学等
C++
(注重学历、经验)、软件开发、嵌入式开发、游戏开发等AI
人工智能(门槛非常高、能够落地的东西非常少)以上内容仅为参考,欢迎大家在评论区讨论、纠正