非科班出生转行PHP开发三年后,又转战到Java开发我都经历了什么!

Posted 浅谈架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非科班出生转行PHP开发三年后,又转战到Java开发我都经历了什么!相关的知识,希望对你有一定的参考价值。

一、前言

大家好,我是阿七,“浅谈架构”公众号作者,这篇文章主要聊一聊,我从零基础学编程,phper入行,三年之后,又转到Java开发的一些亲身经历。希望对于正在迷茫的你,有所启发。

二、科班,还是非科班?

我14年毕业于湖北某普通二本学校,信息与计算科学,咋一看,这不是计算机专业吗?我填志愿的时候也是被这个名字骗了,这个专业前身叫“计算数学”,本质上是学数学的。毕业的同学有一部分当老师,一部分做销售,当然还有一部分是程序员

但是进入大学,我对编程并热爱,那时候就只想着怎么挣钱(大学阶段开过自行车行,搞过培训机构,这是一段挺有意思的经历,有机会再和大家分享)。记得大二的时候,我们宿舍就有同学开始自学计算机,但是我发誓“以后打死也不搞编程”。所以也就没有和他们一起“钻研”。

对于我,大学基本上是没有怎么学编程课的。所以,我可以定义为“零基础,非科班”。

三、什么时候开始都不晚,晚的是你从来都不敢开始

毕业之后,我也和一部分大学生一样,找不到合适的工作,去深圳做了一段时间销售。但是发现那并不适合,眼看那些老员工,一眼也能看到5年,10年后自己的样子,所以毅然辞职了。

迷茫,无助这些词都不足以描述我当时的处境。

还好自己有点积蓄,撑了一段时间。

后来一偶然的机会,看到一部电影里面有句台词:”什么时候开始都不晚,晚的是你从来都不敢开始“,深有感触,就感觉非常的治愈。

然后我就非常固执的开始了零基础学习编程之旅,我的初衷很简单”明年,比今年强点,5年后,可能就不一样了“。

那时候有一些好朋友,都劝我”放弃吧,编程水很深“。好吧,经过这么多年证实了,的确很深。

四、上错花轿嫁对郎

学什么呢,综合对自己的判断,我觉得自己适合搞前端,喜欢前端,可能因为所见即所得,也可能入行门槛低点,所以我就从html,CSS,JS课程开始。每天学习16个小时。说实话,前一个月是比较难受的,是强迫自己,但是一个月之后发现自己慢慢喜欢了这种感受,很充实。

但是,天有不测风云。后来找工作,那时候,武汉的前端岗位很少,PHP如火如荼。

就这样,阴差阳错,我走上了PHP开发的道路。起初我是很排斥的,但是随着时间的推移发现,比起前端,我更适合后端,我能每天沉下心学到凌晨1-2点。慢慢产生了兴趣,也许这就是“上错花轿嫁对郎”了吧。

所以,其实本质上起初也不知道自己”喜欢“的是什么,只是在当时认知范围内的”以为“。

如果你正处迷茫,送大家一句话:”没有什么是不可以改变的,随着量变,都会产生质变,你所需要的是找到一个方向,一头扎进去“。

从那之后,我微信备注就改成了”当你只有一个目标的时候,整个世界都会给你让路“,以此来激励自己。

五、一帆风顺的PHP开发之路

入行PHP之后,很幸运遇上了一个好领导,非常包容,人如其名,翔哥。工作之余 ,每天回家之后也坚持学到凌晨1点。我也会去研究一些新的技术,攻破公司里面的一些技术难点,引进新的技术到生产环境。大概半年多时间左右,就成为了平台研发小组长。

2016年来到北京之后,也遇到了很多大牛,像老余,巍哥,晕姐,与他们共事,参与到核心项目中开发,技术能力也在一步步增长。同时我也会去学习一些其它语言,像Python,GO,Java,Lua等。同时也弥补之前大学没有学习的基础(用我的话来说,是在弥补曾经放荡不羁欠下的债)。我每一个阶段(大概一个月),会制定一个短期学习计划,一年一个长期计划,有目标地前行。

所以我PHP编程还是挺一帆风顺的。

六、不安分,再次出发

后来,我去了家PHP很强的公司,慢慢也感觉到自己职业发展的瓶颈,平时在看一些书,好多都是Java写的,自己也慢慢被”种草“了,感觉Java是一门艺术,萌生了想转行Java的念头。

其实,编程能力无非就由两部分组成

  1. 编程语言基础能力
  2. 业务理解能力

业务理解能力有了,只需要去攻破语言本身,这还是比较简单的。

所以我就重点花了点时间攻破1,大概花了2-3个月时间学习Java技术栈,在18年初再次出发,开启了Java之路。

七、PHP要转到Java需要做哪些准备。

大家先想想,PHP服务端开发,平常用的哪些东西。nginx,PHP语言基础,PHP集成mysql, Redis,MongoDB,消息队列(RabbitMQ)等等,然后就是框架。所以同理,Java也是一样的道理。

  1. Java基础,包括Java语言基础,JUC包,设计模式等。
  2. Spring,Springboot框架, 怎么去集成Mysql,Redis,MongoDB 等, 先学会用。然后学习spring里面的一些AOP,IOC原理及思想,Springboot自动装配实现原理。
  3. 消息队列,Java里面比较常用的是RocketMQ。
  4. Elasticsearch:一个分布式、RESTful 风格的搜索和数据分析引擎。
  5. 再去看看Java里面微服务怎么搞,SpringCloud有一整套解决方案,把配置中心,注册中心,网关,负载均衡,熔断降级,监控报警,生产者,消费者这些弄个Demo实现一遍, Github上面也有很多大牛写的SpringCloud脚手架之类的,可以参考。
  6. 然后最重要的,找一个大点项目,比如商城项目,把以上1-5学习的串起来。

很多东西都是相辅相成的,可以类比PHP里面用到的东西,Java怎么实现的,自己写Demo实现一遍。

也就是,先一个点一个点去学,再把点串成线。最后线再扩展组成自己的知识面。

做到上面几点,上手干活基本上没有什么问题了。再想更加深入提升,就得多看看比较优秀的框架源码Spring源码,Netty源码(看源码要带着问题去看),Dubbo源码等等,要知其然,并知其所以然。

八、什么样的phper适合转行
  1. 首先得在PHP编程领域技术还可以,如果连PHP都搞不好,那Java可能更有难度。
  2. 其次要非常自律,并且有求知欲,爱折腾,爱好编程,能够保持每天学习(每天至少2小时以上)。Java知识体系相对来说要学的东西更多,更复杂。其实我觉得无关乎天赋,努力比天赋更重要。
  3. 最后,不怕困难,耐得住性子,学习途中可能会遇到很多莫名其妙的问题,可能花费好几天也解决不了,自己得有办法”释怀”。
九、总结

截至目前(2022年),距离我转Java已经四年时间了,感觉就是,有另外一片天,有更多的东西需要去学习和研究。

现在回头去看曾经奋斗的点滴,还是记忆犹新。再想想当初的“初衷”,肯定是远远超过自己的预期了,这就是意外的惊喜吧。只想说:"努力了,就会有意外的收获,感谢曾经奋斗的自己,同样将来的自己,也会感谢现在奋斗的自己"。

有梦想,就鼓起勇气去追求吧,人生短暂,不留遗憾!

2022,不忘初心,砥砺前行!

非科班能不能转Android?入殓师转行到Android开发都可以!

我自己 2013 年开始创业,和几个朋友开了一家用户体验咨询公司,那些年移动互联网行业蓬勃发展,很多有理想、有抱负的同学,都纷纷进入这个行业,其中也有很多是转行过来的。

我们公司在那几年发展得还不错,主要客户都是中国移动、中国电信、安利、大金等比较知名的公司,大家都有互联网化的需求,而我们有专业的能力。

最初我们只是一个不到 10 人的小团队,随着公司业务的增长也在不断招人,后来就看到了这样一份简历:

湖北民政学院,殡葬管理专业
大专肄业
某培训机构(现在被骂的最惨的那家)学习的 Android 课程

对于这样的经历,起初我有些质疑,但是我们的设计总监觉得作品还行,就约了面试,大家在面试过程中觉得人也还不错,就招进来了。后来慢慢了解到了他的整个经历:

他读的大专就是殡葬管理专业,读到一半觉得再学下去也没有啥意义,就退学做了入殓师,用他自己的话说那是一份很神圣的职业,他和伙伴一共为二三十位逝者做了服务,本来这可能是一条比较安稳的职业道路,直到罗永浩开始做锤子,安卓被吹上了天。

后来就拿出了几乎是自己的全部积蓄,几万块钱,报了某培训机构的 Android 课程,学习了几个月之后开始找工作,就有了前面的故事。

对于他转行这件事,有值得肯定的地方,也有风险。

  1. 方向明确,愿意付出。有很多人说培训机构出来的没人愿意要,我想说那很大程度上是培训机构的问题。作为一个公司的管理者,时至今日,我仍然觉得愿意拿出自己的全部积蓄去报培训班、为改变自己的人生而努力,是值得肯定的,比起那些对工作无所谓、在家啃老的好太多了。
  2. 努力。我们那些年收到的简历有很多各大美院出来的,培训机构的也有很多,相对于其他人只是在按部就班做老师留的作业的,能像他那样在课余时间不断临摹作品、努力提升自己的真的不多。
  3. 赶上了移动互联网迅速发展的浪潮,行业缺人,选择对了就有机会。

风险:

  1. 通过培训机构学习,能学到什么水平,能否顺利找到工作,(所以选对培训班真的很重要!!!!)尤其是自己的学历问题,恐怕他自己也没有认真想过,不会所有的公司都像我们这样宽容。
  2. 选择错了,自己的时间、精力、金钱都是巨大的损失。哪个时代已经过去了。

他跟我们在一起工作的时间也很长,帮公司做了很多事情,自己也学到了很多。下面这张图是在公司很常见的场景:设计总监坐在中间,和同事一起讨论设计的问题,这又涉及到选择小公司还是大公司的问题,我觉得至少在我们这里,我们是在用心带着大家把事情做好,带着大家入门、提升,让他们从进入行业到具备进入大厂的能力。

后来公司转型,公司业务停了,那位同事也就离开了,他们几位同事分别去了网易、京东、360,而他由于学历多少有点问题,进大厂有难度,去了一家创业公司。

现在,各个行业都在内卷,包括互联网行业也面临着很大的竞争,需要对这个行业及相关职位有更全面的了解。

最后

有一份从入门到入土的Android进阶笔记也是他从XX培训机构带过来的,在这里分享给大家,由于涉及到一些保密的问题,所以暂且只公开一部分资料图,有需要的可以去Github上自行查阅

项目地址:Githubhttps://github.com/hunanmaniu/AndroidNotes

关于如何进阶,也有一些相当详细的进阶路线以及相关的配套资料,可点击【Github】获取

架构师筑基必备技能

JAVA知识要点:
1、 Java序列化、泛型与反射
2、虚拟机底层原理
3、Android内存原理
4、 Java高级并发原理详解
5、 编译时技术掌握与实战
6、JDK高级动态代理
7、高级数据结构与算法
8、 Java IO操作
9、
。。。。

Android R FrameWork源码与UI

知识要点:
1、 FrameWork源码解析(SDK 30)
2、Android常用组件深入解析
3、JetPack全家桶
4、Android R新特性解析
。。。。。

大厂内部APP调优方案

1、 APP基础优化
2、APP深度优化
3、开发焦点问题优化
4、编程效率优化
5、项目实战
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践

架构

本篇知识要点:
1、架构师设计思想篇
2、 手淘全套架构设计与实现
3、 开源框架
4、OKHttp网络框架
5、一线大厂核心框架剖析与实现

NDK模块开发(音视频系列)

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

Flutter

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

微信小程序开发

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

进阶笔记领取地址:【Android 开发交流

从出生开始,我们就被打上了标签,这个是不能选择的,我们出身之后的所有努力都是为了撕下这个标签,不说实现阶级跨越,只求能让自己生活的更加舒适,同是Android开发,为什么有的人能年薪80W,有的人却在为孩子或者生活最基本的需求而烦恼。

现在Android开发的黄金时代已经过去,目前的行情就是:随者工龄的增长,相对应的技术也要随者年龄不断增长,不然必然会被技术抛弃,与君共勉。

以上是关于非科班出生转行PHP开发三年后,又转战到Java开发我都经历了什么!的主要内容,如果未能解决你的问题,请参考以下文章

工作 10 年后转行程序员,如今 35+ 岁并不焦虑!

非科班java秋招总结和学习路线建议

一个非科班出生Java程序员的阿里之路:JVM+分布式+Spring+数据库

浑浑噩噩8年,入坑软件测试,3年干到测试leader,非科班的我也能当程序员

python自动化测试高薪,写给准备转行的朋友:非科班出身,怎么成为测试员!

漫画 | 小公司卧薪尝胆三年,意外拿到美团offer