浅谈IT专业

Author Avatar
Ninefire 9月 07, 2018
  • 在其它设备中阅读本文章

本文献给想从事本专业而又迷茫的朋友,希望对你有一丝帮助。

以下均为个人见解,如有不恰当之处请自行忽略。

IT行业垂直分类可以分为硬件类、软件类、互联网类、增值服务类等4大类。我们就业时也必定会进入此类企业之一。IT专业可以分为硬件和软件,物联网工程与软件工程不同,它将硬件和软件联系得更加紧密。大多数人也许都在思考,自己应该专研哪门课程,应该学习什么编程语言,什么样的技术适合自己,怎么学习将来才能找到满意的工作。但是我想告诉你的是,哪怕你专研最喜欢的课程,学习最流行的编程语言,也不一定可以找到满意的工作。现实是很残酷的,三百六十行,行行都水深,你必须先从宏观上去了解这个行业,才能给自己良好的定位,才能给自己正确的方向。

你可能会想,自己选择了一个不合适的专业,大学生活和我想要的不一样。如同武汉某老总所说,“你只需要考虑你要不要做技术。”,她嘴里别的话可以不信,但这句可以是真的。我认为本科的课程只是教学生基础知识和学习方法,换言之,你大学每堂课都认真听,考试成绩全优,顺利毕业也不会百分百找到好工作,课时真的很少,老师想把知道的一切都告诉你,但是时间能允许你接受多少,你自己又能吸收多少,显然老师和学生都做不到。老师教给了我们思考问题的方法,解决问题的套路,我们必须去使用,一遍遍重复地使用,最终我们会和老师一样优秀。

我们可以讨厌一门学科,但不能排斥一门学科,任何知识在有限的人生当中都是有意义的。

从本质上讲,物联网工程与软件工程没有区别,乃至所有本科计算机专业,毕业之后我们全部在同一起跑线,在企业看来我们都是IT专业的学生,他只在乎你会做什么,你有什么工作经验。别因为本科专业限制了我们的梦想,只要我们在学,而别人在玩,我们就在前面,我们就有竞争力。

世界确实不算好,但我们一定要以欣赏的眼光去看待。
交际确实不容易,但我们一定要以宽容的心态的待人。

学历决定我们的底线,能力决定我们的高度。

下面进入正题,谈一谈硬件和软件。


硬件

抱歉的是我对硬件不是很感冒,所以这里只是粗略地介绍。

硬件对应于以下课程

  • 模拟电路
  • 数字电路
  • RFID射频识别技术
  • 单片机
  • 嵌入式
  • ZigBee技术

特点

  • 有趣
  • 成果明显
  • 有成就感
  • 难学
  • 难入门
  • 工资高
  • 发展稳定

学好了嵌入式,你的家就是未来。


软件

软件又分为前端和后端。

软件对应于以下课程

  • C程序设计
  • 数据结构
  • 计算机网络
  • 操作系统
  • 计算机组成原理
  • 算法设计与分析
  • Java
  • UML
  • 网页制作

用代码,编写多彩人生。


前端

主要负责用户界面和交互的设计与制作。

前端三大法宝

  • HTML(界面结构)
  • CSS(界面表现)
  • JavaScript(界面行为)

前端适合喜欢美的事物、喜欢创造画面、有想象力、有耐心、有强迫症的同学(有一个像素的偏差都不行),那么从事前端我们要学习什么呢?多,而且一天比一天更多。

除了上面的三大法宝作为基础外,我们还需要各种日新月异的框架来帮助我们快速构建前端项目。

JavaScript框架

  • JQuery
    • 一个快速、简洁的JavaScript框架
    • “write Less,Do More”
    • 提供简便的JavaScript设计模式
    • 优化HTML文档操作、事件处理、动画设计和Ajax交互
    • 前不久开始面临淘汰的趋势,但目前仍然大量使用,我们抓住了尾巴
  • AngularJ.js
    • 很流行的前端框架
    • 使用Angular.js创建第一个UI,成本很低
    • 对于团队来说,AngularJ.js有许多很棒的工具可用
    • 很适合创建一个快速、混合型复杂的解决方案
    • 比起React,更合适于创建小型企业级应用
    • 由Google负责维护基础包
    • http://www.runoob.com/angularjs/angularjs-tutorial.html (中文网)
  • React.js
    • 很容易扩展
    • 状态可预测(更小的规模)
    • 很适合大型的前端项目
    • 相对较小的API
    • 持续重复渲染的组件为日益增加的复杂性提供了有效的支撑
    • 由Facebook开发和维护
    • http://reactjs.cn/react/docs/why-react.html
  • Vue.js
    • 具有非常简单的API
    • 可选择性添加的模块
    • 易于被开发者接纳
    • 易于与其它库和工程集成
    • 可以通过两种数据绑定方式更新模型和视图
    • 适合于大型的应用
    • 由我们的中国同胞尤雨溪开发
    • 在国内很火爆
    • http://cn.vuejs.org/

UI框架

  • Bootstrap
  • AUI
  • Amaze UI
  • Frozen UI
  • WeUIi
  • Semantic UI

以上每一个框架都相当于一门学科,你不需要全部都会,但必须会使用最流行的和企业最需要的。


后端

主要负责后台数据的处理和管理。

  • Java
    • 性能好
    • 适合大中项目
    • 跨平台
    • 安全性高
    • 稳定可靠
    • 运行效率高
    • 不容易犯错
    • 能有效的提高复用度
    • 提升性能和吞吐能力
    • 能规避安全问题
    • 开发复杂
    • 开发和发布的效率相对较低
    • 维护成本高
    • 开发人员费用高
  • Python
    • 简单易学
    • 开发快
    • 语言简洁
    • 易于维护
    • 开源
    • 可移植
    • 可扩展
    • 速度慢
    • 格式强制
    • 容易犯错
  • PHP
    • 灵活
    • 上手快
    • 易修改
    • 发布快捷
    • 环境好部署
    • 容易犯错
    • 行效率不高
    • 缺乏全局缓存
  • Ruby
    • 快速开发
    • 使用者多
    • 开发控件非常丰富
    • 性能差
    • 第三方包少
  • ASP.NET
    • 跨语言
    • 中小型项目上性能好
    • 开发快
    • 适合windows平台
    • 维护成本低
    • 代码逻辑混乱
    • 难于管理
    • 代码的可重用性差

这些语言大多也有框架,工作时极少使用原生语言,使用框架开发项目可以减小开发周期并易于维护。


主流编程语言

编程语言就是我们与计算机沟通的工具,没有好坏之分,只有合适与不合适,你可以讨厌一门语言,但是不能排斥它,它对你使用喜欢的语言也有帮助。我认为目前最优雅最讨人喜欢的语言是Python(虽然我们都不懂),但目前的主要任务是学好我们的第一门完全面向对象的Java语言,学会了它可以举一反三地去学习其他面向对象语言,其核心思想都是大同小异的,差异只存在于语言的某些独有特性,届时我们只需要关注那些特性,即可在数月内熟悉一门新的编程语言。

  • Java
    • 大数据
    • 电子商务系统开发
    • Web应用系统开发
    • 企业级应用开发
    • 分布式系统开发
    • 多媒体系统开发
    • 交互式系统开发
    • 桌面应用系统开发
    • 嵌入式系统开发
  • C
    • 嵌入式设备开发
    • 对性能要求严格的领域
    • 系统软件和图形处理
    • 游戏软件开发
    • 数字计算
    • 应用软件
  • C++
    • 游戏
    • 嵌入式系统
    • 虚拟现实
    • 数字图像处理
    • 设备驱动程序
    • 操作系统
    • 网络软件
    • 服务器端开发
    • 科学计算
    • 分布式应用
  • Python
    • 人工智能
    • 网络爬虫
    • 科学计算中
    • 大数据、云计算
    • 系统运维
    • WEB开发
    • 系统编程
    • 金融方面
    • 图形界面
  • C#
    • Unity 3D
    • 网络服务
    • 桌面应用
    • 除了底层无所不能
  • Visual Basic.NET
    • 桌面应用
    • Web
    • Windows Phone
  • PHP
    • Web
  • JavaScript
    • Web前端
    • Web后端
    • Web APP
    • 插件开发
    • 桌面开发
  • SQL
    • 数据库

还有相当多没听说过的语言,在国内貌似不是很火,不再一一列举,到此结束。

我知道你还是很糊涂,包括我在内,也不知道自己究竟该怎么做,但是不要担心,并不是衣服不好看,而是你太胖;并不是编程语言不合适,而是你没学。等你瘦了穿啥都好看,等你学了用啥都合适。道理都懂,贵在行动。

如发现错误请联系我,谢谢你。
本文链接:http://ninefire.tk/gossip/it.html