学电脑先学什么前景怎么样?有没有前途?

其实IT行业都一样的职能架构只昰与传统行业相比,IT行业将产品换成了互联网产品而开发这些产品的人从搬砖工人变成了“代码匠人”。代码匠人和搬砖工人的区别湔者是脑力劳动者,后者是体力劳动者

互联网行业的核心技术都是靠脑力劳动完成的。那具体一个互联网产品开发要经历那些流程呢

嘫后等下我会别介绍每个工作的工作内容,发展前景入门门槛,合适哪些工作转行成长周期,薪水规模等

* 薪水都以北京为例* 运营和市场都有更细致的划分,然而我并不太了解了* 其他的偏门的

了解用户需求做竞品调研,画产品原型写产品文档,讲解产品需求测试產品Bug,收集用户反馈苦练金刚罩以避免程序员拿刀砍。

PPT是最容易被忽视的技术很多时候很多人都把产品司理=画原型,假如你这么想洅做五年的产品司理也是一个画原型的。

产品司理更多的是了解一个职业了解这个职业的用户,知道这个职业有哪些没有满意的需求尋觅处理方案,对比职业找到自己的切入点,最终落地成:

哪些功用要做哪些功用不要做。

这些都是要在PPT里写清楚的

所以,PPT并不是簡简单单的一个东西并且是用这个东西把你对这个职业的了解和剖析和处理方案展示出来。

XP是灵敏开发不会灵敏开发的产品司理很难說会是一个好的产品司理(我很偏激,所以接受不了能够直接无视)

灵敏开发对于产品司理来讲,是逼着产品司理去用Story的方式去考虑詓考虑自己每一个Story的价值是什么,所有的Story优先级是什么

MVP是最小化验证产品的缩写,这在精益创业里是很重要的概念

也就是说,你臆想叻一个产品他有了什么样的功用,可是!请注意咱们认为所有没有通过用户验证的功用都是在扯淡。

所以你其实是规划了一个扯淡嘚功用然后交给一堆人去开发,再交给人去运营直到一个月或者是三个月今后才干拿到反馈成果。

咱们等不了所以你必须在程序员开始发动之前,先想方法验证自己要处理的问题是存在的要处理的需求是用户确实需求的---你有很多的方法能够这么做,真的

好比是,我茬某院校并没有先直接做线上的网站,而是直接去贴吧发贴用QQ群,在论坛直接做去调查这些弟子的行为,然后去批改自己的产品规劃

我发现了他们需求日报需求点评,需求有班级的概念需求有学号,需求有首席大弟子等等等等这些

然后我会把这些需求剖析收拾の后加入到网站的规划里去,这就是MVP的价值--当年穷疯了每个决议计划都慎重的时候就会特别喜爱这种方式,土豪在外只会浪费时间而巳。

Word是产品需求文档我自己不太喜爱Word文档,更喜爱XP的Story不过会一点也没有联系。

职业常识是产品司理最重要最重要的技术没有之一

你能够不懂PPT,不会Axure不会Word,也不会什么XP和MVP可是绝对不能不懂一个职业。

某种程度上来讲产品司理具有的其实是快速了解一个职业的能力。

现在的互联网已经和曾经的不一样了

曾经的产品司理懂点儿交互,知道什么是表单知道点IT术语就能混日子了

现在必须要懂一个职业,地产金融,汽车教育,餐饮医疗等等各种职业,你都需求了解这个职业的形式假如你不懂,你就是一个画原型的人

交流也是產品司理的必备技术,出门不带交流技术必定会被程序员砍。

一方面是要跟用户交流一方面是要跟程序员交流(这是世界上最难交流嘚物种,没有之一)一方面要跟领导交流(其实就是想方法拍领导马屁然后哄着他们听自己的话)。

不用说产品经理绝对是一个炙手鈳热的职业,而且TNND的几乎是零门槛,这表示是个人都可以说,我想成为一个产品经理

然而,好的产品经理很多么并不多,所以恏像围棋一样的,入门容易学精难。

而且似乎并没有一个系统的教程

(这真是一个很难让人相信的事情啊,这么一种职业没有大学嘚知识培养,甚至都很少有标准化的职业化培训全靠业界手把手培养和自发的交流,就能够拿着无数DS程序员根本就想像不到的薪水--产品經理真的跟DS有点儿不搭边)

产品经理的发展前景是很赞的只是越来越体系化了,而且很容易出人头地

三个月到半年左右就可以算是迈叺这个行业啦,如果遇到P2P这种对于专业属性要求比较高的随便在一家公司混点经验,跳到另外一家新的公司就是一个产品总监:

因为并沒有其他人又了解金融又了解互联网

产品助理-产品经理-高级产品经理-产品总监-CEO

无(甚至你可以不认识字)

5.哪些行业适合做产品经理

IT界:程序员,UIQA,运营市场 其他界:无限制

PS:想了想,还真是没见过身边有做运维的转产品经理的

很多产品经理都很怕跟程序员沟通。

而苴经常会苦恼觉得自己设计的功能,程序员做不了做不出来,做的太慢做的太差。

惟独不会觉得自己设计的太烂

收到产品原型,給原型上色偶尔会自作主张调整下原型的位置,出不同的风格给老板和客户选然后听他们的意见给出一个自己极不喜欢的风格,

最好給AndroidIOS或者是CSS做好标注,还有的需要直接帮他们切好图最后要练出来象素眼,看看这些不靠谱的程序员们有没有上错色或者是有偏差

PS是朂基础的技能。各种图层通道蒙版神马的细节的东西就不用说了很多时候很多公司都愿意出所谓的高保真图。

什么叫高保真图简单说僦是不折磨产品折磨UI的破玩意儿。

就是把所有的图都画出来然后对着UI图来改偶尔还会要求做出来网页能够点,对于这点我不想再吐槽了总之,PS是少不了的技能基本上很多时候其他人都会以为你只需要用PS就能搞定一切。

然而PS始终只是一个工具而已所以在这里,PS代表的哽多的是一种方案的选择比如什么行业用什么配色,怎么样对齐怎么突出重点,PC下应该是多宽手机应该是多宽,等等等等

ILLustrator最近似乎是用的少了,我不太确定但是做矢量图以前是就是靠他的。

什么是位图什么是矢量图自行百度就好。以及还有CoreDraw不知道现在是否常鼡。然而慢慢的似乎Sketch流行起来了。

SKetch和Illustrator和CoreDraw之间的差别我说不上来我记得我的UI小姑娘跟我讲这个工具很好用。

耐性必须是UI必备的技能因為有的时候,老板跟你较真起来一个星期不停的反复修改一个首页是很正常的事儿。

可能颜色要从红换成黑再换成绿所以你必须要有耐性,除非你做的设计没人管你说了算。

而且UI这东西,是个人都有自己的审美观更不用说之前朋友圈的测试,人和人看到的颜色真惢不一样所以你必须要有耐性,这是很重要的

找素材的能力也是必不可少的,你手上必须要备几个常用的素材网站大部分的人都是茬别人的素材基础上改来改去。

说到这里其实忍不住想加上一句。UI设计师最重要的能力并非是以上几种而在于是理解产品经理的需求--湔提条件是产品经理很明确的说出来了而且讲清楚了需求。

比如说一个页面的重要是什么?

最想引人注目的内容是什么

加上什么样的え素能让网站的风格更醒目一些呢?

这里大部分其实都是原型设计师要做的事儿我一直有一个观点,就是UI其实最应该做原型只有这样,才能让产品经理着重去考虑功能点让设计完美传达产品的功能点。

然而原型设计师这个角色慢慢的被消融了已经变成了产品经理了。

所以大部分产品经理都以为自己是画原型的然后大部分UI都会自作主张改掉原型,因为没有美感所以通常你会发现美感说有了,也有那么一点儿可是总觉得会有一些不对。

我对他们的要求就是先别管美不美,你先告诉我这张页面每个模块想要重点表达的内容是什么能不能让人分清主次。做到了这一点 再去考虑美感。

UI的发展前景是很赞的在两到三年前,甚至都有人推动让UI来代替产品经理来驱动

某种程度上来说,UI其实最好的发展方向就是UE也就是交互,然后就是所谓的用户体验优化师--坦白的说我并未觉得有多少公司会真正的设置这个职位因为太泛了。

但是对于现在火热的O2O来说无论是线上还是线下,都希望提供一个极致的用户体验所以我说不好。

但是大部汾的UI都应该去朝着交互的方向发展而不是去切页面。。

UI薪水其实跟产品经理在前期差不太多中期差点。后期相差比较远一般来说:

UI的成长时间大概是在两年左右,基本上PCIOS,AndroidH5全部都做过一些项目,设计过几个Logo做过一些专题和Banner图,才算是比较完美报

然而想要做嘚更好一些就有点困难了,除非你的遇到了一家公司对用户体验要求极致,然而那个时候并不仅仅是UI和UE相关的内容了。

UI对入门门槛要求还算是比较高的首先你得有一台Mac。大部分的情况下你都需要Mac。然后你要懂之前提到的常用软件UI的交互规范,配色等等等

5.哪些行業适合做UI

IT界:无其他界:传统做VI的,就是平面设计的会转一些跟着基本上就是小鲜肉了,刚毕业就从事这个行业的会比较多一些还有┅些学美术的,会手绘的

PS:想了想,从没怎么见过程序员转行做UI的只见过UI人员会写代码的。

UI这个职业的限制在某种程度上就是不太清楚自己应该朝着UE发展所以时间长了工作就会变得单调,两年或者是三年之后原地踏步走没怎么有进步的人很多像Metro(扁平化)或者是material design这樣的风格一不熟悉二不了解三不想尝试的人还是挺多的。

很多人做了很久其实还是分不清产品经理想要在一个页面上表达什么--这有时候真嘚并不是UI的错

产品设计好原型,UI做出来了效果图剩下的就是CSS工程师用代码把静态文件写出来的。

所以CSS工程师和OP一样都是可以在不用叻解业务需求的情况下就能完成工作的唯一两个特殊职业。

一般来说CSS工程师并不存在,写CSS的人多少要写一些JS代码然而确实也会有一些妹子真的就是学不会JS,有一些汉子真的就是写不出来JS所以我还是把他们两个拆开了。

CSS工程师要考虑更多的就是兼容性简单说,IE内核和非IE内核(WEBKit)IE10以下和其他。

我是强烈建议新人不要去学IE10以下的Hack的写法的让IE10以下的,不支持Html5的都去死吧表再来跟我说用户还在用IE678了。

无論是哪一种程序员学会搭好的自己的环境都是第一步。

选好IDE选好源码管理工具,学会每天把自己做好的Html文件发布到服务器上可以直接訪问这都是最基础的技能,记着这些东西并不难你只是需要不断的去练习去熟悉它而已。所以从第一开始就去适应它

会用PS是因为一昰要切图,二是要制作雪碧图

这儿简单说一下,很多人都会说切图这个活倒底分给UI还是分给前端。

我一直都觉得这是CSS必须要做的因為只有CSSER才会知道怎么切合适。

然而大部分Android和IOS人员都不具备切图的能力这也是我一直很无语的工作方式,反正我要求我的Team,无论是Android还是IOS都必须要会自己切图。

另外再解释一下所谓切图和切页面的概念

切图指的是把需要用到的小图标了神马的切出来。切页面一般指的是就是紦整个效果图做成Html网页两种叫法我都觉得Low的不行,然而很多人都喜欢这么叫而且会混到一起,时间长了也就习惯了。

自适应和响应式是前端人员必须要懂的概念也是必须要能做到的。

毕竟现在是各种跨屏时代以及各种分辨率都层出不穷,H5又是眼下最火红的职业和技能

曾经有过工作半年或者是一年都不太懂什么是自适应和响应式的,这并不好

学会Bootstrap更重要的还是要去学习它的思想,这是很重要的┅点它帮助你开阔视野,你才会明白靠,原来可以这么写

Less也是一样,在推荐less和Sass之前我犹豫了很久然而看到Sass要Ruby环境就有点不喜欢了,虽然Bootstrap已经转向Sass但是在一般的项目中,Less也够用了所以还是果断的推荐Less了。

Flex是一个好东西我了解的还不多,在真实的项目中还未有使鼡过不过挺看好的。

简单说呢前端工程师需要的大多数就是技术相关的技能,倒不需要太多的沟通啊和耐性啊神马的技巧

哦哦,想起来了CSS的知识比较零散,要死记的东西其实是比较多的

CSS的发展前景最近几年好的不行。

Android和IOS大行其道的时候一大部分人都转去做了這两个行业,然而突然之间因为微信的缘故加上JS的魅力,H5突然又火爆起来所以呢,CSS整体来说还是一个挺靠谱的职业

最关键的是,CSS入門最快的职业啊几乎零门槛,只是转JS还是挺不容易的

CSS薪水如果纯粹只是做CSS的话,12K到15K基本上就是封顶了。所以:

正常情况下,3个月咗右是没问题的

我的要求比较高,所以所谓的独立做项目就一定是独立做项目不用怀疑这一点。包括自适应响应式和Bootstrap。

所以想要拿高薪,CSS都必须要学JS没有其他的途径。

不要相信NodeJS那只是玩玩而已。

不要想从前端转后端太难了,后端和前端是两个不同的概念特別是对基础知识要求的特别高。

CSS和JS最好的方式就是IOS和Android通吃精通一种,然后其他的能做项目并不需要考虑其他的选择,推荐再学点其他腳本语言首推Python,永远不要去学PHP表问我为啥,个人好恶你一定要问,等我心情不好的时候再说

零门槛!你相信咩,一个程序员的职業居然可以零门槛进入。好吧,大多数人其实并不把CSSER称为程序员

5.哪些行业适合做CSS

PS:正常人都可以学的会啦(马丹我就不是正常人)

CSS嘚职业限制有三个,一个就是不去学自适应和响应式一个是不去学框架,另一个就是学不会JS

这三点都是很重要的突破。然后这个职业呢怎么讲,在一家公司里可替代的程度比较高并不算特别重要,做不了核心岗也不存在什么代码交接。你就算代码写的再烂也最哆就是花一个月时间重写。。

所以如果你不想做JS你就真的真的发展受限制了,一定要记着CSS只是你的一个跳板。另外因为零门槛,所以你其实还是有很多计算机相关的知识要补的这是一定的,没什么可商量的

只是做前端还好,如果想做后端只是不想花那么长的時间才进入这个行业,就必须要从CSS做起跟着用自己的其他时间恶补计算机基础了。

JS说起来必须是一个神器这个当年10天内被开发出来的鉮器,以一种谁也想象不到的速度快速发展它击败了Java Applet,逼死Flash

Android和IOS看似一统全球的时候JS慢条斯理的和Html5一起蚕食App市场,甚至还出来了NodeJS这种連后端都不放过的残暴东西

原生和WEB的两种方式一直在争论不休,而我自己在三年前就是绝对的WEB支持者windows对于JS支持的更彻底,只是Winphone一直不給力

好吧,对于拿NODEJS做后端工程项目我还是有点不情愿然而提供各种辅助工具什么的还是挺不错的。

所以JS简单么我带着你们了解一下JS笁程师是什么样子的。

JS工程师其实分成两类在之前讲CSS的时候已经提到过,一个是套页面的一个是前后端分离的。

对这两个概念还是分鈈太清的可以回过头去看CSS的部分。

对于套页面来说JS工程师的职责非常简单,一个是做一些简单的动画和交互和验证轮播图,弹框驗证用户名是否为空等等。另一个就是通过Ajax取一些后台数据然后在页面上展示出来。

那个时候的JS工程师并不被太多人重视很多时候一些后端的人把前端的工作也做了--除了写CSS,大部分的后端工程师写点JS还是不成问题的

可是前后端分离的出现,彻彻底底的改变了前端的世堺

前端居然有架构了,前端居然也有“编译”的概念了(你能想象么JS的项目居然不能直接打开源码直接使用了,必须要经过编译才可鉯)

前端工程师和后端工程师只通过Json数据交互(感谢Nginx提供了一个完美的跨域解决方案,再也不用什么Jsonp了)然后服务器端的同学发现:

恏简单啊,我对Android对IOS,对Html都只需要提供一套API就够了~~

前端同学更开心再也不用去搭建各种悲剧的开发环境了!

前端变的很轻,而且控制欲佷强(AngualarJS好赞)页面跳转神马的SoEasy,而且也有了Bower这样的包管理工具还有类似于JSP自定义Tag的指令,MVC还有了Service的概念,马丹前端到底发生了什麼!

所以我们现在说到的,基本上就是前后端分离的工程师他们的工作职责就是和IOS&Android的工程师一样,跟后端定接口确定框架和架构,分模块然后跟后端联调互相吐槽对方是渣渣。

项目结束之后修复线上Bug不停的跟用户说:在我这里是正常的,你换个浏览器试试不行就清一下Cookie,再不然就换台电脑

业务【金融,教育医疗,汽车房产等等等等各种行业】

第三方【微信,QQ等各种第三方登录支付,IM地圖,语音视频,图片】

环境不说了参考CSS的。基础跟CSS差别就好大了要有一些网络协议的基本概念,要了解什么是Http什么是Https,什么是WebSocket什么是Rest,各种JS的语法

(太复杂的完全不用管别去管什么闭包什么Prototype什么This的指向),Json是必不可少的东西

直接拿JQuery来学习就好,表去太在意什麼原生语法大部分场景你都不用担心引入一个JQuery的库导致系统变慢,AngularJS真是一个好东西表太纠结一些细节,BowerRequireJS和GruntJS这些会有一些前端大牛帮伱搭好框架你直接用就好了。

想做点App就用PhoneGap想尝试一下ReactJS就去试吧(我很想试一下然而看到有Render就看不下去了)。

这里强调的就是你必须要慬业务逻辑,这跟CSS完全不需要懂业务逻辑简直是天壤之别很多时候你并不是因为技术而无法学会JS,而是缺少对于业务逻辑的理解

还有無数的第三方库等着你,做微信呢你必须要用WX的SDK要用百度地图呢就必须要用百度的SDK,还有各种支付啊神马的如果你要做IM就有环信啊神馬的。

所以JS就是一个真正的程序员,一个真正的工程师不但要能把代码实现,还要:

理解需求需要懂得编码规范

需要知道如何控制項目流程和进度风险

需要修复线下Bug,需要调优需要做版本管理

需要制订接口,需要编写技术文档还需要做新技术的调研或者是带新人。

我说了那么多你们对JS的期望也很高了吧。

坦白的说有点高的离谱!

JS是唯一一个可以在两年之内薪水到20K的职业。

虽然工作五年或者是七年的JS在薪水上差别并不太大但是也已经让很多人难以置信了好么。

好多人在别的行业工作十年都拿不到10K啊亲。

JS的入门相对来说比CSS难嘚多但是他的好处是学会一点是一点,并不像Java一样绝对是前期Gank型英雄,到了6级就能四处杀人Java是后期,要到16级以后才能出山才能够震撼全场

所以JS相对来说比较平滑,而且现在学习的曲线也比较清晰慢慢在业界都形成了相对完善的框架。

JS可以选择前进的路有很多种呮要你不是太瞎,就没什么大的问题

大概这个样子啦,JS工程师在后面有一点后续无力一般来说,我还是强烈推荐JSIOS,Android三者通吃在我嘚带的Team中也一直要求他们这么做(虽然并未能完全实施成功)。

这三者有太多相似之处了到最后你会发现,语言只是一种工具而已

要莋的事情,其实是差不太多的并不需要对所有的语言都特别熟悉,有一种打底的其他的都可以随意去玩了。

必须有CSS基础必须有CSS基础,必须有CSS基础或者是有后端Java基础。

总之你要么是会了CSS要么是精通了一种后端语言,千万不要CSS没学好后端语言也不会就直接学JS,心里會没底不踏实。

其他的都没什么了列出来的基础知识,自己慢慢补就行了

5.哪些行业适合做JS

IT界:CSS,然后是所有的都可以其他界:所有嘚都可以

好蛋疼的结论然而事实上就是如此这波JS的红利受益于微信,以及移动端的普及

我不确定在三年或者是五年之后会不会还是这種状态,然而三年和五年已经足够可以改变你的人生了所以,你在等毛线

唯一不合适你的大概就是:你真的没有编程思想哈哈哈,然洏这确实是一件很难解释和预测的事儿

我也确实见过反应比较慢的,进度比较慢的但是无论如何,混口饭吃不成问题。

JS的职业限制吔挺多的主要就在于学习的方向上很容易误入歧途(至少在我眼里是这样的,相信我我不是什么好人,我并不会我说过的每一句话负責)

比如说一直坚持喜欢用原生,各种喜欢写一些奇奇怪怪语法(我把我看不懂的语法都归结为奇怪的语法)各种回调等等等等。

学箌一些好的框架其实很赞的对于大多数人来讲,就够了只是缺少一个清晰的指引。

有的时候你会发现你对Http了解的比较少,会是一个瓶颈你对数组啊,循环啊不了解是一个瓶颈。你对MVC不了解也是另一个瓶颈。对Json不懂不知道怎么定接口,也是个问题

这些都学会叻,也会遇到一些问题就是JS的工程师三年,五年七年的差别,大多数人都不算特别的大所以总会有人想学后端--但是我绝对不赞成学Java,NodeJS也可以不去学不如去学习Python,更不要提PHP啦(我真心不喜欢PHP不知道为嘛)

或者说,后端并不是语法而是牵涉到算法,架构性能,业務选型等等跟前端几乎没有任何关系的知识,所以学习一门脚本语言能做点简单的东西就好了。

还是需要把注意力转到IOSAndroid上去。

说到後端其实我主要想说的是Java。C和PHP这两种语言我都不喜欢之前也说过了,我自己绝对不是一个说话公平公正的人什么观点都带着自己偏噭和极端的调调。

我之前在贴吧跟Java吧的吧主一直在撕逼

(原因很简单我说教大家学Java,一个月收400块钱他说我是骗子封我贴。

然后我说好吧我不说教大家学Java了,我来给大家解决在学习过程中遇到的困惑他说贴吧不能发问答贴。

我说行那么我就写一些新人学Java必须要学数據库,数据结构和计算机网络于是一群吧主过来喷我说,我没学过这些我也照样学会Java了啊什么多线程什么继承等等

我无语了解释说Java语法不重要,重要的是要学会后端的架构要懂算法,要懂业务要懂系统的扩展性,要会调试程序

于是吧主们就把我封了我很不爽,就噺开贴子跟他们撕逼对骂--我从来不是一个重身份的人我骂人会很脏,所以如果看到这个贴子觉得我很厉害那么你瞎眼了我就是一个不囍欢就说,谁喷我一脸我喷谁一身的性格

现在的结果就是Java吧的吧主每隔10天就来封我一次-哈哈哈哈哈比闹钟都要准

所以三个月过去了我带絀来很多CSS和JS的学员,然而Java的学员并没有多少

所以如果有人去Java吧替我骂一下那些XX吧主并且截图给我看,我会很开心很开心很开心说不定僦会给你们开小灶哈哈哈哈。)

之所以说这些一方面是400多的赞让我觉得有点羞愧,另一方面也是想强调一个概念学后端,学会语法只昰开始而已

最后一个就是我是一个小人谁欺负我我就想欺负回去。

我想想该怎么描述后端的工作

后端跟前端是截然不同的,之前讲过前端是Gank,后端是大后期要等到16级以后才能V5起来,而且我非常不推荐前端去学后端

(所谓的全栈工程师完全是扯我有时间会写一下,為什么不要去做一个全栈工程师)

后端要积累到足够多的项目经验,才能够成为一个靠谱的后端工程师我觉得。我来举一个跟着我线丅半年的小培宇的例子就能简单说明一下后端的工作

小培宇是第一个来到我大修院面试(嗯,最初我是给他们发工资然后带他们学习的)的人跟我讲他是考研失败,差了几分然后也做过点项目,我随便问了几句就知道了他的状态:

人挺聪明的但是在学校肯定玩的疯,所以问点排序算法还是能够答的出来数据结构也懂一点儿,LinkedList和ArrayList删除数据谁更快也能答的挺靠谱的但是绝对绝对没写过一行工程代码。

他打动我的那句话就是:不在乎工资多少就想多学点东西

很好,我默默的点个赞因为我本身就想把自己这几年积累的经验和知识和赱过的坑整理出来,告诉互联网的新人所以也不抵触带新人,

坦白说,愿意像我这样带新人的公司几乎没有,带新人真不是一般的累

圉好我之前在各种公司中都带过各种新人,好的坏的都带过所以还算是熟悉。

于是我给培宇精心设计了他的学习曲线这也是我的核心觀点:

3.做一个相对复杂的系统DB设计,接口设计项目部署,错误提示Bug查找,怎么打系统日志

4.做了一个微信相关的项目,了解微信的API茭互方式,Cookie拦截器,AOP登录系统的设计,命名规范等

5.拆分Service,将Home和Service分开使用RMI调用,实现各个层次之间都可以完成分布式的部署使用Tuscany(真心喜欢Tuscany)完成SCA。

6.使用MongoDB完成地理位置的搜索短信,图片上传云存储,使用Tiles来配置页面模板

这些内容他花了将近三个月的时间。对怹来说已经是学会了很多东西了这三个月是几乎没日没夜的学出来的。

要知道他之前压根就不知道什么是Spring生成Json和套JSP的区别我骂了他好幾次他才弄明白,经常会遇到一些Maven或者是Tuscany的报错不知道该怎么解决数据库字段的规范和接口规范常常被我黑的体无完肤。

很多东西都只昰知道个皮毛而已你们自己说说,学会Java语法算什么

这还是有我来带,有我来教有我给他定制合适的项目教给他去做,如果没有这些你们自己学,学会我说的这些东西要多久

别的不说,学会怎么打日志怎么根据线上的报错去找错就不是一个月两个月能解决的。

做為一个工程师应该明白,很多时候要学会正确的路怎么走还必须要知道错误的路是走不通的。正确的路大概就那么几条错误的路呢?

为什么很多时候我看到错误日志就会明白是什么地方报错了是因为我之前花了无数的心血和心力在查找这些错误上,所谓的经验就是這样看的多了,一眼就知道大概什么地方报错了然后随便百度下,就能找到解决方案跟着去尝试倒底行或者是不行。

这些是看书戓者是看视频能教会你的么?

到现在为止培宇已经跟了我快半年了还是被我骂的狗血喷头,别的不说就是接口的Wiki文档和代码保持一致,他都会经常犯错---这跟Java语法有什么关系然而不经过一个好的训练,想做的很好很不容易。

其实他接下来要学的东西更多

他必须要把這些相关的选择都有所了解,然后才能成为一个架构师这个时间,如果一直跟着我我觉得应该是在一年到两年左右。

这是一个横向扩展的内容在这个时候我还没有要求他去看一些深层的东西。只是需要他停留在会用的状态就可以

在会用这些技术之后,再去了解一些洎己喜欢的技术的细节不成为一个只会使用工具的码农

所以培宇问我还需要多久才能达到我的水平的时候,我其实并不想打击他

我也昰很刻苦努力的人啊,曾经无数个日夜也是默默的去一行一行代码去用最笨的方法调错并没有人告诉我怎么样是正确的只有靠一个又一個的项目总结出来的经验。

而且我还会一些DroolsCRM,Lucene等等一些和架构师关系不大的事儿偏算法一些的东西毕竟当年也学过点数据挖掘机器学習之类的内容。

就算是学会这些了对于一个后端工程师来说就够了么?不不不还需要学习JVM优化,监控部署流程,发布流程项目进喥管理,代码重构等等等等

所以,你们自己算算这些东西如果都学会,一个Java工程师要多久才能成为架构师

然而我还是对带培宇很有信心,首先他相信我他愿意学,跟我当年一样不怕苦不怕累,人也够聪明做事也有责任心,其次我知道他应该怎么走这条路先做什么,再做什么哪些该花时间和精力,哪些不该花

我希望他能够在一年之内就成为一个架构师。就如他在三个月和六个月之间独立做項目已经不成问题了一样(记着我说的是独立做项目,自己设计DB设计接口设计架构完成需要的功能从设计到实现完全自己来)。

这个嫃实的小故事就是想跟大家提前说清楚,我对后端的要求有多高这也是后端特别好玩的地方。

你必须要会很多种框架有足够宽广的視野,还需要有足够多的项目经验(做金融和做地产是两个完全不同的概念)还需要懂项目开发流程以及快速定位线上问题的能力。

这些就是我说的后端的主要工作内容了,这也是为嘛我说到后端的时候大部分就是在指Java,而我说Java的时候基本上是只指后端,根本就不昰指Java的语法更不是说是Android。

现在明白为什么后端是大后期了么 为什么不建议前端学后端了么。

后端要懂的东西太多了。言归正传我來讲一下后端工程师的相关内容。

大部分的后端工程师都停留在功能实现的层面上

这是现在国内二流或者是三流的公司的现状,甚至是茬某些一流的公司

很多时候都是架构师出了架构设计,更多的外包公司根本就是有DBA来做设计然后后端程序员从JS到CSS到Java全写,完全就是一個通道所有的复杂逻辑全部交给DB来做,这也是几年前DBA很受重视的原因

所以你能看到成千上万行的存储过程(存储过程,视图事务,外键 这些东西我真心希望永远不要在Mysql里出现)这就是外包公司中最常见的架构体系。来个SSHOver。

然而大多数情况也根本不了解为什么这么鼡

很多人写了两年或者三年代码都没做过独立的DB设计,不知道什么是REST不懂怎么做接口设计,也不知道怎么去定位问题

所以对于他们來说,拿到产品经理的需要会有一个项目经理或者是Leader分配任务,跟着按步就班的把代码写完跟前端调试完,QA测试不通过加班改回来偅新改,改完QA又没通过再加班再改

QA终于通过了然后上线了突然发现另一个好的功能不能用了,跟着再接着改在线上发布一次又一次。眼睛熬的通红最终真的受不了了,休息几天换另一家公司涨个40%左右的薪水继续这样的日子

不不不。我带出来的后端程序员并不要这么莋所以,我带的后端程序员的工作方式是这样的

拿到产品需求-》后端程序员做接口设计,架构设计DB设计-》拿出方案来做技术方案评審-》评审通过,开始预估时间-》

每日更新自己的Task-》接口完成自测一百遍每日部署到开发环境,随时集成-》CodeReview-》

重构代码-》性能测试-》Demo通过-》发布到测试环境-》修正Bug-》重新发布-》发布到线上环境

这中间需要理解需求,需要拿出多个方案需要跟前端配合,需要跟QA配合需要哏运维配合。需要跟产品沟通有时候还需要找UI。后端几乎是一个核心节点而这个核心节点接起来了所有的人。

我不知道我讲清楚没佷多时候我都发现我可能太久没做一个IT新人了,都忘记了新人们关心的问题或者是困惑是什么这就是我知道的,两种后端程序员的工作內容你选哪一种?

基础【HttpREST,跨域语法,Websocket,数据库计算机网络,操作系统算法,数据结构】

业务【金融教育,医疗汽车,房产等等等等各种行业】

第三方【微信QQ等各种第三方登录,支付IM,地图语音,视频图片】

环境不说了,搭环境永远是后端人员比较头疼的事儿所以才会有很多人想用简单方便的的语言来解决这些问题,比如说Python之类的

我还是喜欢Java,大概很多人觉得重然而我喜欢,我覺得不是“重”而是“正”。好像剑一样王者之剑,路子很正

基础知识太多了,正是我一直强调的做后端,这些基础知识了解多尐其实就是决定了你以后能走多远。

这些科班出身的计算机ER会了这些,才有了一个平台才可以站在这个平台之上去搭建更高层的建築,如果根基不稳你觉得你会对上层的知识理解透彻么?

框架是Java最有资格说自己是架构师的原因

无数的开源框架,选型筛选,对比填坑,优化维护,寻找最适合的业务场景很多时候很多公司的架构简直了

(我不吐了,很多技术都在用然而每一种用法几乎都是错誤用例的典范)

所以你想想,你大概要有多少框架要学要用

很多时候,你必须要想清楚哪些是需要认真了解的,哪些是需要一笔带過的

业务对于后端人员来讲无比重要,不懂业务就没有架构。这是我经常说的一句话这个世界上不存在不懂业务的架构师(我不怕被打脸),一个架构师必须要深入了解业务体系知道哪些是会变的,哪些是不会变的哪些是重要的,哪些是不重要的然后才能做出來适合某个应用场景的架构来。

比如说同样的表,几千万的量和几亿的量差别非常大频繁读和频繁写的设计也完全不同。会有一些通鼡的架构思想和理念在里面但是都是需要跟业务结合落地的。

PS:很多金融证券行业的程序员就是靠业务知识混饭吃的。对他们来说對业务体系的了解要比在技术上的追求重要的多。

第三方的东西和JS的内容相似我不想多说了,而且 JAVA的第三方的东西更是多的离谱坦白嘚说Drools这东西我就没彻底研究明白,虽然很喜欢而像这种类似的东西,太多太多了

对于后端人员的发展前景,我有两点想说的

A.无论是B/S還是C/S,无论是WEB还是原生,或者是智能硬件后端都会屹立不倒。

B.随着后端架构体系的稳定和成熟后端人员在性能上需要担心的问题不多

(洅加上大部分应用场景其实并不需要那么多的性能),所以更多的应该会关注于一个稳定的扩展性好的架构以及快速实现能够复用的业務逻辑模块实现上。

最近后端人员在价格上其实有点偏低于前端人员的,就向我之前所说

两年的JS可能拿到20K。两年的Java想拿到这个非常難。然而五年的Java或者是七年的Java,拿到30~40K不难。

Java初级工程师-Java中级工程师-架构师-技术经理-技术总监-CTO-CEO

后端的爆发力并不差只要你给他时间,呮要你愿意前进后端的路线很深,深到你有时候会觉得自己还没来得及全部了解就已经有无数的新人涌进来要替换你的位置了。

计算機网络数据结构,数据库操作系统,Java基础语法Java是入门门槛最高的一个,没有之一(好吧,我虽然说的是后端然而一直把Java等同于後端)

当然,如果你的志向并不是一个架构师只是像NodeJS和Python或者是PHP一样随便做点小项目,那么也可以说的得上是没有门槛但是我说过我有偏见,所以可以直接把我无视掉如果你觉得我说的哪点不对,你过来揍我啊

要跟我学Java,就必须把这些基础知识学好我只带想成为架構师的人。

5.哪些行业适合做后端工程师

IT界:无其他界:无科班生:计算机专业的中等水平能力以上

所以如果有各种培训学校告诉你零基础4個月20000块钱把你教出来做Java后端然后你月薪上万,你就直接一锅盖盖他脸上吧

那么零基础的人想做后端,怎么样才能入门呢我比较推荐嘚是先做前端,然后把自己的基础知识各种补补回来,再去转后端--但是实际上你做了前端,再想转后端就太难了,因为你到时候就鈈太想放弃自己一年或两年就可以轻松拿到的高薪去做一个苦逼的后端了。

后端的职业限制有很多第一个职业限制就是不去做独立的項目,不做DB设计不做接口设计。

第二个职业限制就是视野不开阔不知道有什么样的开源软件可以用。

第三个职业限制就是不重视线上環境不知道如何写日报,也不知道如何快速定位

我不得不说我带过的兄弟,有一次解决线上问题的时候快把我气疯了他们在那里猜測问题出现的原因,跟玩福尔摩斯一样:

不打日志不看日志根据现象倒推结果,直接盲改代码再扔到线上看看有没有解决问题---那是最后逼不得已的办法好么在此之前能不能安静的把日志打出来,确认一下到底是哪里出错了

第四个职业限制就是不懂版本管理,不懂Bug修复鋶程不懂开发流程。

这些其实都是一整套的流程体系(等我心情好了有人把Java贴吧吧主骂的狗血喷头了,我大概也会写出来)

大部分后端的人员都会抱怨自己不会写前端代码不会写Android或者是IOS,不能自己独立完成项目所以他们才倾向于自己做一个全栈工程师,做一个自己囍欢做的东西

这也是后端人员会经常觉得不爽的地方,自己写的东西完全感受不到而且一旦出问题很多时候都是大问题,解决起来很麻烦经常不敢改代码,因为看不懂前人的东西

有时候后端人员会比较木,虽然很各种职业都交流但是多数都会觉得自己很NB其他人都佷SB。

这也是后端人员比较大的问题往上走的话也容易遇到各种瓶颈,做技术的做到CTO,再去做CEO其实很难的。

而且等你走到足够高的高度,你会发现一个七年工作经验的正常发展的后端工程师,一定会有一个七年工作经验的产品或者是运营在薪水和职业上秒杀他。

這也是做技术的最大的悲剧

不过大部分的后端工程师都比大部分的产品和运营人员薪水高,这也是这个行业的特征之一所谓高不成低鈈就,小富即安就是这样的。

如果你是一个有理想的后端工程师我建议你多关注一些敏捷开发,多关注一些项目管理学会带着自己嘚兄弟们一起做事儿。再不然就是在技术这条路上一直走到黑。

首先说我对DBA的了解并不专业,也不够多而且对这个职业也有偏见。

所以我只能把我感受到的,我会的讲出来然后如果说你们觉得我说的不对,要么自己开贴回答来打我的脸我虚心学习,要么就直接笑笑走开表在评论里说三道四,最烦这个

七年或者八年或者很早之前,DBA是非常吃香的职业讲这个,大概要从系统的性能瓶颈说起佷早之前,互联网刚开始的时候算是蛮荒时代。

那时候大家写代码还没有规范能把功能做出来就不错了,大家拼的是什么呢Sql的性能。基本上就是没有中间层也不会分什么服务层和Web层,很多时候SQL都写到页面上

然后Sql呢,又属于那种外键视图,存储过程的天下这就導致了出现一个问题。大部分的功能都是通过DB来实现的也就是说,什么计算啊分组啊,排序啊筛选啊,全是靠DB来做

小功能还没问題,功能一多问题就出来了,一个Sql语句执行了半个小时没做完然后整个系统崩溃掉了。

那么怎么解决呢,解决的方案就是。。峩其实很难理解这种思考方式。。 就是找一些人对DB特别熟悉,他的职责就是审核所有程序员的Sql语句去找出来这些Sql哪些用到索引了,哪些没用能不能执行,怎么优化以及监控线上的慢Sql。一个公司能养得起DBA的很NB了。很贵的!

所以这是那个时候的DBA但是,很快大家發现有不同的方式了这种方式就是,我靠原来我可以用分库分表,我可以做读写分离我能做主从。

于是对于DBA的依赖又重了一些再加上数据的安全和备份,所以DBA的作用已经有点偏移然而最关键的还是系统架构的发展变化了。分布式的概念慢慢的起来了大家明白了┅件事儿:机器不够,并不是说把服务器升级成小型机就能搞定了而是应该用更多的机器来做,因为便宜而且更简单。

所以后台的系統架构慢慢的演化出来很多不同的层

WEB层,服务层缓存层,DB层对于缓存的使用越来越重要,由此而变化的观点就是数据分成了缓存和歭久两种结果DB慢慢的变成了持久层-也就是说,只是要把数据持久化并不希望它去承载用户的压力,缓存主要用来扛并发不需要做持玖。这是一个很关键的点也是决定DBA命运的转折点。

当然现在还看不出来(像MongoDBCassandra,这些又是另外一种不同的技术走向,包括Mysql也在不断的想要提升自己的性能)所以这些东西我们先抛到一边不谈。

只说这中间发生了一个变化对于后端人员来说,对数据库访问的变的严格起来了尽量单表操作,不允许复杂查询设计架构的时候必须考虑缓存

甚至我们在白社会的时候还设计了一套通用的DB访问机制--虽然是七姩前的设计然而现在一直都觉得很赞,只是再也没有如我在搜狐的时候那群人做这些事了-反正我见识少一直在小公司混,也不怕你们嘲笑我见识少

这样就导致DBA的一个很重要的工作职责,失去意义:就是查找慢Sql因为我们在系统架构层已经决定了不再这么使用DB。

这样使得Oracle什么的也慢慢的失去了价值-我知道我说的每一句话都有可能会引起争论所以我不得不再次强调一次,纯属个人的脑残关点不喜欢的话,要么认真的回复来打我的脸教我做人我认真学习要么就是滚远点表理我。

包括建表去除外键,去除事务去掉视图等等等,一瞬间DB的使用简单多了。

那么DBA还能做什么呢?

对于我现在的理解来说DBA的职责慢慢变成了数据备份和安全策略--然而这部分又跟运维的工作有叻冲突,所以在某种程度上来讲我都会在五十人左右的公司把DBA安排到运维部分,跟运维的兄弟们做基友

可是现在云服务器也变的越来樾好用了,这里也推荐一下好友的金山云和Ucloud阿里云跟我并没有神马认识的人,所以不推

DBA除了之前提到的主从,读写数据备份,权限控制分库等等,还应该再扩展视野把MongoDB,Redismemcache,elasitcSearchhadoop等等这些数据全部管起来。我觉得更像是一个运维的分支了。

这就是我目前认可的DBA的價值和意义已经从之前的性能优化部分转移到了数据备份和安全。毕竟性能,架构和优化这些东西,是离不开业务系统的

那么,接下来和之前一样,继续介绍一下DBA的工作内容

如果你做了一个DBA,基本上会遇到两种情况

一种是你的后端工程师懂架构,知道怎么合便使用DB知道如何防止穿透DB,那么恭喜你你只是需要当一个DB技术兜底的顾问就好,基本上没什么活可以做做个监控,写个统计就好了

你可以花时间在MongoDB了,Hadoop了这些随便玩玩儿。再按照我之前说的做好数据备份。如果需求变动比较大往往会牵涉到一些线上数据的更妀,那么就在发布的时候安静的等着等着他们出问题。。如果不出问题就可以回家睡觉了。

另一种情况就是我刚刚提到的大部分程序还是靠SQl,然后有时候DBA还需要写几万行的存储过程那么你的主要职责还是优化Sql,优化Sql永远不停的优化SQL。

还有就是多花点时间把MongoDB和hadoop这些都维护起来或者简单说,只要跟数据安全备份相关的东西,都维护起来

工具【各种DB的版本,工具备份,日志等】

这个说是环境巳经有点勉强了毕竟是一些吃饭的家伙。就是各种DB各种维护什么的。工具也是相关的内容再强调一下对版本的熟悉程度。

DBA的发展前景我说不好一些简单的工作。运维也是慢慢学会了包括薪水,这个是我比较没把握的之前的薪水都是有迹可寻的,DBA的薪水我接触的仳较少实在是没什么底气。

1年~5年:8K~25K5年以上:20K~40K(我好心虚。我只给一个DBA开过工资)

也不知道有啥成长路径感觉这个职业的物种越来越稀少了。

DBA的入门门槛也是比较高的而且,很少于有刚工始就是做DBA的大部分都是工程师转的,所以呢至少要两到三年左右的时间才有鈳能做DBA,才能负责一些相对负责DB的事情

5.哪些行业适合做DBA

IT界:后端工程师,运维工程师其他界:无

其他行业的想转DBA刚刚也说过了,不合適只能先写代码,再慢慢的转

这个职业最大的限制大概就是。很容易无事可做,前面有后台架构师蚕食后面有运维工程师侵入,Φ小公司都不太会设置这个岗位所以有的时候会比较尴尬

大概还有一些外包公司,或者是传统的IT企业会是由DBA去设计表,去理清业务还囿一些岗位其他的都不太好。

所以对于其他的各种持久化数据的备份和优化特别是对一些正在使用的框架,又不够成熟的东西更容噫找到自己的位置。如果你要做DBA的话就记着,跟持久层相关的优化数据安全,备份都要去了解--顺便再学点运维的东西

7.去哪里学怎么荿长

基本上,DBA可以由运维工程师和后台架构师去转也会有一些数据库方面的认证之类的的过程。

这个岗位啊跟其他的岗位真心有点不┅样,很少有刚毕业或者刚入行的人就要去做DBA的--你也做不了亲跟数据相关的东西,没个三年五年的经验真的很难做,而且有些技术细節是必须要了解的比较多的。

PS:刚刚想到了云服务器里是DBA的一个好去处,其实这里跟大数据也有一些相关的这么说的话,DBA的职业需求度跟云服务器公司的发展是有比较密切的关系但是总之,不太可能变成一个标配了

我会在后续讲敏捷开发的时候再重新提一下软件開发的全过程,来告诉你们为什么CSS和JS要分开那个才是我执行敏捷开发落地七年的干货,当然时间不定,只是赞越多分享越多,我觉嘚自己的答案越有价值心情就会好

我可能会出一个系列这个只是第一个,来讲一下互联网的各个职业发展

第三个讲应该怎么样对IT技术人员的团队管理和绩效考核

第四个,讲如何做自己的职业规划以及如何找到一份更好的工作或者是怎么判断一个公司靠不靠谱

第五个大概会聊一下创业公司怎么做,以及如何用MVP的方式去创业

这些如果你们都看到了,我讲出来了也差不多是我这八年中经历和感受到嘚所有了,至少会对互联网的各个方面都有了一个全面的认识

讲一下运维,这是一个很神奇的行业一个在渐渐蚕食其他各种职业的职業,一个本来不是编程但是现在却编程越来越多的职业你要问为什么?

说到运维,就不得不提起来服务器以前呢,服务器很贵带宽也佷贵,机房也贵电源也贵,反正啥都贵而且还不稳定,那个时候运维工程师的大部分技能还是在硬件上或者是说硬件是必不可缺少嘚技能,所以守着机房也是运维工程师比较常见的事儿

而且有的时候还会兼着网管,因此大部分的运维工作就是装个系统,搭些内部垺务软件如邮件,WikiJenkins,VPN等等等很多的时候还要会布线,会路由器会交换机,会做资产盘查把网管的工作也做了。

当然线上的正常發布也少不了规范的点的公司,会分成三套或者是四套环境(我是不太能接受四套环境)就是Dev,TestOnline(三个环境的叫法会有不同,我现茬越来越喜欢这种叫法)

开发环境就是给开发人员自己瞎折腾用运维只需要把机器安装好,IP分配好就行了开发过程中你们自己瞎折腾,每天部署多少次都可以--细节请等我讲敏捷开发的时候再说

测试环境就会严谨一些,正常情况下每天只发布一次太频繁QA会杀人的。

线仩环境更严格一般来说不允许频繁上线,所以只能在周二或者是周四发布一周两次,对于WEB来说其实是足够的(但是很搞乱的是,很哆公司是周一定需求周二开发,周三测试周四上线,周五改Bug这些都会在讲敏捷开发的时候提到)。

所以测试环境和线上的发布都是運维来做因为有一个最简单的真理:

只要你把权限扔给工程师了,他就会偷偷重启服务以及偷偷改数据以及一不小心删掉某个文件或鍺是清空所有数据。

而且一定会被你抓到不要问我为什么,我要是有线上服务器的器权限我也经常干这种事儿。。这比偷情的感覺要好多了,一个人偷偷摸的瞒着所有人把Bug改掉。

这个时候运维还是运维工程师直到虚拟化技术疯起来,直接生成了阿里云金山云,Ucloud等这些改变了运维工程师命运走向的公司

云时代来临了。。视频云IM云,图片云APP云等等各种跟业务相关的云服务也做起来了,确切的说短信邮件也是各种云服务。

那么运维工程师的变成两极分化一个是,云服务商的运维工程师越来越重要了一些大的公司也在搭建很NB的运维自动化系统。另一个是非云服务商或者是非大公司的运维工作变简单了,再也不用去机房换硬盘了。反而是要熟悉和了解各种云服务器的特性

所以,当我们现在说到运维工程师的时候其实是分成两个阶段的

一个是传统的运维工程师做的东西,一个是现茬云时代运维工程师做的内容

如果你现在想做运维你恰恰是处在这个变革中间,我说不好未来的走向但是这是一脉相传的,所以并不鼡担心运维中技术体系的中断

这就是对运维的一个简单的介绍,哦对了

运维是一个公司里非常重要的岗位,刚刚还忘了说到了数据备份和灾备和监控如果你们公司有值班手机,一定是运维同学手里拿着24小时不准关机。

无论你洗澡上厕所,还是吃饭或者是逛街,還是跟妹子恩爱(天地良心我没见过一个妹子做运维,听都没听过)只要你收到报警,你就必须第一时间远程连接到服务器然后通知相应的工程师,立刻解决问题或者 是直接滚蛋。

通宵熬夜发版本更是正常的事儿

你要问为什么会通宵,呵呵发了一次版本,上线发现不正常,于是回滚或者是直接在线上Bug。于是运维同学就等着老婆催也没用。然后过了两个小时大后期后端同学说好了,可以發布了于是执行脚本,然后又发现出了问题接着回滚或者是在线上改。。

运维的工作大概分成几个部分我对于学习运维的少年们嘟这么说,大概是:

A基础环境的搭建和常用软件的安装和配置(兼网管的还有各种程控机),常用软件指的是SVN,Git邮箱这种

B日常的发咘和维护,如刚刚讲到的一样测试环境和线上环境的发布和记录,原则上对线上所有的变更都应该有记录。

C数据的备份和服务的监控&安全配置。各种数据都要做好备份和回滚的手段,提前准备好各种紧急预案服务的监制要做好。安全始终都是不怎么被重点考虑的問题因为这个东西无底洞,你永远不知道做到什么程度算是比较安全了所以大多数都是看着情况来。

D运维工具的编写。这一点在大嘚云服务器商里格外常见大公司也是一样的。

EHadoop相关的大数据体系架构的运维,确实有公司在用几百台机器做Hadoop所以虽然不常见,我还昰列出来吧

这些就是运维的基本工作内容了,然后如我之前所说运维一般来说,大点的有两个小点的就一个,再小的就是工程师兼著而且大部分都在使用云服务器了。

所以普通的运维工程师的工作都可以标准化和简单了这里并没有提到性能优化相关的部分,实际仩这也是运维工作中比较常见的内容特别是在出现问题的时候,运维永远是一个在不出问题可能就被忽视一旦出问题就会被痛骂的。。职业

之前有句话说的好,线上不出故障是不现实的。

现实的做法是出了故障之后,多久能快速恢复我对这个很认可,原话应該是出自一家云服务器公司还是。我不记得了

但是这里不得不推荐一下 【猎聘网的技术总监 】,我的老同事和好基友前段时间刚刚茬一个神马神马会(我靠,我只知道是一个很厉害的会)上分享了猎聘在自动化运维上技术积累如果PPT能够公开的话,回头我会把它也放箌运维的体系里

运维的技术体系也很多,基本上是所有的工具都想要你会用我会慢慢的整理出来一套运维体系的技术架构,当然不只包括运维包括我说的这些所有偏技术的职业。

所以如果觉得我写的还不错,还算靠谱就关注我,关注群关注微信公众号。如果觉嘚我是在扯淡直接评论里骂我就好了。

这里说到的其实并不算全确切的说,做为一个运维工程师严谨的性格是绝对少不了的,因为線上的操作全部由你来执行你必须要心细,要严谨如果做不到,就别考虑了真出了事,压力又把你压死想想最近几年出现的运维倳故吧。。

还有就是必须对Linux系统的底层了解的深入一些如果你想做一些高级运维的话。Python和Shell脚本都是必不可少的最常见的运维必备语訁。

运维和前端其实有点想像都是属于柳暗花明又一村的。

本来运维的工作要被后端工程师蚕食了

(后端工程师真是一个可怕的职业鈳以这么说,没有后端工程师做不了的。包括产品,市场和运营)

然而随着云的发展 运维工程师简直是有了新生。

网管-初级运维工程师-中级运维工程师-高级运维工程师

运维做到这个级别已经到头了。

很少有运维的同事能做到技术叫监的级别的所以,对于资质一般嘚你来说选择了做运维,就代表着天花板很近但是对于大多数人来说,已经可以了

OP的门槛其实并没有太高,经常玩玩Linux会好一些但昰要学的东西,确实挺多的处理线上故障,也是一个经验积累的过程所以说呢,基本上算是0门槛谁都可以考虑做,只是要看你喜欢或者是不喜欢,进度快和慢的问题而已

5.哪些行业适合做运维

IT界:后端工程师,网管其他界:All

刚刚介绍过了门槛不太高,所以比较容噫一些而且,可以考虑做一段时间网管半年或一年之后转运维,网管的薪水比较低3000或者是5000已经到顶了。

但是转到运维就不一样了,简直是新生

运维的大部分事情其实都是跟业务无关的。

这在之前介绍CSS的时候说到的两个不需要懂业务逻辑的职业。曾经有过运维工程师觉得工程师写的Sql不对帮他改了。然后被我狠狠的骂了一顿。

这表示着:运维工程师必须按工程师所写的步骤去执行不允许有任哬的差错,如果出错了如果没在测试环境跑通,或者发现有问题可以跟后端工程师沟通但是,不可以改他们的东西

所以运维工程师能够相对有更多的时间去研究技术,然而坏处就是对一个行业了解的会比较少

所以这个职业比较大的问题就是,想要再转行成其他的职業已经很难了,只能一条路走到黑嗯。比较难

天花板和CSS一样,能看得到但是!已经很适合了,薪水毕竟不算低呢

“QA最好的出路僦是产品经理”。

这是我对QA最好的认知我知道这里有无数反对的声音,我说的每一句话大概都会有认同和不认同的人所以如果看到这呴话不喜欢,就表再继续看了

QA的这个职位,大致分成两个流派一个是功能测试,一个是性能测试

功能测试就是指的是各种点点点点。然后看看功能和数据有没有问题什么浏览器,什么版本什么情况,能否复现

性能测试就是指:用Jemter,LoadRunner等做压测测跨后端人员的信惢。

基本上就是这两种很少有专门针对安全的层次去做测试的。那么问题就来了工程师和QA之间,倒底谁该做功能测试谁该做性能测試?

工程师才应该做性能测试因为只有他们才最应该知道自己开发的系统性能瓶颈在什么地方。

然后也是因为这句话我举一反三的瞬間懂了什么才是一个工程师,并且在不断的践行者这个理念:

如果你是一个后端工程师你必须对服务器的线上数据了如指掌:

有多少张表,在哪台机器上分了几个库,一个表里有多少条数据数据的分布是什么样的,起了多少台Service占用多大的内存

高峰期的TPS有多少,CPU的负載怎么样页面总响应速度有多少,一个请求调用了几个方法每个方法执行时间是多少

是否加载了缓存,从缓存里加载的数据是多少个大概多少MS,访问一个数据库需要多久

你做不到这一点,你就没办法做好性能优化所以,QA很难做到这些也完全没有必要做到这些-实際上我们的团队是没有QA的。工程师负责所有的问题

前端也是一样的,做了一个App耗电量,带宽内存,兼容性都是前端应该关心的问題。

所以我在这里给出的一个明确答案就是:性能测试开发人员做,功能测试QA做。

但是这里的功能测试并不是指的是普通的功能测試。

实际上开发人员应该自测一百遍再提交到测试环境(我在讲到敏捷开发的话,会再次提到整个开发}

做过一些招聘也面过一些暑期實习生。

如果是金融行业尤其是券商和基金公司,更推荐本科读数学等基础学科修经双,练代码;研究生读金融/经济考CFA/FRM,找到一个感兴趣/擅长的领域去大机构专一地做这一个领域的实习。

本科读数学等基础学科目的是锻炼数理逻辑能力,大好青春脑力最强的时候,不要浪费了同时通过修经双打下一些基础,也为研究生转金融做准备好好上编程课,如果有能力自学掌握一些编程工具,如pythonR。

本科打好基础研究生正式发力。去大机构好好做实习找准一个领域之后专一地实习,不要东一榔头西一棒子今天做资管明天去投荇;另外,趁着还没工作时间自由,把CFA/FRM考下来

如果你能把上面这条路走下来,进三中一华也有竞争力

你可以去各大求职软件(领英、猎聘、boss直聘…)上看看三中一华在职人员/明星基金经理的履历,会发现至少一半是数学、电子、计算机等等理工专业

而且现在我持仓嘚5只基金,全是数学/计算机专业出身的基金经理哈哈。

注:以上方法适用985三本求不杠。

offer比较/工科转金融/银行券商相关咨询移步值乎簡历修改微信:little_panda1234。

}

我要回帖

更多关于 学电脑先学什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。