转行做程序员的四个关键建议
近几年来,传统行业多处于经济下行周期,加上互联网行业曾经的赚钱效应,想要转行到这一行的人越来越多,其中程序员这个行业更是很多人梦寐以求的职业方向。
但另一方面,我们也发现,这些想要转行的同学往往会遇到很多困扰。就在一周以前,我统计了一下身边一些想要转行做程序员的朋友他们的难题,结果大致如下:
- 比如达内、黑马程序员、北大青鸟等各种培训班层出不穷,到底哪家强?
- 学习语言怎么选:Java?C++?Python?Android?iOS?
- 如果要学 Java,从哪里下手?
- 毫无工作经验,想找一个入行的公司实习,3000 元人家都不收。
因为本人从事软件开发工作已经好几年了,各种转行做程序员的人成功或者失败的我见过不少。有的朋友转行成功现在已经在杭州阿里混得风生水起,也有的培训之后放弃了。所以对于转行做程序员的痛苦,我有着极深刻的切身体会。
所以,今天围绕着'转行做程序员',我想整体聊一些我能想到的建议和看法,希望能够帮助想要转行的同学们。
我会建议每一个想要转行做程序员的同学逐次问自己这样几个问题:
问题 1:你在转行中面临的最大障碍,到底是技能还是认知?
一般来说,一个此前不具备软件开发工作经验的人,在考虑转行做程序员的时候,会面临到两大最主要的障碍:一个是新技能的学习,另一个是新的思维方式,认知的转变。
对于新技能的学习
比方说你要开发一个网站的项目,数据表怎么设计,后端框架选择什么,前端框架选择什么,接口怎么定义,缓存、日志等你什么都不知道,leader 告诉你这个模块你负责开发,due-date 是几月几号,你该怎么办?
具体建议:
- 基础环境搭建:首先掌握 IDE(如 IntelliJ IDEA, VS Code)的使用,配置 JDK、Maven/Gradle 等构建工具。
- 核心概念理解:深入理解面向对象编程(OOP)、设计模式、数据库范式、HTTP 协议等基础知识。
- 框架实战:不要只看书,要动手搭建一个 Spring Boot 项目,尝试实现用户登录、CRUD 操作、文件上传等功能。
- 版本控制:必须学会 Git,了解分支管理、合并冲突解决,这是团队协作的基础。
对于思维方式和认知的转变
比方说让你描述一个杯子,你可能会老老实实的说,这是个喝水杯,能够装什么什么东西,颜色是白色,材料是纸质等方面去说。但是对于一个程序员,他可能会将这个杯子的所有直观的属性一一描述,然后再来描述他的功能。就像程序里面描述对象一样,这个对象拥有什么属性,拥有什么方法。杯子这个问题也是很多公司的面试题,这就是考察你的思维方式和认知。
具体建议:
- 抽象能力:练习将现实世界的问题抽象为数据结构。
- 逻辑严密性:编写代码时考虑边界条件、异常处理,而不是假设一切顺利。
- 文档阅读:培养阅读官方文档和技术博客的习惯,而非仅依赖视频教程。
就这两点来讲,我的建议是:
假如你才刚刚转行不久或者正在转行中,自身缺乏一个程序员必要的各种技能(比如 JSP, AJAX, Spring MVC 等框架的应用),当然首当其冲的是新技能的学习;而如果你已经有了一定的工作经验,基本的必要技能已经掌握得七七八八(这时候你已经是某项目里面的一些模块的开发负责人)了,这时候就要考虑思维方式和认知的问题。
问题 2:你想要转行的目标岗位是否清晰?
这可能是 50% 的转行的同学要面临的困惑了,他们对自己的目标岗位和职业规划都是非常模糊的。举个例子:
某 A 同学希望转行做 Java 开发,各种自学看视频看算法,还是没什么效果,找工作也被别人拒之门外。这时候他就要考虑到底从事 Java 哪一块的开发,想去什么行业,做什么业务,Java 开发的程序员需要哪些技能,面试的企业又需要什么样的技能。
**所以,要转行的话,先考虑你想去什么公司,然后在各大招聘网站上面看看这个公司对 Java 开发人员的要求是怎样的。**他们公司需要开发人员会 Spring MVC,那就去学,需要会 MySQL 和 Oracle,那也要去看看。
以下是我在网上选的一个应聘需求,可以参考一下:
这个是人人网的任职要求,三年工作经验可以先忽略。就看他需要你会哪些技能,然后针对性的每个技能怎么应用,有什么知识点,在网络上有无数的资源可以供你学习。可能你会说不知道怎么学习,那么以上要求里面你不认识的每个词语都可以作为搜索关键字,去问搜索引擎,他能给你准确的答案。


