浅谈IT专业
本文献给想从事本专业而又迷茫的朋友,希望对你有一丝帮助。
以下均为个人见解,如有不恰当之处请自行忽略。
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