IT行业菜鸟级科普,IT行业如何选择

来源:互联网 发布:矩阵的拉普拉斯变换 编辑:程序博客网 时间:2024/04/29 07:25

         最近陆陆续续有人跟我说想转行做IT行业,问我怎么选择方向,网上培训学校这么多,靠不靠谱。我想了一下,还是决定收集一些资料,做个科普。

         首先说说什么是IT行业。其实IT行业是一个比较广泛的说法,且不说包罗万象,其中各种道道还是有的。主要工作内容嘛,就是对着电脑,然后对着电脑,对着电脑…

         肯定不会说的很专业,甚至有些东西就是为了容易理解。当然有欠妥的地方欢迎各路大神指正。也非常欢迎各位不同岗位的同行前来完善这份资料,为想进入这个行业的人做做科普,同时,这份资料完善后,你还能了解到跟你天天打交道的其他岗位的人到底每天都在忙些什么~


         按工作岗位划分

  1. 前端-UI设计:这个岗位,到目前为我见到的大部分都是女生在做。要是你会PS,那么就算是基本入门了,甚至可以基本直接胜任一些简单的工作。但是PS是远远不够的吧。为什么?当然作为一个设计师,会设计是绝壁不能少的技能,因为永远不要指望只会纯程序员能设计出多漂亮的图片或页面,这个也是前端UI设计工程师的一部分工作内容吧。
  2. 前端-写代码的:这个岗位工作内容就是如题了,但什么是前端?前端说简单点就是泛指你手机、电脑上看到的网页,界面等等各种直接与用户打交道的东西。这些界面往往会有一些比较炫的效果,各种不同的排版风格。这些东西怎么做的,就是前端工程师做的了,他们一般会使用一些方便前端开发的编程语言(如php、java、C#等)来对这些界面上的效果进行编程实现,如果流弊一点的,估计还会p下图啊,做做渲染效果啊什么的。。
  3. 后端-开发:这个岗位一看就知道跟前端是对应的,至于如何对应?前端做了网页已经是很大的一部分工作量了,那么只有页面,而没有逻辑是不行的。后端开发工程师则一般负责产品的业务逻辑。。举个栗子,你的网站需要人登陆后才能访问账户里的内容,那么有人在网页上输入了账号密码,点击了登陆按钮,这时候这个人的账号密码就到了网站后端,也就是后端开发工程师这儿。如何判断这个账号密码是否正确,是否可以通过验证并返回账户数据到界面上给用户看,或者说如果验证不通过,需不需要发送一条短信或一封邮件给账户绑定的手机或邮箱?这些就是后端开发做的内容,当然只是简单举个栗子。。
  4. 数据库工程师:上面说到前端需要后端提供业务逻辑,但是只有逻辑,没有数据也是不得行的。数据库就是做这事儿的,数据库工程师(Data Base Administrator简称DBA)的主要职责就是管理数据库。数据库是啥,说简单点就是一些带有逻辑性的,相互之间有关系的用于存储数据的excel表格(然而比表格复杂)。还是用网站举栗子,一个网站需要用户登录才能使用,那么这个网站的所有的用户的账号密码如何保存,以便于查询和管理。每个账号下面有很多资料,这些资料如何与每个账户对应,这个就是关系型数据库中做的事儿。当然还有其他一些工作,就不多说了。。
  5. 运维工程师:运维顾名思义即“运作,维护”。一个网站或程序要顺利运行,不出问题,就离不开维护。比如当网站出现bug导致运行出错,当网络不畅通、停电、服务器被意外损坏等等这些问题,大多需要运维工程师来处理,这个了解比较少,大概就知道这些。
 当然还有其他的岗位,如 技术支持工程师(为客户提供技术支持)、安全工程师(管网站安全,系统安全等等)、项目经理、技术总监等。。如果想要深入了解,可以上各大招聘网站上去直接搜招聘广告,一般都是比较详细地说了每个岗位需要的技术类型和能力的。

 按程序语言划分
 
 当然程序离不开编程语言,简单说说一些主流的语言及其大概功能(即能干啥事儿)。
  1. Java、C#:这两个属于高级程序语言中占大头的(当然还有C++等,后面再说),因为使用的人数比较多,并且最重要的是它们的底层都封装的很好,使用者(即软件 开发人员)并不需要很关心系统级的实现,只需要将重点放在业务上就可以了。并且使用它们可以迅速开发各种不同类型的程序,包括网站(Browser-Server基于浏览器和服务端的程序),桌面程序(运行在电脑 上 的Client-Server客户端,服务端程序等)和各种移动端程序(这里主要是指跨平台,跨平台即本来一个程序一份代码 只能运行在特定的一类操作系统上,但某些高级语言支持了跨平台,如Java虚拟机、.Net Core、Xmarian[.Net]、Mono[.Net]等),那么这些程序的代码就能在不同的操作系统上编译运行)。
  2. C、C++:这两个也算是半个高级语言吧(其实我个人觉得说是中级语言比较好。。这里说的高级、中级、低级并不是说玩游戏里的那个级别,而是说的系统层面上的 级别,越低级的语言就越需要与系统底层甚至硬件打交道)。这两个就需要在操作系统API(Application Program Interface)上做更多事儿了,比如自己管理内存,调用硬件级接口?等。并且因为可以手动人工管理这些东西,所以往往这种编程语言在利用系统性能和优化上有更出色的表现(前提是你要会用。。),但是不适合开发大型项目,比如用纯C语言写个网站??那得不知道多久去了,因为比较低级,做的事儿太多了。不过用来开发驱动程序,一些高性能的工具非常好,在开发游戏的时候部分地方必须要用它们才能发挥更好的效果。
  3. 汇编语言:这个就呵呵了,直接操作硬件层面的东西。。
  4. php、python:这两种也算高级语言,不过比起Java、C#,它们更加专注于一些特定的领域,如Php专注于网站页面。。

最后再说说培训机构。。其实培训机构也不像想像中的那么坑,毕竟存在即有理。发展这么多年,培训机构真材实料还是有的,但是你要是信了那句“只要你来就月薪分分钟上万”,你就呵呵了。这个东西还是得花心思去学的,哪有直接不打怪就升级的道理。也是应了那句话,no pain no gain ... 如果想要详细了解的话,去各大培训机构网站看看,问问老师怎么说,也是一个不错的途径,但分寸还是得自己把握。真有心得话还是得自己多看多了解。


大概就说这些吧,,了解得也不是特别多,欢迎各种补充。。


0 0
原创粉丝点击