职业分析与计算机方向的选择、发展

文章目录

  • 职业分析与计算机方向的选择、发展
    • 一:编程学习解读与职业分析
        • 1.编程的学习阶段:
          • (1)入门阶段
          • (2)熟悉阶段
          • (3)学到什么程度才叫精通呢?
        • 2.职业分析
          • (1)岗位分析
          • (2)程序员未来发展方向
    • 二:计算机方向的选择、发展
        • 1.计算机三大方向:
          • (1)理论计算机科学:
          • (2)计算机系统科学:
          • (3)计算机应用科学:
        • 2.计算机大的方向:
        • 3.良好的学术道德
        • 3.良好的学术道德

职业分析与计算机方向的选择、发展

一:编程学习解读与职业分析

导入:编程学习的主要问题:

学到什么程度才叫精通?35岁行业危机?总是和企业的要求有距离?

1.编程的学习阶段:

首先,我们要在思路上做出一个改变,编程学习,不单单是让你去解题;去背书。而是要从一个 “做题家” 变成 “创造者”,创造天地万物,大小神明。而编程技术就是我们去创造这个世界的法术。编程的本质实际上就是在模拟现实,我们要做的就是用技术工具去创造世界。

我们要去思考,我们所学的这些东西有什么用?要怎样去使用?想一想你当前所学的这些技术,在你想要创造的这个世界里,它能够发挥出怎样的作用和意义。设计重于一切,先理清思路再编写代码。

(1)入门阶段

作为一个初学者要怎样去接触编程:

  • 要想学习编程,得先学会使用工具
  • 再学操作,最后再深入其原理
  • 先学会一门高级语言,有助于我们更好的去理解计算机基础
  • 编程的学习方法:我认为学习编程最好的方法就是 ”复现“ :复现前人的代码,去深度的理解、思考前人的思路,最后尝试着去完善
(2)熟悉阶段
  1. 这个阶段最大的问题就是**”学的越多;忘的越多“**,这个问题也是大多数人都会遇到的问题,也许有很多人现在正在经历,后面的内容还没有学会,前面的就已经忘掉了,此时就有人会重新回顾前面所学习的内容,反反复复,导致进度条很难推动,情绪也越来越焦虑,这种焦虑初学者往往都会经历,所以不必担心。
  2. 大家都知道,我们学习数学应该记住数学公式;学习英语应该记住英语单词;那么我们学习编程,应该记住的是什么呢?编程语法?代码公式?还是设计模式?其实都不是,我们应该记住的是编程思想,也就是我们自己的编程思维。编程语言说到底只是一个供我们去使用的工具,因此没有必要死记硬背,更不能死记硬背。
  3. 我们学习的所有的计算机技术和计算机概念,只有两个目标:解决问题和更好地解决问题。如果你去学习一项技术,学到最后连自己都不知道这项技术可以去解决怎样的问题,那这项技术基本就等于白学。因此在编程学习过程中往往要以问题为导向,发现问题,解决问题,优化方案。而最重要的则是勤加练习。
  4. 所以,我们学习编程,学到最后会忘记,忘了便忘了,没有人会记住所有东西。编程从来都不是靠背就能学会的学科。在这么多年的学习生涯中,我们会发现一个神奇的现象,学习一项技术,如果经常使用,经常与人去讨论这项技术,基本上是很难忘掉的。经常用的不需要去背,而不经常用到的东西也没有必要去背。
(3)学到什么程度才叫精通呢?

解决这个问题的前提,大家要先思考以下几个问题:

我们在学习一项技术前,要先对这项技术有一个大概的了解:

我在学什么东西?它存在的意义是什么?

之后,我们在学习的过程中一定要去实践,切勿纸上谈兵:

这项技术有什么用?怎么去使用?

大多数人在学的过程中,往往只是把前两步给完成了,这样最多叫做熟练,你只是熟悉了怎样去使用它。如果想要把这项技术掌握到精通仅仅是这样并不够,还要解决下面的两个问题:

为什么是这样?还能怎么样?

想要解决这两个问题,我们就要去深入了解它的底层,熟悉它的原理;可以自己去优化、设计、实现。如果把这些内容给弄清楚,就说明你已经半精通了这项技术。但是还不够,你还要将它们代入到工程,到这里如果全部都弄会的话,才真正意义上达到了精通。尽管以后忘了,也就忘了,因为这项技术的精髓你已经掌握了。

补充: 如何做笔记?

不要去把别人讲的话原封不动的抄写下来,这样做意义不大。笔记里应该去记你对这个概念这项技术的理解;最好放上自己写的代码的一个demo。当你需要用到这项技术的时候,就去看自己写的demo去回忆这个概念的使用。

2.职业分析
(1)岗位分析
职业分析描述具体事例岗位分析
计算机科学家奠定学科基础的系统结构研究的是计算机是什么?怎么构成的?研究的核心就是怎样以更快的速度去处理更多的数据在国内的大厂很少见,一般是在一些研究所、研究院。这个岗位并不适合就业,最好的出路就是留校
研发工程师给技术从业者提供技术工具比如C++PythonJava这类编程语言本身及开发数据库这类存储工具。结合最基础的计算机理论去研发这些技术工具在一些大公司;商业公司;研究所;高校。岗位薪资高,相对来说比较适合就业,但要求也很高,硕士居多
开发工程师解决现实需求的产品应用比如写个APP;做个网页;游戏等等。使用技术工具去实现业务,把技术和业务更好的结合,侧重一半技术一半业务80%从业者在做的,绝大多数人的未来。岗位最多,薪资跨度大(大到几十万,小到几千)
计算机结合某个领域的特定解决方案比如CAD这类工业软件、人工智能、计算化学等这类自成一派的交叉学科多为高校;研究所。交叉是大势所趋,但交叉不适合就业
站在政策的角度来看行业国家规划

注意: 到了这里,补充一点,现在很多人都担心计算机行业是不是不行了。但计算机发展到今天已经与所有的科技发展密切挂钩。科技是第一生产力,大家如果想要判断计算机的发展方向在哪,不要去看什么营销号,更不要盲目跟风。可以去看看国家的规划,尤其是十四五规划。大家一定要站在政策的角度来看。

(2)程序员未来发展方向
  • 下面我们从上面的第3点(开发工程师)切入,我们的发展要么往底层走(研发工程师;计算机科学家);要么能够去熟悉某一个领域,对于业务非常的精通。
  • 既然选择了计算机这碗饭,我们就要知道,对于这个行业来讲,学习是持续性的。入职只是新一轮征程的起点,把学习当成一种习惯,不要把它当作负担。

只要还是吃计算机这碗饭,那么未来的发展方向大致分为两种:

  1. 业务开发方向 —— 围绕海量数据的处理和解决方案

这个方向的最多特点就是技术壁垒不高(在同一体量下,技术差距不大),相对来讲更加着重业务,也要项目经验丰富,有团队统筹能力

什么叫做体量:

比如从一个小公司到一个大公司,有一个非常重要的指标,就是数据量。越大的公司数据量越高,如此庞大的数据对于服务器、底层优化、安全性等要求会很高。而关于数据量带来差异的同时也带来了另一样东西,也就是海量数据的处理和解决方案

而关于未来发展有一个很重要的能力,也就是工程能力:

(1)分析业务

(2)技术选型

(3)团队统筹

工程能力也就是你能够从0到1的去完成整个项目的过程,统筹团队解决问题完成需求的能力,也就是解决方案。你统筹多少人完成了多大的需求也就决定了你值多少钱。

  1. 技术专家方向 —— 底层的计算机基础知识深入,计算机技术工具的研发方向

这个方向着重计算机学科的学习(比如四大件要学的更深),深入底层,这个方向的核心只有一个就是优化能力:

  • 用更少的系统资源以更快的效率完成

注:

要么去提升工程能力,要么去提升底层能力。来应对程序员35岁行业危机

不要相信一些程序员的二次培训机构,没有实际意义。把综合能力提升上来才是最重要的


二:计算机方向的选择、发展

1.计算机三大方向:
(1)理论计算机科学:

理论计算、信息编码、数据结构和算法、程序设计语言等

  • 很难在企业中找到相对应的工作,一般在实验室,对数学要求极高
  • 发论文极其困难(很难毕业)
  • 对于科研,由于是基础理论研究,经费很难申请
  • 入门门槛极高,且大环境不好(在慢慢的变好)
  • 一般停留在科研阶段,公司不做
  • 基本全是卡脖子的东西(编译器;编程语言等)
(2)计算机系统科学:

计算机体系结构与工程、性能分析、安全和密码学、并行计算、分布式等

  • 对代码功底要求极高,且项目周期很长
  • 需要对计算机系统十分了解,学习周期很长
  • 对于科研,经费极其充足
  • 基础架构、解决方案、优化、设计、高性能等
(3)计算机应用科学:

人工智能、计算机图形和可视化、数据库和数据科学等

  • 跟计算机本身没有太大的关系,更多的是利用计算机去解决一些问题
  • 不需要特别强的代码功底和数学功底
  • 上手很快
  • C++(注重学历、经验)、软件开发、嵌入式开发、游戏开发等
  • AI人工智能(门槛非常高、能够落地的东西非常少)
2.计算机大的方向:
  • 十四五规划:国家政策代表一切
  • 408的改动:大纲的改动
  • 未来技术学院的落地:对交叉专业感兴趣的可以考虑
3.良好的学术道德
  • 合理的时间付出是必须的(不要间断性学习)
  • 可以去焦虑,但要良性焦虑,不要干扰自己的情绪
  • 作为计算机专业的学生,大脑要跟着逻辑走(随时随地都要有解决问题的步骤)
  • 敢于挑战传统思维(不要盲目的把前辈说的话奉为真理),不要随波逐流
  • 保持初心!!!
3.良好的学术道德
  • 合理的时间付出是必须的(不要间断性学习)
  • 可以去焦虑,但要良性焦虑,不要干扰自己的情绪
  • 作为计算机专业的学生,大脑要跟着逻辑走(随时随地都要有解决问题的步骤)
  • 敢于挑战传统思维(不要盲目的把前辈说的话奉为真理),不要随波逐流
  • 保持初心!!!

以上内容仅为参考,欢迎大家在评论区讨论、纠正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqoop(DataX)-MySQL导入HIVE时间格问题

这里写自定义目录标题 问题1:测试MySQL 数据信息HIVE数据信息hive中用 parquet(orc) 列式文件格式存储 解决方法问题2:解决方法 问题1: 用公司的大数据平台(DataX)导数,已经开发上线…

【ASP.NET Core 基础知识】--环境设置

一、简介 1.1 .NET Core SDK 概述 .NET Core SDK(Software Development Kit)是Microsoft推出的一个开源跨平台框架,用于开发和部署.NET应用程序。它是.NET Core平台的核心组件之一,为开发者提供了在多个操作系统上构建高性能、可…

YOLOv5改进 | 2023 | SCConv空间和通道重构卷积(精细化检测,又轻量又提点)

一、本文介绍 本文给大家带来的改进内容是SCConv,即空间和通道重构卷积,是一种发布于2023.9月份的一个新的改进机制。它的核心创新在于能够同时处理图像的空间(形状、结构)和通道(色彩、深度)信息,这样的处理方式使得SCConv在分析图像时更加精细和高效。这种技术不仅适…

一文详解 Java 限流接口实现

作者:非有 一、限流 1.1 为什么要进行限流? 1.瞬时流量过高,服务被压垮? 2.恶意用户高频光顾,导致服务器宕机? 3.消息消费过快,导致数据库压力过大,性能下降甚至崩溃&#xff1f…

[C]jupyter中使用C

[C]jupyter中使用C 安装使用用处 安装 https://github.com/brendan-rius/jupyter-c-kernel 下拉找到3条命令,装就可以了 mac和linux可用 python3可用, 2不可以 第二条命令可以改为 : python3 install_c_kernel 小总结:如果有问题&#xff0…

Vite scss 如何引入本地 字体

Vite scss 如何引入本地 字体 最近在用 Vite 改造一个旧项目 Diary,遇到了好多从 Vue 转到 Vite 的问题。 这次这个问题是: scss 里本地字体引入的问题。 一、问题描述 可以看到下面的卡片字体,本来应该是 impact 的,但现在无法…

第二部分 离散型随机变量

目录 求分布律里的未知数 例1 例2 根据X的分布律写Y的分布律 例3 根据(X,Y)的分布律写Z的分布律 例4 根据(X,Y)的分布律写边缘分布律 例5 X与Y相互独立时的联合分布律 例6 根据分布律求期望、方差 例7 求分布律里的未知数 例1 已知X的分布律为 X-202P0.40.3k ,试求k 解 0.40…

8 单链表---带表头节点

上节课所学的顺序表的缺点 顺序表的最大问题:插入和删除时需要移动大量元素 链式存储的定义 链式存储的逻辑结构 链表中的基本概念: 注意:表头节点并不属于数据元素 单链表图示: 把3个需要的结构体定义出来: typdef …

Open3D无效点云过滤删除

由于原始点云中有大量无效的点云数据。发现通过过滤的方式最方便 我的点云数据中Z无效的点云都为-32768 只要过滤掉大于-32768的数据就行 #加载点云数据 ply o3d.io.read_point_cloud("source/Foam1.ply") # Get the values of the points points np.asarray(ply…

docker - 常用容器部署命令大全(MySQL、Redis、RabbitMQ、ES、Kibana、Nacos、Sentinel)

目录 一、常用容器运行指令 MySQL Redis RabbitMQ ElasticSearch & kibana Nacos Sentinel 一、常用容器运行指令 MySQL docker run -d --name mysql -p 3306:3306 -e TZAsia/Shanghai -e MYSQL_ROOT_PASSWORD1111 mysql:5.7 -e TZAsia/Shanghai:指定…

响应式开发

响应式开发的原理Bootstrap前端开发框架Bootstrap栅格系统阿里百秀首页案例 响应式开发原理 1 响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果。 2 在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排…

MySQL数据库期末知识点总结(复习版)

一、数据库基本知识 数据库中的数据有什么特点 1、数据是按某种结构组织的 2、数据有整体性、共享性和较高的独立性 数据管理技术经历了哪三个阶段 1、手工管理 2、文件管理 3、数据库管理 数据库管理系统的主要功能有哪些 数据库管理系统的主要功能包括数据定义、数据…

JavaScript:节流防抖

JavaScript:节流&防抖 节流什么是节流节流的实现 防抖什么是防抖防抖的实现 节流 什么是节流 在JavaScript中,节流throttle是一种限制函数执行频率的技术。 当一个函数被频繁调用时,节流能够控制函数执行的次数,以避免过多的…

红帽Redhat安装教程及安装出错(Liunx)

一、红帽5安装 1.打开vmware,新建虚拟机。或者文件→新建虚拟机 2.自定义,下一步 3.下一步 4.稍后安装操作系统,下一步 5.linux 红帽5 64位,下一步 6.给虚拟机取名字,选择安装路径。下一步 7.下一步(可以根据自己的电脑配置稍微增加数量) 8.4GB 下一步 9.仅主机(根据需…

【JavaEE】Java多线程状态-- 多线程篇(10)

Java 多线程状态 1. 线程一共有几个状态?2. 每种状态表示的含义 & 状态之间的切换条件 1. 线程一共有几个状态? 在 Java 中, 线程的状态主要有新建, 就绪, 运行, 阻塞, 等待和超时等待; 2. 每种状态表示的含义 & 状态之间的切换条件 首先处于新建状态, 当线程调用…

flutter实践:慎用Expanded(二)

问题:又一次遇到使用Expanded引起的问题,debug模式调试正常,release版本导致页面卡死。 问题代码: return SizedBox(height: uiCommonConfig.heightXxl,child: Expanded(child: SingleChildScrollView(scrollDirection: Axis.ho…

五步解决Ubuntu界面太小的问题

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 对于20版本及以上的unbuntu我们可以通过安装open-vm-tools来解决界面大小的问题,具体步骤如…

QT动态属性Q_PROPERTY

This macro is used for declaring properties in classes that inherit QObject. Properties behave like class data members, but they have additional features accessible through the Meta-Object System. 这个宏用于在继承自 QObject的类中声明属性。属性就像类的数据成…

边缘计算设备是什么意思。

问题描述:边缘计算设备是什么意思。 问题解答: 边缘计算(Edge Computing)是一种计算模型,其主要思想是在距离数据产生源头更近的地方进行数据处理和计算,而不是将所有数据传输到远程云服务器进行处理。边…

内存 vs 硬盘:固态硬盘代替内存可以工作吗?

使用固态硬盘代替内存可以吗? 答案是​:不可以​。 ​这个问题看似复杂,其实包含很多方面的原因。 一、存储结构方面 固态硬盘和内存在存储结构上就完全不同。 1.1 固态硬盘采用的是3D闪存单元阵列来存储数据 这些存储单元被一层层地堆…