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

文章目录

  • 职业分析与计算机方向的选择、发展
    • 一:编程学习解读与职业分析
        • 1.编程的学习阶段:
          • (1)入门阶段
          • (2)熟悉阶段
          • (3)学到什么程度才叫精通呢?
        • 2.职业分析
          • (1)岗位分析
          • (2)程序员未来发展方向
    • 二:计算机方向的选择、发展
        • 1.计算机三大方向:
          • (1)理论计算机科学:
          • (2)计算机系统科学:
          • (3)计算机应用科学:
        • 2.计算机大的方向:
        • 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.良好的学术道德
  • 合理的时间付出是必须的(不要间断性学习)
  • 可以去焦虑,但要良性焦虑,不要干扰自己的情绪
  • 作为计算机专业的学生,大脑要跟着逻辑走(随时随地都要有解决问题的步骤)
  • 敢于挑战传统思维(不要盲目的把前辈说的话奉为真理),不要随波逐流
  • 保持初心!!!

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

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

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

相关文章

6.2 声音编辑工具GoldWave5简介(6)

3.选择【选项】|【控制器属性】命名或单击“控制器”面板上的“设置控制器属性”按钮,打开“控制器属性”对话框,将“音量”选项卡中的“麦克风”选项打上勾,使GoldWave只能录制来自麦克风的声音。如果要录制电脑内部的声音&#…

ARM动态Trustzone技术简介

目录 动态 TrustZone 典型的安全媒体路径 Arm 安全和架构特性 安全虚拟化 Realm Management Extensio

聊天机器人之接收实时信息实现(二)

准备工作 如果没有准备好环境的请看 前期环境准备 这里默认已经注入成功并且已经登录好了账号。 具体实现 实现原理 通过本地搭建一个web服务,来接收一个POST请求,这个请求中就会涵盖实时的数据,包括昵称、消息内容、消息类型之类的。 p…

边缘计算中的数据安全与隐私保护:挑战与应对策略

边缘计算 一、边缘计算中的数据安全与隐私保护问题二、应对策略三、安全与隐私保护框架四、总结与展望 随着边缘计算的快速发展,数据安全与隐私保护问题已经成为了一个亟待解决的问题。边缘计算将数据处理和分析的任务从中心化的数据中心转移到了设备端,…

Head First Design Patterns -工厂模式

什么是工厂模式 工厂方法模式定义了一个创建对象的接口,但由子类来决定要实例化那个类。工厂方法让类把实例化推迟到了子类。 为什么要有工厂模式 书中以pizza店制作pizza为例子,假设不用工厂模式,在制作pizza阶段我们需要这样去实例化类&am…

ubuntu22.04 安装gazebo遇到的坑(无法打开显示界面)

1.终端输入gazebo,无报错,也无显示界面 解决方法:应用中找到system monitor,找到gzserver,右键kill 2.安装软件包遇到的错误:dpkg: error processing archive /var/cache/apt/archives/libignition-utils1-dev_1.5.1…

回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现

回声状态网络(Echo State Networks,ESN)详细讲解及Python代码实现 1 基本概念 回声状态网络是一种循环神经网络。ESN 训练方式与传统 RNN 不同。网络结构如下图: (1)储层(Reservoir)&#x…

P2383 狗哥玩木棒 约翰玩木棒

P2383 狗哥玩木棒 约翰玩木棒 题目背景 狗哥又趁着语文课干些无聊的事了… 题目描述 现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢? 输入格式: 输入文件中的第一行是一个整数n表示测…

R语言【paleobioDB】——pbdb_collections_geo():从PBDB获取根据地理位置信息筛选的采集号的基本信息

Package paleobioDB version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 Usage pbdb_collections_geo (...) Arguments 参数【…

uniapp中u-switch子组件点击触发到父组件(阻止事件冒泡)

解决方法&#xff1a;在u-switch 外面包和view标签&#xff0c;并使用tap.stop.prevent 可以阻止事件冒泡 .stop 阻止事件继续传播到父元素&#xff0c;prevent阻止事件默认行为 <view tap.stop.prevent><u-switch v-model"val_switch" change"chang…

vue中使用js-doc

安装依赖 安装vue-template-compiler npm install ​vue-template-compiler​npm install ​vue-template-compiler​ 安装minami npm install minami 安装js-doc npm install js-doc 根目录下创建 .jsdoc.conf.json 内容&#xff1a; {"tags": {"all…

在Linux中创建文件的多种方法

目录 前言1 使用重定向符号 ">"2 使用文本编辑器 vi/vim3 使用 nano4 使用 echo5 使用 touch6 使用 printf7 使用 head8 使用 cat9 使用 tail10 使用 truncate结语 前言 在Linux系统中&#xff0c;文件的创建是日常操作中不可避免的一部分。无论是创建空文件、编…

解决MPICH的GPU初始化失败:一次深入探索

今天来分享“MPICH&#xff1a;MPII_Init_thread(222): gpu_init failed”这个问题的解决方式 文章目录 前言问题原因解决方案 前言 如果在安装MPICH的时候没有注意要一些选项&#xff0c;那么当使用mpicxx mpi_send.cpp -o send && mpirun -n 2 ./send进行编译输出的…

图片特效/增强GUI程序

程序下载地址&#xff1a;mendianyu/pictureConvert: 图片特效/增强GUI程序&#xff0c;借助百度接口实现人像动漫化&#xff0c;模糊图片变清晰等等功能 (github.com) 图片特效/增强GUI程序 借助百度接口实现人像动漫化&#xff0c;模糊图片变清晰等等功能 程序介绍 运行Ima…

LIS系统:样本采集、检验、分析、查看报告

检验科LIS系统是实验室信息管理系统&#xff0c;主要用于实验室检验工作流程管理、病人信息管理、检验结果查询、统计和报表打印等功能。它采用智能辅助功能&#xff0c;自动接收检验数据、打印检验报告&#xff0c;并保存检验信息的工具。同时&#xff0c;可根据实验室需要实现…

生物信息学之序列比对

从事生物信息学方面的研究利用了有生产力的CS方面的技术来研究生物领域的内容。 当研究基因和蛋白质时&#xff0c;常常涉及到专有名词——序列比对。 何为序列比对呢&#xff1f; 蛋白质和基因相关性分析可以通过基因比对来完成&#xff0c;当完成对多个物种的基因组测序后…

opencv(C++)基础用法

文章目录 前言一、opencv (C)图片基本操作1.1 读取图片并显示1.2 颜色转换1.3 图像filtering1.4 形状调整1.5 绘制 二、读取视频文件并显示三、RTSP 视频流四. 人脸检测总结 前言 学习笔记 一、opencv (C)图片基本操作 1.1 读取图片并显示 #include "opencv2/opencv.hp…

二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】

二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】 1.MySQL和MybatisPlus简介2.maven依赖3.配置1.在application.yaml配置中加入mysql配置2.新增Mybatis-Plus配置类 4.参考文章 1.MySQL和MybatisPlus简介 MySQL是一种开源的关系型数据库管理系统&#xff0c;被广泛应用…

前端“数据代理”

讲数据代理之前我们先闲聊一下“同源数据”与“数据认可”。世间的一切在形成人文语言泛指的事物时&#xff0c;我们都会为其"下定义"&#xff0c;下定义之前我们都会用形形色色的条件对其限制与说明。通过这种下定义的方式我们得到了不同事物在语言上的定义&#xf…

【spring源码分析】@ComponentScan的使用以及分析

ComponentScan ComponentScan 一、基本信息二、注解描述三、注解源码四、主要功能五、最佳实践六、时序图七、源码分析八、注意事项九、总结 最佳实践总结源码分析总结 一、基本信息 转载自github&#xff0c;在此作为个人备份 二、注解描述 ComponentScan 注解&#xf…