文科生成为技术经理,一共分几步?
目录
本文是我的第一场直播《文科生成为技术经理,一共分几步?》的文字版, 点击链接可以回看哈:https://live.csdn.net/room/fly910905/2SgOjhSr 欢迎吐槽哈
一共分为一下几个步骤,谈谈自己想法和感悟
文字版分为两部分
文科生如何能够学好编程?
培训机构针对学员自身的需求,开设有Java零基础班
学Java并不难,难的是我们不去学习,不去用心。
0. 工欲善其事必先利其器
很多人学习编程,首先就被一大推的安装环境和IDE工具吓住了。现在有很多在线代码编辑器,可以帮助我们消除这个烦恼。不过深度学习编程,自己搭建一套开发环境是绕不过去的。
runoob:https://c.runoob.com/compile/10
jdoodle:https://www.jdoodle.com/online-java-compiler
这个支持 Java 10,并且能够保存代码,还支持导入外部库。但有时候国内登不上。
codingground:https://www.tutorialspoint.com/compile_java8_online.php
这个网站比较美观,也支持 java 10, 默认是运行 HelloWorld.class, 所以运行时需要对 javac 与 java 命令 专门设置一下,可以保存代码到 GitHub, dropbox 等,但不支持导入外部库。
browxy:http://www.beta.browxy.com/
它不仅运行速度快,而且还能保存代码,要是再美观些就完美了。
新版本已经支持 java 10 了,可以用 lambda 表达式, 而且美观多了,也能导入外部库,但有大小限制。
还有手机版本。
katacoda: https://www.katacoda.com/learn
在线学习Docker,K8s,Jenkins,机器学习等
1. 要有信心
即使科班出身的程序员,在大学学习的编程知识也是个皮毛。不足为惧。
编程无非时用英语表达的数学逻辑,何况很多逻辑都很线程的框架。只要不是深究算法,70%的开发岗位,熟练使用框架,了解原理,能够在出现BUG时知道从哪里定位解决就可以了。
2. 投入时间
“一万小时定律”说,每天花4小时专做一件事,每周5天,坚持10年,有了这一万小时,基本上你就可以成为某个领域的熟手。
要掌握某种知识,必要的甚至大量的时间投入是必不可少的。
3.亲自动手
动手写,犯错、改正,再犯错、再改正,这是学编程最重要的过程。
文科生别着急啃那些厚厚的教程,先看教学视频。第一次没看懂很正常,别着急。 “重复”、“过遍数”是开始学编程的不二法门。
学规范,纠细节,养成好习惯,终身受用。学外语,尽量不要看词典,而是从上下文猜词义,学到的才是活语言。学编程,恰恰相反,要随时查手册,才能“被训练”出规范。
即使视频中老师讲解的代码很详细,也要动手做一下。程序的世界,有时候,错一点就千差万别。 改参数,看效果,多用网络搜索,寻找更简单的代码实现。
4.用调试深度学习
一种是你的代码写的不对,要学会查错,这就需要有较为系统的编程知识,而且要逐渐培养自己debug的习惯。每节课后都有一个专门的答疑时段,每次学生们都是排着队来找老师debug。而他们所犯的错误,不是数据类型用错了,就是少了个括号、标点写成全角的了,等等。第一种debug,通过一段时间的系统学习和练习,基本上学生可以理解常见的错误提示信息,并按图索骥的找到出错点。总体来说,这种debug相对容易解决。
第二种就比较麻烦。如果你是自己看书(或者视频)学习用编程解决数据分析的特定问题,那么,十有八九你的代码跑出来的结果跟书(或者视频)里的不太一样,而报错则更是家常便饭。特别是当要调用别人写的包时,由于包在不断更新,很多书中的代码已经被其他代码替代,或者有了更符合特定程序(如R或者Python)的调用方法。要debug这类代码,方法只有两个。第一,上网搜索别人的问答,通常可用stack overflow(多数问答都只能在英语世界中找到,所以,锻炼英文的搜商也是很关键的~)。第二,如果搜索不到,则要认真阅读特定包的帮助文档。通常,帮助文档不会记录每次更新代码时,做的改动,但是,如果明白你用的代码中每个参数的对应含义,那么,通常可以从帮助文档中找到蛛丝马迹解决问题。
5. 根据就业岗位需要强化学习
我当时开始投递技术简历时,也很心虚,但我先看看自己所在城市他们都需要Java的哪些技能,然后我针对学习,针对一个问题展开全面了解。
Java学习路线
阿里云--Java学习路线
黑马--Java学习路线
B站--Java学习路线
文科生如何在技术面试中脱颖而出?
1.自信大方
只要邀请你面试,证明你不需要特别在意自己是个文科生的身份。
当人事说你的技术很优秀,但因为你不是科班出身,故意降低你的薪酬,你可以“将”他一下--其他公司的offer我也收到了,比贵公司高2k, 不过更看好公司的发展,才来试一试,如果工资还这么低,那我再考虑下吧。
2. 充分准备
根据面试岗位的技术要求,结合他的业务,思考他会重点文什么?
- Redis面试会问什么?
- Redis的集群模式和持久化策略?
- Redis中的Key是如何被删除的
- Redis单线程模型效率为什么这么高,6.0为啥开始引入多线程
- 如何解决 Redis缓存雪崩和缓存穿透问题
- Redis热点key的读写问题
文科生在技术部门何去何从
很多人错把平台当作自己的价值,你在平台上,还有价值,但是放到社会上,却没有价值。我在凤凰网做编辑时,就常常有这样的误区,以为自己认识了谁谁,哪个市长,哪个企业高管,但是对于人家呢,很难会记住你是谁,只知道你是凤凰网的。
所以,对于程序员,技术就是硬通货。
技术发展
技术流:高并发/高部署/大数据量/图形处理/算法研究等等,总之量级越大越好,场景越复杂越好,离前沿越近越好。跳到一个好点的一线平台,选择一个领域往深了钻,去市场上竞争技术专家的岗位。
管理路径
大部分程序员都是怎么工作的?产品经理(或领导)规划需求,交代任务,程序员撸码,实现需求。
一个优秀的程序员,一定要有“面”的思维——全局视角。要总是盯着领导给你的“点”,点做的再好,改变不了你处于食物链底层的本质。要以全局的视角,技术的思路,考虑当前产品缺什么,需要什么,然后主动出击。
管理流:团队leader——业务线负责人——总监,老生常谈的路线,就不班门弄斧了。如果能做到大厂某条业务线负责人/初创副总监啥的,表现就算是十分优秀。
身体第一位
从身体的角度来说,30岁之前你找病,30岁之后病找你。
为什么很多中年人开始注意养生了,要早睡,要清淡,要喝枸杞?
不是他们乐意,也不是喜欢养生的小伙子变老了,是身体真不行了啊。
做点副业,多线收入
文科生是重要的内容创作者,在这个内容为王的时候,有太多文科生可以做的事情了!
例如:在线敲代码、CSDN付费专栏,这个直播没准也是,哈哈哈。
学会去带新人,培养自己的团队
这个其实很重要,你对新人怎么样,也代表着新人之一会对你怎么样。
理论上来说,我们不求任何回报,但是如果你有一天自己去了一家陌生的公司,框架,流程,氛围都是陌生的,你难道还要从头开始招聘么。
不是这样的。大部分都是找自己的老部下。
不要因为现在的工作环境稳定,就忽视了以后会有这种可能性发生。
无论到什么地方,只要资源到位,你可以快速凝聚出一个有战斗力的公司,这都是你的能力。
这些是需要缓慢培养,至少三到五年的时间。
不要怕他们犯错,不犯错误是不会成长的,你就是那个兜底的。