修电脑,装系统?还是写游戏,做外挂?能不能做一个机器人,帮你找回QQ密码……
写代码的,做软件的,IT民工,搬砖的……
我首先给大家简单的介绍一下,一个“软件/项目/产品”的制作流程:
1. 产品经理/发包方:提出需求,我们要做出一个怎么怎么样的软件
2. UI:设计界面,需要多少个页面,每个页面长啥样子
3. 程序员:进行开发,所谓的“写代码”
4. 测试人员:进行测试,类似于工厂的“质检员”,检查软件写得对不对
5. 支持/实施人员:进行部署和维护,比如是个网站要发布(部署)出来,随时随地观察运行状况,出错了要赶紧处理(维护)
都有经理两个字,但完全不一样:
产品经理,没有下级,管不了人(和“客户经理”类似),他能管的就是产品,产品做出来应该是个啥样子,怎么个流程,比如这里要放一个按钮,点击就……。负责提“需求”,你可以理解成公司内部的甲方爸爸。(《人人都是产品经理》,产品经理最恨的一本书,^_^)
项目经理,可大可小,但无论如何,下面是要管人的,真正的经理,^_^,前面说的:产品、UI、开发、测试、实施……都归他管。他要负责项目的进度:保质保量的按时完成(交付/上线)。
笼统来看,他们都是做“界面”的,但严格来说:
UI和美工不算程序员(开发人员),他们的作品是图片,UI让产品“好用”,美工负责把产品“好看”。做美工需要的是美感;做UI需要的是“用户心理学”啥的,其职责在某些地方和产品经理重叠。
前端属于开发人员,按UI提供的图片,写出程序可用的代码(比如:HTML+CSS+JavaScript),但有时候,(对美工要求不高的时候)公司也把前端当UI用……
实际上,测试分为:
但是,测试的工资并不低。为什么?
唯一担心的,测试(尤其是人工测试)岗从整体上看,确实有缩水的趋势。自动测试往往被开发人员兼任。
怎么选?我就一句话:学开发做测试没问题,学测试做开发不可能。
售前基本上就是销售了。挂羊头卖狗肉,因为销售不好招……
售后涉及的工作内容包括:
有可能要出差。
选择那个岗位?
如果真想做开发,最好是一步到位。什么“以后再转开发……”,基本上都是自己安慰自己了。
不想做程序员写代码:
项目经理?哈哈……得从基层(一般都是程序员)做起呀!
这可能是童鞋们最最最关心的问题了吧?^_^,也是很多同学转行的最直接原因,最主要目的!
程序员有钱,这是很多和程序员有过较深入接触(因为不炫富)的同学直观的感受,段子说的:
嫁人就嫁程序员,钱多话少死的早!
国家统计局权威统计,程序员(IT行业)的工资已经连续n年高居榜首(第二是金融业)
注意这是行业工资,只要是在这个行业中,产品测试美工运维,行政会计出纳……而程序员绝对不是这个行业中拖后腿的。
但以后呢?
IT行业现在是繁花似锦烈火烹油,但会不会是昙花一现?有没有泡沫?(科班/野生)程序员每年输送这么多,会不会(甚至已经)饱和?……
江湖传言,千万不要立flag,flag是说倒就倒!预测这玩意儿,超级不靠谱。未来的事情,谁都说不准。不如换个思路,
价格是由供需关系决定的。
现在程序员工资高,本质就一个:需求旺盛,供给不足。
先说需求。
我经常把现在的程序员,比作蒸汽机时代的机械工程师(工人)。为什么那时候工人的收入会比农民高?搞工业比农业挣钱,所以大量的资金愿意投入到工业生产中来,作为行业里面的普通一分子,收入高点,简单一句话:吃时代红利。
这个红利能吃多久?我是看不到头的,有生之年。触目所及,不说什么AI说什么大数据这些高大上的(这些高大上的反而没有落地),就最简单的,需要被数字化被信息化的地方太多太多了!
比如说,线上教育,现在无非就是老师录点课程传到网上……这个太初级太原始了!
学生的学习呢?怎么办?现在基本上就靠自觉。学生的学习,应该建档,真正的电子的学(习经)历:每天学了什么,学得咋样;老师应该向“教练”转,答疑解惑、辅导改作业……
你仔细去观察,生活中这样的例子随处可见。good idea是层出不穷,只是说很多还不能/没有商业化。我们可能需要更多的企业家,工程师,底层技术的进一步突破,但IT产业的繁荣,这个趋势是“不可阻挡”的。
而且,IT产业的繁荣,和房地产和银行(依靠政策调控)的繁荣,不是一回事,它是内部驱动的,是代表着先进生产力的新兴事物。
再说供给。
你可能很奇怪:除了各大高校疯狂扩招,各种大大小小的培训班,怎么就会供给不足呢?
学编程是比较难的(后面细讲),还是有门槛的。大学计算机专业,你刨掉985/211,你去看他们的就业率,能做开发(程序员)的有多少?很少的。大部分是做销售、测试、技术支持……;培训班,那个进大厂(美团送外卖的)段子怎么说的?
而且这个门槛不是说只有入门那一次的,它是动态调整的。就业行情好,门槛低点你就进去了;行情差了,你有可能被淘汰的!(35岁危机再讲)
所以,转行学编程?别人劝学我【劝退】,为什么?劝退语录:
大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。
一些比较流行的说法:
生态环境的“动态平衡”,听说过没有?
市场里面的供需,也一样,它是动态平衡的。程序员的供需,在人才市场上,也始终是“动态平衡”的。市场上“缺”程序员,工资就会开得高一些,于是更多的人加入进来;市场上程序员多了,工资自然就会降下去,于是淘汰一部分人……
你不可能指望你从业三十年四十年,市场一直“缺”程序员!尤其是中国这种“卷王之王”的人口大国。十年前,建造师的证,多值钱呀,考试多难呀,现在呢?只要一个东西挣钱、值钱,中国是绝对不会“缺人”的。
程序员工资收入高,已经十多年了,接下来几年,会不会降一降温,挤一挤泡沫?是不是就在接下来这几年我不确定,但升温降温,泡沫起来又破灭,这个过程一定是不断循环的。
你还有几十年的从业时间,你考虑这些个问题没有多大的意义。
这两个词就把很多同学“吓”着了。程序员加班真的这么夸张么?
但是,我10年一线老码农,就没怎么加过班!
自己总结的原因:
赶时间的同学,可以到此为止了:加不加班,看公司。不想加班,你换个公司,甚至进公司之前你就问清楚。
为什么会这样加班?互联网公司和传统工厂不一样
再(给想创业的同学)多说两句:互联网的玩法和传统企业完全不一样,极度讲究“规模效应”,而且是迅速形成的规模效应。不是向管理要效益,而是向规模要效益。就像打仗一样,不惜一切代价,目标就是上市IPO,纳斯达克敲钟。
为什么已经是大厂的互联网公司,还是要加班?惯性。
以前那一帮子人,很享受“加班”的状态。你说这是心理有毛病吧?我告诉你,不一样的。人家拼命是看/拿到了效益的。(有格局的)早期的创业团队里面,真没什么“剥削”,那真的就是大家跟我冲,赢了……一辈子荣华富贵,输了啥也没有(老大倾家荡产)。几千万的投资拉进来,几个月不到烧完,再几个亿拉进来,……,就几十个人的团队,啥都透明的,那种刺激,你想想。
前两天有个线上班已经出栈的同学,很苦恼:
公司规定的5点半下班。但大家都要“磨”到6点多才下班。什么叫做“磨”?事情都做完了,没啥事情可做的,假装加班?他不理解。
于是他自个儿到点就走,然后就明显的感觉到被“针对”了,被“孤立”了,很难过。
他红着眼睛问我:“为什么我就不可以……”
我说:“你可以呀。没人用枪用刀逼着你加班吧? ”
他懵了。
我说:“以前我在有一家公司,情况和你一模一样的,不管其他同事怎么的,反正我就是到点走人……”
他更懵了,眼睛更红了。
事后回想,我当时也没能组织好语言,安慰他一下,话说得太直,来得太“陡”,不知道以后他还会不会找我聊天……
这个同学的问题首先是
他想的是:我不加班,大家也都不要加班。这样确实挺美,想得美!
我办个培训班,有人降价抢生源,我也想我不降价(学费),大家都不要降价,一起挣大钱,可能不?
不可能的吧!说一个很多同学接受不了的事实:职场上你最大的敌人是谁,是老板吗?不是的,是你的同事。(你自己想)
第二个问题就是
人没有力量的时候,就想着“合群”,身处一个团队之中,他就会感觉到更安全:很正常。
这个同学发现他不加班不合群了,就慌了,这就是本质。他不断的追问“为什么不可以?”实质上就是在强调自己行为的“正确性”,希望以此来获得力量,因为我们从小到大都是被教育:正义必将战胜邪恶嘛!但“自愿”加班不是一个对不对的问题,是一个选择问题,这是其他同事选择向老板/领导“示好”,这件事你可以说他们很“贱”,但你不能说他们“错”了。
我也觉得宁愿花更高是学费,去那些不靠谱培训机构、不来我们源栈学习的同学,很“贱”呢!但你不能说人家“错”了。钱是人家的,他想怎么花就怎么花。
很多苦恼的根源在于:你的实力无法匹配你的野心。
这本质上就是一个实力的问题。天真也好,懦弱也罢,都是:野心很大(不加班),实力不够(技术菜)。
如果你实力够了,面试之前就先问:单休双休,要不要加班?不如我意的,来都不来。
如果源栈的实力够了,学生都排着队报名,那我也不会痛苦了……
人就是这样的,清醒一点:不能“既要又要”。
这一块我会将程序员的工作和其他工作做一个对比。
路人以为的编程 vs 真实的编程:面向google编程
和律师工作很像,你以为律师:
还有医生:真事!我老婆生二胎的时候,大出血,几个护士手足无措,医生喊过来之后百度一个什么什么药能不能用……
编程本质上就是一份普通人经过学习培训就可以(胜任,好吧杠掉)完成工作,有挑战、有门槛,但也不是什么极限挑战,门槛高不可攀。(后文:“能不能学”再细讲)
飞哥的教训:了解一个职业,最好不要去通过电视电影这些影视作品。
程序员看着加班多,996,掉头发,但其实大部分时间都在划水!工作强度没你想的那么大。
真正不好划水的是什么工作?
编程开发:创造性劳动,很难KPI(量化)的。
外行管理闹笑话:每天提交多少行代码。@想一想@:代码是不是越多越好?(类比写作:3000字的检讨 vs 两行绝句)
有时候闷一天,啥都做不出来,但人家不是没干活哟。要查资料(google)要调试,关键是要思考,而思考本身就需要休息,出去走一圈“换个脑子”……所以你看一些逼格高点的互联网公司,公司内部是有咖啡厅有健身房的……这不是秀,而是一种“务实求真”的态度:人家干的是脑力活,不是体力活。
所以,过度加班的企业,其实很容易“上班划水,加班干活”。
一直高强度的工作加班,钱必须得给够!旧闻:腾讯游戏上线60个月工资
有没有不适合做编程的?有!“宅”不下来的就不适合做编程。
室内工作,面对电脑而不是人,一坐就是一天,话少。
但我特别享受这种生活!不喜欢寒暄、客套、应酬……
源栈同学教室学习场景:
编程会上瘾的,类似于打游戏闯关:行就行,不行就不行。
这种即时反馈,很容易让人产生快感。
所以一般游戏上瘾的好强/胜型(不是逃避现实)选手,学编程会更“有劲儿”。
但和游戏不同:
一些职业是没有及时反馈的,比如做会计做行政,每天都是日常事务,能有什么反馈呢,领导夸你一句?
程序员很“钢”,钢铁直男的那种“钢”。其他的描述:木讷,不通人情世故……,为什么?
我代码能跑,一定是因为我写对了;有bug,肯定是我写错了。
对就是对,错就是错。代码的世界是非黑即白的,没有模糊混沌的状态。
这一点非常重要!很多职业不是这样的,比如:
所以你做这些事情,就会去琢磨人。人是很难琢磨的,今天早上领导为什么夸你?真的是因为你今天做得比昨天好么?不一定的,有可能只是领导今天心情好。包括市场行情这些,运气的成分,你自己不可把控的成分,很大。
程序员的工作,就没这些“破事”。
职业塑造性格,群体性格又塑造他们
程序员,总体上来说,没有太多坏心思。
因为(至少职业初期)坏心思也没啥用,所谓的职场上“踩着人家往上爬”。
你怎么踩人家?技术实力啊。
就算你溜须拍马,爬上去了,没实力,你干不了的。一堆人等着看你笑话。
所以程序员同事之间的关系,就感觉冷冷清清的:上班各干各活,下班各回各家。既没有什么呼朋唤友,也没有拉帮结派,不能说没有喜恶,但因为利益滋生的办公室政治还是很少见的。
办公场所,室内,空调屋,肯定不是工地也不是车间。
会不会出差?(开发/测试岗)不多,少数支持/实施岗可能会多一些(招聘时都会注明)
集中在大城市:
一线:北上广深杭
二线:少数IT产业比较发达的省会城市:武汉、西安、成都……
三线:其他省会城市/大城市:重庆、南京、大连、长沙、贵阳、乌鲁木齐……
三线以下城市,就业机会不多的!准备回老家的同学慎重。个人建议:至少在外面镀层金。
到目前为止,最想【强调】的一点。
理解这一点,你才能理解我们后面要说的很多东西。
很多人的传统思维还是:学校学知识,工作用知识。(选培训班的时候对课程表的……)
但编程这个行业:一直用,一直学,边用边学,边学边用。吃老本很难的!
技术的“日新月异”,在IT行业体现得非常明显。
更新频率太快,前面的还没学会呢,后面新的又来了!我十年前学得技术,现在还在用的,大概不到一半。参考:程序员所积累的编程知识在十年后将有多少变得没用?
所以学习,就是程序员生活的一部分。
一个标准的程序员,你问他下班了在干嘛?一半的几率,答案是在学习……尤其是在入行的前几年。
唯一的好消息:新技术不是凭空出现的,一定是有延续性的,是站在巨人的肩膀上的。所以“老人学习能力不如新人”就是扯淡,主要是这些老油条不想学了,或者有拖累了……
多快好省!前端后端,线上线下,名师精讲
更多了解 加: