IT的不同行业也有很多不同的职位,大致是:
1.产品
2.UI
3.CSS
4.JS
5.后端(Java/php/python)
6.DBA(mysql/oracle)
7.运维(OP)
8.测试(QA)
9.算法(分类/聚类/关系抽取/实体识别)
10.搜索(Lucene/Solr/elasticSearch)
11.大数据工程师(Hadoop)
12.Android
13.IOS
14.运营
一.产品
1 工作内容:了解用户需求,做竞品调研,画产品原型,写产品文档,讲解产品需求,测试产品Bug,收集用户反馈,苦练金刚罩以防止程序员拿刀砍。
2 需要技能:PPT,Word, Axure,XP,MVP,行业知识,沟通。
二. UI
1 工作内容:收到产品原型,给原型上色,偶尔会自作主张调整下原型的位置,出不同的风格给老板和客户选,然后听他们的意见给出一个自己极不喜欢的风格,最好给Android,IOS或者是CSS做好标注,还有的需要直接帮他们切好图,最后要练出来象素眼,看看这些不靠谱的程序员们有没有上错色或者是有偏差。
2 需要技能:PS,Illustrator,Sketch,耐性,找素材。
三. CSS
1 工作内容:产品设计好原型,UI做出来了效果图,剩下的就是CSS工程师用代码把静态文件写出来的。
2 需要技能:
环境【IDE(WEBStorm,Sublime,EditPlus),源码管理(SVN/Git) ,WEB服务器(nginx)】
基础【PS,域名,Html,Html5,CSS,CSS3】
扩展【自适应,响应式,Bootstrap,Less,Flex】
四 .JS
1 工作内容:JS工程师其实分成两类,在之前讲CSS的时候已经提到过,一个是套页面的,一个是前后端分离的。对这两个概念还是分不太清的,可以回过头去看CSS的部分。
2 需要技能:
环境【IDE(WEBStorm,Sublime,EditPlus),源码管理(SVN/Git) ,WEB服务器(nginx)】
基础【Http,REST,跨域,语法,组件,F12,Json,Websocket】
框架【JQuery,AngularJS,Bower,RequireJS,GruntJS,ReactJS,PhoneGap】
业务【金融,教育,医疗,汽车,房产等等等等各种行业】
五 .后端(Java/python/go)
1 工作内容:
大部分的后端工程师都停留在功能实现的层面上。这是现在国内二流或者是三流的公司的现状,甚至是在某些一流的公司。很多时候都是架构师出了架构设计,更多的外包公司根本就是有DBA来做设计,然后后端程序员从JS到CSS到Java全写,完全就是一个通道,所有的复杂逻辑全部交给DB来做,这也是几年前DBA很受重视的原因。
2 需要技能:
环境【IDE(Idea/Eclipse,Maven,jenkins,Nexus,Jetty,Shell,Host),源码管理(SVN/Git) ,WEB服务器(nginx,tomcat,Resin)】
基础【Http,REST,跨域,语法,Websocket,数据库,计算机网络,操作系统,算法,数据结构】
框架【Spring,AOP,Quartz,Json TagLib,tiles,activeMQ,memcache,redis,mybatis,log4j,junit等等等等等】
业务【金融,教育,医疗,汽车,房产等等等等各种行业】。
六 .DBA
1 工作内容:
如果你做了一个DBA,基本上会遇到两种情况。一种是你的后端工程师懂架构,知道怎么合便使用DB,知道如何防止穿透DB,那么恭喜你,你只是需要当一个DB技术兜底的顾问就好,基本上没什么活可以做,做个监控,写个统计就好了。你可以花时间在MongoDB了,Hadoop了这些,随便玩玩儿。再按照我之前说的,做好数据备份。如果需求变动比较大,往往会牵涉到一些线上数据的更改,那么就在发布的时候安静的等着,等着他们出问题。。。。如果不出问题就可以回家睡觉了。
2 需要技能:
环境【Linux,Mysql,Oracle,MongoDB,Hadoop】
工具【各种DB的版本,工具,备份,日志等】。
七. 运维
1 工作内容:
运维的工作大概分成几个部分,我对于修真院学习运维的少年们都这么说,大概是:
A。基础环境的搭建和常用软件的安装和配置(兼网管的还有各种程控机),常用软件指的是SVN,Git,邮箱这种,更细节的内容请参考修真院对于运维职业的介绍。
B。日常的发布和维护,如刚刚讲到的一样,测试环境和线上环境的发布和记录,原则上,对线上所有的变更都应该有记录。
C。数据的备份和服务的监控&安全配置。各种数据,都要做好备份和回滚的手段,提前准备好各种紧急预案,服务的监制要做好。安全始终都是不怎么被重点考虑的问题,因为这个东西无底洞,你永远不知道做到什么程度算是比较安全了,所以大多数都是看着情况来。
D。运维工具的编写。这一点在大的云服务器商里格外常见,大公司也是一样的。
E。Hadoop相关的大数据体系架构的运维,确实有公司在用几百台机器做Hadoop,所以虽然不常见,我还是列出来吧。
2 需要技能:
环境【Linux,Mysql,Oracle,MongoDB,Hadoop,nginx,apache,F5,lvs,vpn,iptable,svn,git,memcache,redis】
工具【linux 常用工具,Mysql常用工具,Jenkins,zabbix,nagios】
自动化运维【openstack,docker,ansible】
语言【shell,python】
八 .QA
1 工作内容:
QA需要了解需求,很多公司会要求QA写测试用例,我觉得是扯淡。完全是在浪费时间。
通常开发三周,QA测试的时间只有一周到一周半。还有关于提前写测试用例的,都不靠谱。
2 需要技能:
流程【Bug修复流程,版本发布流程】
工具【禅道,BugZilla,Jira,Excel表格来统计Bug数,自动化测试】
性格【严谨,耐心】
九. 算法工程师
1 工作内容:
算法工程师的工作内容,大部分时间都是在调优。就是调各种参数和语料,寻找特征,验证结果,排除噪音。
也会和Hadoop神马的打一些交道,mahout神马的,我那个时候还在用JavaML。现在并不知道有没有什么更好用的工具了。
有的时候还要自己去标注语料---当然大部分人都不爱做这个事儿,会找漂亮的小编辑去做。
2 需要技能:
基础【机器学习,数据挖掘】
工具【Mahout,JavaML等其他的算法工具集】
十. 搜索工程师
1 工作内容:
所以搜索现在其实分成两种。
一种是传统的搜索。包括:
A。抓取
B。解析
C。去重
D。处理
E。索引
F。查询
另一种是做为架构的搜索。并不包括之前的抓取解析去重,只有索引和查询。
A。索引
B。查询
2 需要技能:
环境【Linux】
框架【Luence,Slor,ElasticSearch,Cassandra,MongoDB】
算法【倒排索引,权重计算公式,去重算法,Facet搜索的原理,高亮算法,实时索引】
十一. 大数据工程师
1 工作内容:
工作内容在前期会比较多一些,基础搭建还是一个挺讲究的事儿。系统搭建好之后呢,大概是两种,一种是向大数据部门提交任务,跑一圈给你。一种是持续的文本信息处理中增加新的处理模块,像我之前说的增加个分类啦,实体识别神马的。
好吧第一种其实我也不记得是从哪得来的印象了,我是没有见到过的。架构稳定了之后,大数据部门的工作并不太多,常常会和算法工程师混到一起来。
其他的应该就是大数据周边产品的开发工作了。再去解决一些Bug什么的。
2 需要技能:
环境【Linux】
框架【Hadoo,spark,storm,pig,hive,mahout,zookeeper 】
算法【mapreduce,hdfs,zookeeper】。
十二. Android工程师
1 工作内容:
Android工程师的日常就是听产品经理讲需求,跟后端定接口,听QA反馈哪款机器不兼容,闹着申请各种测试机,以及悲催的用Android做IOS的控件。
2 需要技能:
环境【Android Studio,Maven,Gradle】
基础【数据结构,Java,计算机网络】
组件【IM,地图,支付,拍照,视频,音频,统计,分享,手势密码】
十三. IOS工程师
1 工作内容:
IOS工程师的工作内容真的挺简单的,听需求,定接口。做个适配,抛弃一下iphone4。
还有啥。。
马丹,以我为数不多的IOS知识来讲,真的不知道还有啥了。
我知道的比较复杂的系统也是各种背景高斯模糊,各种渐变,各种图片滤镜处理,其他并没有什么。
支付,地图,统计这些东西。 嗯。
2 需要技能:
环境【Xcode】
基础【数据结构,Object,计算机网络】
组件【IM,地图,支付,拍照,视频,音频,统计,分享,手势密码】
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。