我因为在做线上编程教学,所以接触过不少转行开发的人。每个人在学习时的起点和状态都不一样,其实没有一个百分百有效的标准模板,可以让你按照任务列表一个个完成就能达到目标。但是,凡是最终成功转行的,我觉得基本都或多或少满足以下几点:

1. 自我定位明确

既然想自学编程,必然不是相关专业,有很多人学校牌子也不是很响,加上对现有工作不满意,于是想转行。但首先你得明确,以上述条件来看,和相关专业本科的毕业生相比,确实存在不可忽略的差距,这个是需要正视的。我曾看过有的人,培训班上了三个月,了解点开发皮毛,然后找工作不顺利,就在论坛上发帖,说公司招人就知道看学历看专业,根本不给机会。然而,这种牢骚没有任何实际帮助,只会增加你放弃的借口。

还有的人,目标定太高。看了网上各种机构的招生宣传说零基础三个月成为人工智能程序员,就真的觉得离人工智能只差一个培训班的距离。

如果你真的打算转行,正视差距、定下合理目标,这个是必须的第一步举个例子,如果你想做安卓开发,那么你的定位就是一个初级的安卓程序员,从做最简单的控件开始。


2. 项目为王

之所以很多人会谈论自学编程转行,就是因为这个可能性是存在且不低的。程序开发是个非常看重实践的事,学历专业的要求相对来说不那么高。之所以很多公司招聘时会以学历专业作为标准,一是大公司出于效率考量(成千上万人应聘,简历初筛是必然),二是如果你没有其他可以证明能力的东西,只能看学历专业。

那么,反过来,如果你没有学历和专业,或者说你要超越那些学历和专业看起来更好的竞争者,你能依靠的只有项目多做项目,做好项目。我认为项目分三级:

  • 初级,学校课程大作业级别的,一眼看上去就是练手的项目。用到某些技术,但是不完整,甚至不能体验。

  • 中级,花时间设计过项目,功能相对完整,用户可使用。

  • 高级,正式的项目,可以是外包项目、开源项目、有真实用户的个人项目。

尽可能是去做高级项目,实在不行也要尽可能有看起来像样的中级项目。一个功能简单的高级项目,含金量也高过一堆初级项目。有这样的项目在手,面试过程也会顺利许多,不然你也别怪面试官五分钟就让你离开,因为可能实在没什么可聊的。

另外要注意的一点是,要选择和你目标方向一致的项目。比如你想做安卓开发,然后你的项目全是python爬虫,那就是为难招聘方了。

3. 重视基础

开发技术经过这么多年发展,已经比较傻瓜了:一个经过简单培训的人,也可能通过拖拽控件、加几行事件处理脚本,就完成一个能运行的程序。但你要明白,仅仅是这样是达不到合格开发标准的。就像学吉他,硬背几个和弦,也能弹唱不少歌了,但稍微改一点就做不到,因为你不懂乐理、并没掌握演奏技能。

所以不要觉得专业学生学的那些计算机组成原理、操作系统、离散数学、数据结构与算法、软件测试、编译原理等等都是在浪费时间。具体的开发技术是决定求职的下限;而这些基础才是决定你发展的上限,是否能在开发这条路走得更远。因此,改补的课,迟早得补上。


4. 寻找圈子

不管什么行业,不管学什么,其实都不存在严格意义的“自学”。互联网上自学的问题不是缺少信息,而是信息太多了,多到你无法仅通过自己就得到正确的判断当然你可能通过自己反复摸索尝试进行区分,但这个过程就太痛苦了,可能很多人就放弃了。而如果能有一个过来人给一些建议,或许就少走很多弯路。

也许你会说,我身边没有相关人士啊,上哪找?我觉得,网上技术大牛还是很多的,用心看看别人分享的文章已经可以受益不少,如果有明确的问题也可以尝试去请教,并不是所有人都很高冷。而且退一步说,就像健身,身边没有健身教练,但是有几个一起健身的伙伴,也是好过自己一个人摸索的。

5. 相信长期的回报

大多数人会犯一个错误,就是高估短期的收益,低估长期的收益,尤其在学习这件事上。什么21天学会XXX,本身就是种不好的提法。对于一个零基础,想在业余时间自学并转行的人,我一般建议,做好一年以上的心理预期,这还是在你每天都能抽出一点学习时间的前提下。简单算下:入门基础3个月、具体方向进阶3个月、开发项目半年,你才能拿得出一些能吸引招聘方的货来。而让我感到不可思议的是,很多人宁可花几年的时间在网上追问,有什么快速转行的方法,也不愿埋头尝试一下。

不要担心时间长,不要担心走弯路,只要你开始走了,每一步都不会浪费。而且当你走了一阵子回头看,会发现进步其实比想象中要快。

附两个转行成功人的案例,之前也在“Crossin的编程教室”公众号里发过:

一个是我亲自带的实习生,毕业一年后,来我这里边学边做,过了一年被猎头推荐到其他公司做开发,目前已经立足开发岗位了:

《我从编程教室毕业》

另一个不是身边的例子,从reddit上翻译的一篇转行经验,但是里面很多体会说得都是普遍存在的道理:

《我是如何在自学编程9个月后找到工作的》

最后,我提一句个人观点:如果你想转行开发,我希望你是因为对编程感兴趣,而不仅仅是因为工资待遇。编程是件很“挑人”的事,爱它的人乐在其中,而不爱它的人只会觉得枯燥乏味。只是为了一份工作,真的没必要挤开发这条船,在各种机构近几年的推波助澜下,低端开发岗位已经明显供大于求了,用个流行的话叫做“内卷”很严重!如果你并不热爱这行,接下来的日子恐怕并不好过。

以上是根据以往很多案例和经验总结出的个人观点,供参考。希望对相似境况的读者有所帮助。


©著作权归作者所有:来自51CTO博客作者mob604756ee87ff的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 20-1 django上传文件和项目里上传头像如何查看
  2. 20-2 orm分组和聚合以及在项目中执行的一些方法
  3. SpringBoot2.X 项目使用外置绝对路径的配置文件
  4. 一个小时学会Maven
  5. Java项目Centos7发布之发布过程
  6. Java项目发布之基础知识准备
  7. Go开发工程师:迎接上升风口,踏入蓝海行业!
  8. 30岁还可以转行做运维吗
  9. NestJs学习之旅(1)——快速开始

随机推荐

  1. 阿里云服务器上部署java项目(安装jdk,tom
  2. android开发 app闪退后fragment重叠bug解
  3. JAVA WEB环境搭建
  4. 如何从Java中的类名获取类对象
  5. java开发编译器:中间语言格式
  6. 嵌套片段不保留其状态
  7. java基础---一致性hash算法
  8. Java面向对象三大特性
  9. Java,从数组中查找Kth最大值[重复]
  10. Java源码的理解