如何用三天的时间透彻形容了解透彻一个行业

出错啦 - PMCAFF产品经理社区 中国第一产品经理人气组织::专注于研究互联网产品
PMCAFF目前不支持IE浏览器, 请用其它的浏览器打开PMCAFF, 如果是双核浏览器, 请选择极速模式互联网职业介绍【转】 - 干货必读 - 优派
o 3月前发布
本文转自:/question//answer/互联网行业的薪资水准相对较高,刚入行一个月,半年,或者一年超过其他行业薪资很正常。&那么,互联网行业究竟有哪些职位呢,又分别适合哪些传统行业转型?1.产品& 2.UI &3.CSS &4.JS &5.后端(Java/php/python) &8.测试(QA) 12.Android 13.IOS 14.运营&一.产品1&工作内容:了解用户需求,做竞品调研,画产品原型,写产品文档,讲解产品需求,测试产品Bug,收集用户反馈,苦练金刚罩以防止程序员拿刀砍。2&需要技能:PPT,Word, Axure,XP,MVP,行业知识,沟通&PPT是最容易被忽视的技能,很多时候很多人都把产品经理=画原型,如果你这么想,再做五年的产品经理也是一个画原型的。我在修真院的时候,给修真院的弟子讲过很多次,产品经理更多的是理解一个行业,熟悉这个行业的用户,知道这个行业有哪些没有满足的需求,寻找解决方案,对比行业,找到自己的切入点,最终落地成:哪些功能要做,哪些功能不要做。这些都是要在PPT里写清楚的。所以,PPT并不是简简单单的一个工具,而且是用这个工具把你对这个行业的了解和分析和解决方案展示出来。XP是敏捷开发,不会敏捷开发的产品经理很难说会是一个好的产品经理(我很偏激,所以接受不了可以直接无视)。敏捷开发对于产品经理来讲,是逼着产品经理去用Story的方式去思考,去考虑自己每一个Story的价值是什么,所有的Story优先级是什么。MVP是最小化验证产品的缩写,这在精益创业里是很重要的概念。也就是说,你臆想了一个产品,他有了什么样的功能,但是!请注意,我们认为所有没有经过用户验证的功能都是在扯淡。所以,你其实是设计了一个扯淡的功能然后交给一堆人去开发,再交给人去运营,直到一个月或者是三个月以后才能拿到反馈结果。我们等不了,所以你必须在程序员开始启动之前,先想办法验证自己要解决的问题是存在的,要解决的需要是用户确实需要的---你有无数的办法可以这么做,真的。好比是,我做IT修真院,并没有先直接做线上的网站,而是直接去贴吧发贴,用QQ群,在论坛直接做,去观察这些弟子的行为,然后去修正自己的产品设计,我发现了他们需要日报,需要点评,需要有班级的概念,需要有学号,需要有首席大弟子等等等等这些。然后我会把这些需要分析整理之后加入到网站的设计里去,这就是MVP的价值--当年穷疯了每个决策都慎重的时候,就会特别喜欢这种方式,土豪除外,只会浪费时间而已。Word是产品需求文档,我自己不太喜欢Word文档,更喜欢XP的Story,不过会一点也没有关系。行业知识是产品经理最重要最重要的技能,没有之一,你可以不懂PPT,不会Axure,不会Word,也不会什么XP和MVP,但是绝对不能不懂一个行业。某种程度上来讲,产品经理拥有的其实是快速了解一个行业的能力。现在的互联网已经和以前的不一样了。以前的产品经理懂点儿交互,知道什么是表单,知道点IT术语就能混日子了,现在必须要懂一个行业,地产,金融,汽车,教育,餐饮,医疗等等各种行业,你都需要了解这个行业的模式,如果你不懂,你就是一个画原型的人。沟通也是产品经理的必备技能,出门不带沟通技能,一定会被程序员砍。一方面是要跟用户沟通,一方面是要跟程序员沟通,一方面要跟领导沟通(其实就是想办法拍领导马屁然后哄着他们听自己的话)。&3&发展前景好的产品经理很多么?并不多,所以,好像围棋一样的,入门容易,学精难。产品经理的发展前景是很赞的,只是越来越体系化了,而且很容易出人头地。一般来说:0~6个月:4K~8K 6~12个月:6K~12K 1年~3年:10K~24K 3年~5年:20K~40K 5年~ &&:30K~三个月到半年左右就可以算是迈入这个行业啦,如果遇到P2P这种对于专业属性要求比较高的,随便在一家公司混点经验,跳到另外一家新的公司就是一个产品总监:因为并没有其他人又了解金融又了解互联网。&成长路径:产品助理-产品经理-高级产品经理-产品总监-CEO&大致这个样子。&6.职业限制很多产品经理都很怕跟程序员沟通。而且经常会苦恼,觉得自己设计的功能,程序员做不了,做不出来,做的太慢,做的太差。惟独不会觉得自己设计的太烂。所以,很多产品经理都会认为不同技术是自己的一个弱项,我曾经整理过一个产品经理需要了解的技术术语,有需要直接看楼下的广告。&7.去哪里学,怎么成长会画点儿原型图,有个线上的作品,就能找工作(虽然我很不喜欢这样的产品经理)。&&&&然后有机会就去大公司了解一下各个部门是如何扯皮的,镀镀金,Over了。&二&&UI1&工作内容:收到产品原型,给原型上色,偶尔会自作主张调整下原型的位置,出不同的风格给老板和客户选,然后听他们的意见给出一个自己极不喜欢的风格,最好给Android,IOS或者是CSS做好标注,还有的需要直接帮他们切好图,最后要练出来象素眼,看看这些不靠谱的程序员们有没有上错色或者是有偏差。&2&需要技能:PS,Illustrator,Sketch,耐性,找素材PS是最基础的技能。各种图层通道蒙版神马的细节的东西就不用说了,很多时候很多公司都愿意出所谓的高保真图。什么叫高保真图,简单说就是不折磨产品折磨UI的破玩意儿。就是把所有的图都画出来然后对着UI图来改,偶尔还会要求做出来网页能够点,对于这点我不想再吐槽了,总之,PS是少不了的技能,基本上很多时候其他人都会以为你只需要用PS就能搞定一切。然而PS始终只是一个工具而已,所以在这里,PS代表的更多的是一种方案的选择。比如什么行业用什么配色,怎么样对齐,怎么突出重点,PC下应该是多宽,手机应该是多宽,等等等等。&耐性必须是UI必备的技能,因为有的时候,老板跟你较真起来,一个星期不停的反复修改一个首页是很正常的事儿。可能颜色要从红换成黑再换成绿。所以你必须要有耐性,除非你做的设计没人管,你说了算。而且,UI这东西,是个人都有自己的审美观。更不用说之前朋友圈的测试,人和人看到的颜色真心不一样。所以你必须要有耐性,这是很重要的。找素材的能力也是必不可少的,你手上必须要备几个常用的素材网站,大部分的人都是在别人的素材基础上改来改去。&说到这里,其实忍不住想加上一句。UI设计师最重要的能力并非是以上几种,而在于是理解产品经理的需求--前提条件是产品经理很明确的说出来了而且讲清楚了需求。比如说,一个页面的重要是什么?最想引人注目的内容是什么?应该配什么样的图?加上什么样的元素能让网站的风格更醒目一些呢?这里大部分其实都是原型设计师要做的事儿,我一直有一个观点,就是UI其实最应该做原型,只有这样,才能让产品经理着重去考虑功能点,让设计完美传达产品的功能点。然而原型设计师这个角色慢慢的被消融了,已经变成了产品经理了。所以大部分产品经理都以为自己是画原型的,然后大部分UI都会自作主张改掉原型,因为没有美感。所以通常你会发现美感说有了,也有那么一点儿,可是总觉得会有一些不对。我对他们的要求就是,先别管美不美,你先告诉我这张页面每个模块想要重点表达的内容是什么,能不能让人分清主次。做到了这一点&,再去考虑美感。&3&发展前景UI其实最好的发展方向就是UE,也就是交互,然后就是所谓的用户体验优化师--坦白的说我并未觉得有多少公司会真正的设置这个职位,因为太泛了。但是对于现在火热的O2O来说,无论是线上还是线下,都希望提供一个极致的用户体验,所以我说不好。但是大部分的UI都应该去朝着交互的方向发展,而不是去切页面。。。&UI薪水其实跟产品经理在前期差不太多,中期差点。后期相差比较远,一般来说:0~6个月:4K~8K 6~12个月:6K~12K 1年~3年:10K~20K 3年~5年:16K~30K 5年~&:24K~UI的成长时间大概是在两年左右,基本上PC,IOS,Android,H5全部都做过一些项目,设计过几个Logo,做过一些专题和Banner图,才算是比较完美报。&成长路径:实习UI-初级U-中级UI-高级UI(UE)&6.职业限制UI这个职业的限制在某种程度上就是不太清楚自己应该朝着UE发展。所以时间长了工作就会变得单调,两年或者是三年之后原地踏步走没怎么有进步的人很多。像Metro(扁平化)或者是material design这样的风格一不熟悉二不了解三不想尝试的人还是挺多的。很多人做了很久其实还是分不清产品经理想要在一个页面上表达什么--这有时候真的并不是UI的错。&三&CSS1&工作内容:产品设计好原型,UI做出来了效果图,剩下的就是CSS工程师用代码把静态文件写出来的。所以CSS工程师和OP一样,都是可以在不用了解业务需求的情况下就能完成工作的唯一两个特殊职业。一般来说,CSS工程师并不存在,写CSS的人多少要写一些JS代码,然而确实也会有一些妹子真的就是学不会JS,有一些汉子真的就是写不出来JS,所以我还是把他们两个拆开了。CSS工程师要考虑更多的就是兼容性,简单说,IE内核和非IE内核(WEBKit),IE10以下和其他。我是强烈建议新人不要去学IE10以下的Hack的写法的,让IE10以下的,不支持Html5的都去死吧,表再来跟我说用户还在用IE678了。&2&需要技能:环境【IDE(WEBStorm,Sublime,EditPlus),源码管理(SVN/Git),WEB服务器(nginx)】&基础【PS,域名,Html,Html5,CSS,CSS3】&扩展【自适应,响应式,Bootstrap,Less,Flex】&无论是哪一种程序员,学会搭好的自己的环境都是第一步。选好IDE,选好源码管理工具,学会每天把自己做好的Html文件发布到服务器上可以直接访问。这都是最基础的技能,记着这些东西并不难,你只是需要不断的去练习去熟悉它而已。所以从第一开始就去适应它。&会用PS是因为一是要切图,二是要制作雪碧图。这儿简单说一下,很多人都会说,另外再解释一下所谓切图和切页面的概念。切图指的是把需要用到的小图标了神马的切出来。切页面一般指的是就是把整个效果图做成Html网页。两种叫法我都觉得Low的不行,然而很多人都喜欢这么叫,而且会混到一起,时间长了,也就习惯了。&自适应和响应式是前端人员必须要懂的概念,也是必须要能做到的。毕竟现在是各种跨屏时代,以及各种分辨率都层出不穷,H5又是眼下最火红的职业和技能。Bootstrap,Less和Flex也是CSS工程师必须要会的。学会Bootstrap更重要的还是要去学习它的思想,这是很重要的一点,它帮助你开阔视野,你才会明白,靠,原来可以这么写。Less也是一样,在推荐less和Sass之前我犹豫了很久,然而看到Sass要Ruby环境就有点不喜欢了,虽然Bootstrap已经转向Sass,但是在一般的项目中,Less也够用了。所以还是果断的推荐Less了。Flex是一个好东西,我了解的还不多,在真实的项目中还未有使用过,不过挺看好的。简单说呢,前端工程师需要的大多数就是技术相关的技能,倒不需要太多的沟通啊和耐性啊神马的技巧。CSS的知识比较零散,要死记的东西其实是比较多的。&3&发展前景CSS的发展前景最近几年好的不行。在Android和IOS大行其道的时候,一大部分人都转去做了这两个行业,然而突然之间,因为微信的缘故加上JS的魅力,H5突然又火爆起来,所以呢,CSS整体来说还是一个挺靠谱的职业。最关键的是,CSS入门最快的职业啊,几乎零门槛,只是转JS还是挺不容易的。CSS薪水如果纯粹只是做CSS的话,12K到15K基本上就是封顶了。。。所以:0~3个月:4K~6K 3~12个月:5K~8K 12个月以上~:8K~15K&CSS的成长是非常快的。修真院的线下弟子都是一个月左右就可以独立做项目,可以进入IT修真界闯荡江湖了。正常情况下,3个月左右是没问题的。包括自适应,响应式和Bootstrap。所以想要拿高薪,CSS都必须要学JS,没有其他的途径。&成长路径:CSS工程师-初级JS工程师-JS工程师-前端架构师-前端Leader(IOS,Android和JS通吃)&6.职业限制CSS的职业限制有三个,一个就是不去学自适应和响应式,一个是不去学框架,另一个就是学不会JS。这三点都是很重要的突破。然后这个职业呢,怎么讲,在一家公司里可替代的程度比较高,并不算特别重要,做不了核心岗,也不存在什么代码交接。你就算代码写的再烂,也最多就是花一个月时间重写。。。所以如果你不想做JS,你就真的真的发展受限制了,一定要记着,CSS只是你的一个跳板。&另外,因为零门槛,所以你其实还是有很多计算机相关的知识要补的,这是一定的,没什么可商量的。只是做前端还好,如果想做后端,只是不想花那么长的时间才进入这个行业,就必须要从CSS做起,跟着用自己的其他时间恶补计算机基础了。&四&JS1&工作内容:JS工程师其实分成两类,在之前讲CSS的时候已经提到过,一个是套页面的,一个是前后端分离的。对这两个概念还是分不太清的,可以回过头去看CSS的部分。对于套页面来说,JS工程师的职责非常简单,一个是做一些简单的动画和交互和验证,轮播图,弹框,验证用户名是否为空等等。另一个就是通过Ajax取一些后台数据,然后在页面上展示出来。可是前后端分离的出现,彻彻底底的改变了前端的世界。前端居然有架构了,前端居然也有“编译”的概念了(你能想象么,JS的项目居然不能直接打开源码直接使用了,必须要经过编译才可以)。前端工程师和后端工程师只通过Json数据交互(感谢Nginx提供了一个完美的跨域解决方案,再也不用什么Jsonp了),然后服务器端的同学发现:好简单啊,我对Android,对IOS,对Html都只需要提供一套API就够了~~前端同学更开心,再也不用去搭建各种悲剧的开发环境了!前端变的很轻,而且控制欲很强(AngualarJS好赞),页面跳转神马的SoEasy,而且也有了Bower这样的包管理工具,还有类似于JSP自定义Tag的指令,MVC,还有了Service的概念,马丹,前端到底发生了什么!所以我们现在说到的,基本上就是前后端分离的工程师,他们的工作职责就是和IOS&Android的工程师一样,跟后端定接口,确定框架和架构,分模块,然后跟后端联调互相吐槽对方是渣渣。项目结束之后修复线上Bug,不停的跟用户说:在我这里是正常的,你换个浏览器试试?不行就清一下Cookie,再不然就换台电脑。&2&需要技能:环境【IDE(WEBStorm,Sublime,EditPlus),源码管理(SVN/Git),WEB服务器(nginx)】&基础【Http,REST,跨域,语法,组件,F12,Json,Websocket】&框架【JQuery,AngularJS,Bower,RequireJS,GruntJS,ReactJS,PhoneGap】&业务【金融,教育,医疗,汽车,房产等等等等各种行业】&第三方【微信,QQ等各种第三方登录,支付,IM,地图,语音,视频,图片】&环境不说了,参考CSS的。基础跟CSS差别就好大了,要有一些网络协议的基本概念,要了解什么是Http,什么是Https,什么是WebSocket,什么是Rest,各种JS的语法(太复杂的完全不用管,别去管什么闭包什么Prototype什么This的指向),Json是必不可少的东西。框架就多了去了。直接拿JQuery来学习就好,表去太在意什么原生语法,大部分场景你都不用担心引入一个JQuery的库导致系统变慢,AngularJS真是一个好东西,表太纠结一些细节,Bower,RequireJS和GruntJS这些会有一些前端大牛帮你搭好框架你直接用就好了。必须提醒一次,如果你是从CSS转到JS的,你必须要懂业务逻辑,这跟CSS完全不需要懂业务逻辑简直是天壤之别,很多时候你并不是因为技术而无法学会JS,而是缺少对于业务逻辑的理解。当然啊,这并没有完。还有无数的第三方库等着你,做微信呢你必须要用WX的SDK,要用百度地图呢就必须要用百度的SDK,还有各种支付啊神马的。如果你要做IM就有环信啊神马的。&&所以。JS就是一个真正的程序员,一个真正的工程师,不但要能把代码实现,还需要理解需求,需要懂得编码规范,需要知道如何控制项目流程和进度风险,需要修复线下Bug,需要调优,需要做版本管理,需要制订接口,需要编写技术文档,还需要做新技术的调研或者是带新人。&&3&发展前景我说了那么多,你们对JS的期望也很高了吧。坦白的说,有点高的离谱!&JS是唯一一个可以在两年之内薪水到20K的职业。&0~6个月:6K~10K 6~12个月:8K~14K&一年~两年:12K~20K&两年~五年:18K~30K&五年以上:24K~&JS的入门相对来说比CSS难的多,但是他的好处是学会一点是一点,并不像Java一样,绝对是前期Gank型英雄,到了6级就能四处杀人。Java是后期,要到16级以后才能出山才能够震撼全场。所以JS相对来说比较平滑,而且现在学习的曲线也比较清晰,慢慢在业界都形成了相对完善的框架。JS可以选择前进的路有很多种,只要你不是太瞎(跟着修真院就一定不会瞎),就没什么大的问题。&&成长路径:JS菜鸟-JS初级工程师-JS中级工程师-JS架构师-UED-前端Leader-前端大牛大概这个样子啦,JS工程师在后面有一点后续无力,一般来说,我还是强烈推荐JS,IOS,Android三者通吃,在我的带的Team中也一直要求他们这么做(虽然并未能完全实施成功)。这三者有太多相似之处了,到最后你会发现,语言只是一种工具而已。要做的事情,其实是差不太多的,并不需要对所有的语言都特别熟悉,有一种打底的,其他的都可以随意去玩了。&&五&后端说到后端,其实我主要想说的是Java。C和PHP这两种语言我都不喜欢,之前也说过了,我自己绝对不是一个说话公平公正的人,什么观点都带着自己偏激和极端的调调。&前端是Gank,后端是大后期,要等到16级以后才能V5起来,而且我非常不推荐前端去学后端(所谓的全栈工程师完全是扯,我有时间会写一下,为什么不要去做一个全栈工程师)。后端要积累到足够多的项目经验,才能够成为一个靠谱的后端工程师。&我来举一个跟着我线下半年的小培宇的例子就能简单说明一下后端的工作。于是我给培宇精心设计了他的学习曲线,这也是我大IT修真院的核心观点:&1.先搭建基础环境(Maven,SVN,Eclipse,jetty,SecureCRT,Linux,Mysql)&2.做简单的CRUD(DAO-自己封装的数据层,junit,Log4j,Rest,Spring,Spring MVC,Json,JsonTaglib)&3.做一个相对复杂的系统DB设计,接口设计,项目部署,错误提示,Bug查找,怎么打系统日志。&4.做了一个微信相关的项目,了解微信的API,交互方式,Cookie,拦截器,AOP,登录系统的设计,命名规范等。&5.拆分Service,将Home和Service分开,使用RMI调用,实现各个层次之间都可以完成分布式的部署,使用Tuscany(真心喜欢Tuscany)完成SCA。&6.使用MongoDB完成地理位置的搜索,短信,图片上传,云存储,使用Tiles来配置页面模板。这些内容他花了将近三个月的时间。对他来说已经是学会了很多东西了,这三个月是几乎没日没夜的学出来的,要知道他之前压根就不知道什么是Spring,生成Json和套JSP的区别我骂了他好几次他才弄明白,经常会遇到一些Maven或者是Tuscany的报错不知道该怎么解决,数据库字段的规范和接口规范常常被我黑的体无完肤。很多东西都只是知道个皮毛而已,你们自己说说,学会Java语法算什么?这学会怎么打日志,怎么根据线上的报错去找错就不是一个月两个月能解决的。做为一个工程师,应该明白,很多时候要学会正确的路怎么走,还必须要知道错误的路是走不通的。正确的路大概就那么几条,错误的路呢?为什么很多时候我看到错误日志就会明白是什么地方报错了,是因为我之前花了无数的心血和心力在查找这些错误上,所谓的经验就是这样,看的多了,一眼就知道大概什么地方报错了,然后随便百度下,就能找到解决方案,跟着去尝试倒底行或者是不行。这些是看书,或者是看视频能教会你的么?其实他接下来要学的东西更多。Memcache或者是Redis,ActiveMQ或者是RabbitMQ或者是QPid,Mybatis或者是SpringJDBC,Struts或者是SpringMVC,我告诉他的只是一个我们在项目中经过实践的,认为最合适的架构体系,然而他并不知道是怎么选择的。他必须要把这些相关的选择都有所了解,然后才能成为一个架构师。这个时间,如果一直跟着我,我觉得应该是在一年到两年左右。这是一个横向扩展的内容,在这个时候我还没有要求他去看一些深层的东西。只是需要他停留在会用的状态就可以。在会用这些技术之后,再去了解一些自己喜欢的技术的细节,不成为一个只会使用工具的码农,所以培宇问我还需要多久才能达到我的水平的时候,我其实并不想打击他。我也是很刻苦努力的人啊,曾经无数个日夜也是默默的去一行一行代码去用最笨的方法调错,并没有人告诉我怎么样是正确的只有靠一个又一个的项目总结出来的经验。而且我还会一些Drools,CRM,Lucene等等一些和架构师关系不大的事儿偏算法一些的东西,毕竟当年也学过点数据挖掘机器学习之类的内容。就算是学会这些了,对于一个后端工程师来说就够了么?不不不,还需要学习JVM优化,监控,部署流程,发布流程,项目进度管理,代码重构等等等等。所以,你们自己算算,这些东西如果都学会,一个Java工程师要多久才能成为架构师?然而我还是对带培宇很有信心,首先他相信我,他愿意学,跟我当年一样,不怕苦不怕累,人也够聪明,做事也有责任心,其次我知道他应该怎么走这条路,先做什么,再做什么,哪些该花时间和精力,哪些不该花。我希望他能够在一年之内就成为一个架构师。就如他在三个月和六个月之间独立做项目已经不成问题了一样(记着,我说的是独立做项目,自己设计DB设计接口设计架构完成需要的功能,从设计到实现完全自己来)。&你必须要会很多种框架,有足够宽广的视野,还需要有足够多的项目经验(做金融和做地产是两个完全不同的概念),还需要懂项目开发流程以及快速定位线上问题的能力。&1&工作内容:大部分的后端工程师都停留在功能实现的层面上。这是现在国内二流或者是三流的公司的现状,甚至是在某些一流的公司。很多时候都是架构师出了架构设计,更多的外包公司根本就是有DBA来做设计,然后后端程序员从JS到CSS到Java全写,完全就是一个通道,所有的复杂逻辑全部交给DB来做,这也是几年前DBA很受重视的原因。所以你能看到成千上万行的存储过程(存储过程,视图,事务,外键&这些东西我真心希望永远不要在Mysql里出现),这就是外包公司中最常见的架构体系。来个SSH,Over。好一点的会个WebService,用过ActiveMQ,也用过Redis,甚至还会用过Dubbo。然而大多数情况也根本不了解为什么这么用。很多人写了两年或者三年代码都没做过独立的DB设计,不知道什么是REST,不懂怎么做接口设计,也不知道怎么去定位问题。所以对于他们来说,拿到产品经理的需要,会有一个项目经理或者是Leader分配任务,跟着按步就班的把代码写完,跟前端调试完,QA测试不通过,加班改回来重新改,改完QA又没通过,再加班再改,QA终于通过了然后上线了突然发现另一个好的功能不能用了,跟着再接着改,在线上发布一次又一次。。眼睛熬的通红最终真的受不了了,休息几天换另一家公司涨个40%左右的薪水继续这样的日子。不不不。我带出来的后端程序员并不要这么做。所以,我带的后端程序员的工作方式是这样的。拿到产品需求-》后端程序员做接口设计,架构设计,DB设计-》拿出方案来做技术方案评审-》评审通过,开始预估时间-》每日更新自己的Task-》接口完成自测一百遍,每日部署到开发环境,随时集成-》CodeReview-》重构代码-》性能测试-》Demo通过-》发布到测试环境-》修正Bug-》重新发布-》发布到线上环境。这中间需要理解需求,需要拿出多个方案,需要跟前端配合,需要跟QA配合,需要跟运维配合。需要跟产品沟通,有时候还需要找UI。后端几乎是一个核心节点,而这个核心节点接起来了所有的人。&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等等等等等】&业务【金融,教育,医疗,汽车,房产等等等等各种行业】&第三方【微信,QQ等各种第三方登录,支付,IM,地图,语音,视频,图片】做后端,这些基础知识了解多少,其实就是决定了你以后能走多远。这些科班出身的计算机ER,会了这些,才有了一个平台,才可以站在这个平台之上去搭建更高层的建筑,如果根基不稳,你觉得你会对上层的知识理解透彻么?&框架是Java最有资格说自己是架构师的原因。无数的开源框架,选型,筛选,对比,填坑,优化,维护,寻找最适合的业务场景,很多时候很多公司的架构简直了(我不吐了,很多技术都在用然而每一种用法几乎都是错误用例的典范)。所以你想想,你大概要有多少框架要学要用?很多时候,你必须要想清楚,哪些是需要认真了解的,哪些是需要一笔带过的。业务对于后端人员来讲无比重要,不懂业务,就没有架构。这是我经常说的一句话,这个世界上不存在不懂业务的架构师(我不怕被打脸),一个架构师必须要深入了解业务体系,知道哪些是会变的,哪些是不会变的,哪些是重要的,哪些是不重要的,然后才能做出来适合某个应用场景的架构来。比如说,同样的表,几千万的量和几亿的量差别非常大,频繁读和频繁写的设计也完全不同。会有一些通用的架构思想和理念在里面,但是都是需要跟业务结合落地的。PS:很多金融证券行业的程序员,就是靠业务知识混饭吃的。对他们来说,对业务体系的了解要比在技术上的追求重要的多。第三方的东西和JS的内容相似,我不想多说了,而且&JAVA的第三方的东西更是多的离谱,坦白的说Drools这东西我就没彻底研究明白,虽然很喜欢。而像这种类似的东西,太多太多了。&3&发展前景对于后端人员的发展前景,我有两点想说的。A.无论是B/S还是C/S,无论是WEB还是原生,或者是智能硬件,后端都会屹立不倒。&B.随着后端架构体系的稳定和成熟,后端人员在性能上需要担心的问题不多(再加上大部分应用场景其实并不需要那么多的性能),所以更多的应该会关注于一个稳定的扩展性好的架构,以及快速实现能够复用的业务逻辑模块实现上。&0~12个月:4K~10K&一年~三年:8K~20K&三年~五年:18K~30K&五年以上:30K~成长路径:Java初级工程师-Java中级工程师-架构师-技术经理-技术总监-CTO-CEO&后端的爆发力并不差,只要你给他时间,只要你愿意前进,后端的路线很深,深到你有时候会觉得自己还没来得及全部了解,就已经有无数的新人涌进来要替换你的位置了。&4.入门门槛计算机网络,数据结构,数据库,操作系统,Java基础语法。&Java是入门门槛最高的一个,没有之一。&6.职业限制第一个职业限制就是不去做独立的项目,不做DB设计,不做接口设计。第二个职业限制就是视野不开阔,不知道有什么样的开源软件可以用。第三个职业限制就是不重视线上环境,不知道如何写日报,也不知道如何快速定位。我不得不说我带过的兄弟,有一次解决线上问题的时候快把我气疯了,他们在那里猜测问题出现的原因,跟玩福尔摩斯一样,不打日志不看日志,根据现象倒推结果,直接盲改代码再扔到线上看看有没有解决问题---那是最后逼不得已的办法好么,在此之前能不能安静的把日志打出来,确认一下到底是哪里出错了?第四个职业限制就是不懂版本管理,不懂Bug修复流程,不懂开发流程。这些其实都是一整套的流程体系。如果你是一个有理想的后端工程师,我建议你多关注一些敏捷开发,多关注一些项目管理,学会带着自己的兄弟们一起做事儿。再不然,就是在技术这条路上一直走到黑。&八&&QA“QA最好的出路就是产品经理”。这是我对QA最好的认知。我知道这里有无数反对的声音,我说的每一句话大概都会有认同和不认同的人,所以如果看到这句话不喜欢,就表再继续看了。QA的这个职位,大致分成两个流派,一个是功能测试,一个是性能测试。功能测试就是指的是各种点点点点。然后看看功能和数据有没有问题。什么浏览器,什么版本,什么情况,能否复现。性能测试就是指:用Jemter,LoadRunner等做压测,测跨后端人员的信心。基本上就是这两种,很少有专门针对安全的层次去做测试的。那么问题就来了,工程师和QA之间,倒底谁该做功能测试,谁该做性能测试?我姐告诉我说:工程师才应该做性能测试,因为只有他们才最应该知道自己开发的系统性能瓶颈在什么地方。&然后也是因为这句话,我举一反三的瞬间懂了什么才是一个工程师,并且在不断的践行者这个理念:&如果你是一个后端工程师,你必须对服务器的线上数据了如指掌,有多少张表,在哪台机器上,分了几个库,一个表里有多少条数据,数据的分布是什么样的,起了多少台Service,占用多大的内存,高峰期的TPS有多少,CPU的负载怎么样,页面总响应速度有多少,一个请求调用了几个方法,每个方法执行时间是多少,是否加载了缓存,从缓存里加载的数据是多少个,大概多少MS,访问一个数据库需要多久。你做不到这一点,你就没办法做好性能优化。所以,QA很难做到这些,也完全没有必要做到这些-实际上我们的团队是没有QA的。工程师负责所有的问题。&前端也是一样的,做了一个App,耗电量,带宽,内存,兼容性,都是前端应该关心的问题。所以我在这里给出的一个明确答案就是:性能测试,开发人员做,功能测试,QA做。但是这里的功能测试,并不是指的是普通的功能测试。实际上,开发人员应该自测一百遍再提交到测试环境(我在讲到敏捷开发的话,会再次提到整个开发流程是怎么样的,以我在几家公司实施的经验来看,这套敏捷开发流程,对于很多公司梳理内部结构都会有帮助。)&QA做的应该是自动化的回归测试,边界条件测试,极限条件测试等种种很难测试得到的问题。&所以这就是给无数擅长性能测试的QA判了死刑,你之所以能做性能测试,是因为你们的开发模式和流程不对--别看我,我就是喜欢这么说,一点都不委婉。爱听听,不听拉倒。但是QA真的不是一个很简单的活儿,可以这么说吧。QA几乎是所有职业中,最熟悉系统的人-甚至包括设计它出来,开发它出来的产品经理和各种工程师!很多时候QA做的事情都是非常单调的,但是又必须有责任心的,拿我之前的话说,QA就是最后一道关口。所以,如果你想成为一个PM,你可以考虑先做QA,当然,前提是你必须遇到一个愿意给你机会做产品的好老大-比如说我。So,接下来就开始来闲扯一下QA了。&1&工作内容:QA需要了解需求,很多公司会要求QA写测试用例,我觉得是扯淡。完全是在浪费时间。通常开发三周,QA测试的时间只有一周到一周半。还有关于提前写测试用例的,都不靠谱。但是总之,了解需求,就算是不写也要自己知道自己测,这是QA的必备职责。跟着就是等开发人员开发,这个时候也会有一些奇葩公司,要求QA提前界入的,理由是加快上线周期。之前还有说过完成一个Story就要测试完整的,我也不想吐槽了。总之,如果你真的遇到了这样的公司,你的工作就是测试,然后跟开发人员说不对。然后开发人员说改好了,然后再测。然后你大喊一声,好毛线啊。然后开发人员说,稍等,我先梳个头。然后再告诉你好了。然后你再说,好毛线啊。然后开发人说。。。这次真的好了,于是你测了一下,真的好了,开发人员很Nice的说:完美!你也很开心,但是没过几秒钟,你就会喊:什么鬼,之前的功能是好的,为什么又改回去了?如果你呢。遇到好点的流程。会在上QA之前,打版本,那么你可以有一个安心的测试环境了。这个时候稍微正常点的工作,就是测试,然后把Bug录入到Jira,禅道,或者Bugzilla等各种专用的Bug管理工具。跟着就是追踪bug(如果你们公司有Bug处理流程的话),如果有晨会就在晨会上说明,如果有周会,就在周会上统计。大部分的QA都比较羞涩,并不太敢提Bug,并不太敢说哪个程序员的代码写的有问题。毕竟,这是唯一一个必须要当面揭短的职业,哈哈哈哈。&2&需要技能:流程【Bug修复流程,版本发布流程】 工具【禅道,BugZilla,Jira,Excel表格来统计Bug数,自动化测试】&性格【严谨,耐心】&QA里经常会嘲笑自己是技术Team里最没技术的一个。如果说你是一个标准的QA的话,真的不用去特地研究一些压测工具的。不过也确实可以了解一下,Jmeter怎么用,TPS是什么概念,90%线是什么意思,PostGet什么的。自动化测试工具是我一直都强烈推荐的,无论是神马办法,只要你能做到哪怕只有一部分自动化的测试,你做回归测试就很容易了。相信我,回归测试在每一个版本发布都是需要的。只不过有的时候,只是需要跑一下脚本就好了。有问题再详细测一下。严谨和耐性是非常非常难得的,也是QA最重要的能力。当然也包括需求的理解能力啦。&3&发展前景&1年~2年:4K~15K 2年以上:12K~20K&成长路径:测试工程师-测试组Leader-PM&如果能转到PM,真的就很赞了,我推荐的时间应该是在半年到一年左右就开始转。&十二&Android工程师&Android工程师在两年前是最疯狂的时候。一个五年的Java工程师的薪水,比不上一个三年的Android.一方面是苹果这种高端的装逼工程师成了很多人不想去学IOS的门槛,一方面是Android的应用使用人数实在是太多了。&Android的兼容性是最烦的了。碎片化很严重,版本,机型都是有问题的。特别是哪家公司的老板用的什么机型,这款机型的适配就必须做的很好。以及Android是用Java开发,资料神马的都是比较全的,上手也比较容易。不过。Android做的事儿,和Java后端做的事儿,几乎没有任何关联。所以,当说Android。就是Android。当说Java。就是指后台架构。&&&1&工作内容:Android工程师的日常就是听产品经理讲需求,跟后端定接口,听QA反馈哪款机器不兼容,闹着申请各种测试机,以及悲催的用Android做IOS的控件。各种闪退的修复,以及各种性能的调优,这些都是Android工程师的日志。崩溃啊,慢啊。开了会就没电啊,如果是要做到跟视频音频相关的东西更悲剧。Android和IOS之间还需要做一些转码。Android其实是对地图,支付,IM,第三方登录,短信,统计,音视频,文件,照片等等要求比较多的。业务上其实一般并不会有太多的内容。也很少会要求一些动画效果。再加一些手势密码。&2&需要技能:环境【Android Studio,Maven,Gradle】&基础【数据结构,Java,计算机网络】&组件【IM,地图,支付,拍照,视频,音频,统计,分享,手势密码】做的好的会对控件做一些自适应的改动。会把网络请求也封装一下。处理好本地缓存,处理好内存的占用。另外,接口的制订是比较重要的,而且,果断的使用Rest吧。表再使用一些过时又无聊的接口风格了。&&3&发展前景单纯纯Android的话,我觉得发展前景不算大。如我之前所说的一样,差不多两到三年就已经够用了。五年的Android并不见得比三年的Android强太多,或者站在公司的角度上来说,两到三年的Android基本上就够用了。&0年~1年:6K~10K 1年~3年:8K~30K 3年~ &&&&&:20K~&成长路径:Android工程师-&Android Leader-》前端Leader-》很少有Android工程师能够做到技术总监的。所以还是早做准备,Android,IOS和JS通吃吧。&&十四&运营运营,产品,技术是创业Team的三大主心骨,这从侧面也显示出来了运营同学的重要性。而且,在收入上,运营也是产品和技术远远无法比拟的。你想想。技术人员做了七年,积累的是神马?一堆破代码,一身颈椎病。产品人员做了七年,积累的是神马?一堆破原型,一身铁布衫。而运营人员呢?做了七年之后,产品再烂,技术再烂,身边的渠道啊,人脉啊,行业的内幕啊这才是最有价值的。毕竟,什么事情能离开了人?&简单说,产品决定做什么,技术来把它做出来,市场来把它推出去,运营来把它用起来。嗯。我本来计划写一点市场相关的东西,后来想想,自己也实在分不清市场和运营究竟该怎么分。什么活动,策划,执行,渠道,品牌,内容,数据分析。并不能向技术一样分的这么清楚。所以就把市场和运营混在一起了。&1&工作内容:&1.推广运营:这里包括各种论坛,知乎,贴吧,自媒体,大号,微博,SEO,导流等等所有的手段,简单说就是用很多种方式来扩大自己网站或者是WEB的知名度,也有可能是策划一场活动,去人民大会堂办个结业典礼。2.内容运营:推广的话,肯定要有什么东西才会推,刚刚提到的很多内容,有很多都是要靠内容的。以前是软文,现在的方式比较多了。什么易企秀,秀米之类的H5制作,但是绝大多数都是以H5为主,大部分都是线上传播,形成热点,靠成口碑效应,一般来说,三天五天之内是传播的最佳时间,过了三天或者是五天,热度就会直线下降。这也是内容团队需要不断的生产内容的原因。并没有一招鲜吃遍天的说法。这篇文章同样,在最初的一个星期之内,瞬间挤进来1000人,现在呢,每天稳定在4~5个人左右。3.系统运营:系统运营并不仅仅是包括给出一个后台。开个账户,找回个密码,查一下用户的数据是否异常等。有的时候还包括你的系统的核心设置。比如说,要不要有VIP,VIP应该有什么特权,多长时间合适,能谈到多少合作伙伴,应该分几个级别。这些跟产品要做的事情比较接近了,只是这些都是要根据用户的表现不断的反馈来调整的。别的不说。现在大修真院就有好几个QQ群。这些QQ群怎么设计,怎么管理,本身也是运营工作中的一种。4.数据分析:这个其实是运营中最有技术含量的一种,也是让运营这个岗位比产品接地气的原因。运营人员是最接近用户的,也是最了解用户行为的,在大数据的时代,对用户行为的分析真的不是一丁半点的重要。数据分析包括很多,用户的留存率,日活,月活,召回率,转换率,跳出率,PV,UV,男女,职业,地域,年龄,浏览时长,页面热点,浏览路径,高峰低谷。这些数据运营人员要头脑清晰,把这些数学全部整合在一起,结合自己对业务的了解,然后制订定出后续的计划,看看是需要提高召回率,还是需要提高转换率,看看系统的主要用户属性,借此去寻找更多的用户。所以运营的工作,有的时候是需要你去申请一个百度认证,提交各种资料,有的时候是需要你去找一些合作伙伴,商量换个广告位,有的时候是需要你去谈几个合作商家,签几个战略协议,有的时候是需要你去策划一场活动,挨个去跟活动参与者去谈,有的时候是要去刷脸,请朋友来帮你站台,有的时候是需要你坐下来,写一篇色情幽默的文章,更多的时候要收集用户的反馈,帮助他们解答为什么你们的网站注册不了,短信验证码收不到等一系列问题,后台加个V,换个广告,最重要的是每周或者是每月出个报表,来给大家汇报一下当前的用户情况,给领导层做决策使用--虽然我一直都觉得完全是在扯淡,再好的数据都比不上真实的了解这个行业,数据只能是辅以支持,二手数据的价值并不是没有,只是很容易让人跑偏,就好像我今天刚好看到的说Facebook几年没改版,是因为在小范围内改版发现用户的活跃度下降--真心觉得蛋疼。FaceBook最终的价值并不应该仅仅是在页面上,这些会有影响,但是绝对不应该是一个决策的关键性因素。然而做运营最重要的一点就是,不要去询问用户,而是去观察用户。对于这点我是非常认可的。&2&需要技能:行业知识【各种行业知识,必须要懂行业,像推广,渠道,活动,SEO这些都需要了解一些】 人脉【各种刷人脸,凑热闹,换资源】 文笔【文笔太差就找个小妹妹,风趣幽默点,否则没人看】 数据分析【看数据,写各种各样的PPT,然后做决策】&还有就是,跟产品和技术搞好关系。运营的职位其实是天生比产品和技术高一层,也正是因为这样,才会经常招产品和技术骂,哈哈哈。特别是当一部分需要从运营这边传递到产品里的时候。如果你绕过了产品,直接用所谓的运营驱动去做开发,那更完蛋了。&3&发展前景绝对好。无论技术发展到什么程度,无论产品变换多少次风格,运营的核心理念都不会变,积累的人脉不会变。运营,可以做100年。&0年~1年:6K~10K 1年~3年:8K~20K 3年~&:20K~(百万年薪级别的运营多的是。)&成长路径:运营专员-》部门经理-》运营总监-》CEO&6.职业限制我想想,运营人员常常会受限于资源,缺少干货,心里容易没底气。&
创业者们,如果你或你的朋友想被优派网报道,请狠戳这里&&&&
文章总数0万总阅读量 最新文章
微信扫描,关注心理学与生活,在这里找到你内心的答案!
客服邮箱:
APP推广服务:
优派QQ2群():
优派QQ1群():

我要回帖

更多关于 透彻 的文章

 

随机推荐