大家好,我是小86,另一个称呼是KK,在广州做PHP工程师有几年了
5年前在CSDN我发表过文章《
一个初中学历程序员(本人)的学习历程》,有兴趣的同学可以耐心回顾一下
感谢大众网友们的支持、鼓励、相识相知,也有一小部分网友表示不怎么看好我,但我还是挺到了今天——已经成为一家小公司的技术总监、产品经理
目前除了财务、商务、人事的工作不处理,在招聘、人力资源管理(配合HR)、项目需求调研分析、原型策划(与设计师协作)、设计审核、项目计划、工作阶段跟进、核心研发、服务器管理、客户沟通、商务协助(含应酬)都做了,最后总结就是学了许多东西,心得当然是有的,于是就在此分享一下吧,我其实还有许多许多不足,还有能改进的地方,觉得自己还没碰到瓶颈,应该可以在2年内努力锻炼再上升几个台阶
-----------------------------------------------------------------
一、技术上的收获与感悟
受项目发展所限,目前还是以PHP语言为主,WEB开发相关的周边领域都略有涉足,主要的技术栈都能在我的博客
http://www.kkh86.com/it/index.html 上体现出来 ,如果要我把最擅长的三个技术领域列出来分别就是PHP、JS、MySql
5年前文章里提到的技术发展思维,现在已经完全抛开了,肯定是感觉当时的自己无知啦,毕竟技术观随着成长已经变得更加成熟,也许一个PHP工程师未来的路该怎么走,他最好累积3年经验后再重新给自己机会选择一次,有人选择了转专业前端,有人选择了转DBA,更有人选择了转安卓(他相信安卓会成为工业级标准并得到广泛领域应用的系统,靠这个混就有了一辈子的铁饭碗),而我选择了转WEB全栈+技术管理
也因为许多时间在做管理工作,技术的进步有一定的放缓,我并不像某些优秀的PHP程序员那样在5年后身怀八技,Java和Linux也玩得很溜,我还是停留在PHP+JS为主的技术线上,这两年来也花了不少时间撰写了许多基础性的文章发表到博客上,没有高大上的技术,只能说我是注重基础吧,把基础打好,稳打稳扎一步一步往上前走,不冒进,不过急(在写那些基础文章的时候自己的基础其实也得到了进一步的加固,自己写过的东西更加深刻,重复实验也得出了一些新的结论)
对了,我喜欢上了TDD编码模式,我想呢,平时写代码反正要一个控制器调用做测试,访问网页刷新看结果,我不如写单元测试或验收测试啊,然后不断运行单元测试看结果,搞定后再跟前端对接一下就好了,而这些测试过程中写下的代码还能部署到持续集成上每天自动跑,我想很多老司机都喜欢这样吧
-----------------------------------------------------------------
二、软技能的收获
个人认为一个优秀的工程师,硬技能其实只占40%的重要性,更多的60%重要性在软技能上,比如编程思维、工作态度、积极性、奋斗心、责任感什么的,多年来接触许多的同事,听过他们发表过抱怨工作的话,我感觉很麻木,甚至也认识到以前自己抱怨工作是不应该的,那些反而是机会,反而是挑战,反而是压力动力,而且在上级、在老板层面其实有许许多多的事情是自己难以理解的,还有些政治性的东西,仅站在一个普通员工的角度去品足论道只能体现出这个工作者的不成熟、不宏观,如今我对工作其实基本没什么不满的(可能对成本约束还是有点儿不爽吧,想做很多事又不加大投入,可是宏观点一看这个社会,大竞争环境下谁不压缩成本啊,你自己去当资本家试试啊,一不小心就亏十来万心痛不心痛?)
目前每次与老板、股东们网络会议时,当我的工作不当受到了批评、当他们提出的更优秀的解决思路、当我在旁边听到他们对商务的处理思维、对政策的审视思维的时候,我都珍视为“学到宝贝了!” 因为有这些批评我才会在下次做这些事更注意,做得更好,吸收他们这些思维我未来做相关事情才会考虑更多,看到事物更宏观
比方说老板想收购某公司,餐桌上他与另一个老板两个聊着聊着,老板提到一句“自有用户一定要投入发展,不然市场评估你的盈利能力时如果发现都是靠政府补贴那是不行的”,像我这么无知的程序员如果成了老板甚至还可能吃着政府补贴过日子却不知未来有危机
所以要珍惜与上级相处的每一次机会,多注意他们讲的话真心会学到东西。有时候我也在想我在会议上讲那么多对员工们成长有用的话,有部分人却在下面不定时看看手机回消息不注意听,最后也吞吞吐吐不能流利讲出些什么总结来,真替他们感到不值……可能我要换一下表达方式吧,暂时没有好思路
-----------------------------------------------------------------
三、被回聘
在D公司工作满3年后离职去了稍有名气的E公司挑战更大的项目,半年后D公司的老板跟他的朋友又开了另一家F公司(这是他的9家公司),并回聘我去F公司当了技术总监,成就上没什么突出,但只能说在做人、做事的份上得到了老板的认同、信赖,他那么多公司怎么可能每家都去打理,都需要一个一把手处理内务,他处理商务
-----------------------------------------------------------------
四、关于管理
其实5年前发完文章后不久进了D公司几个月就被总监提拔成技术主管了,从那以后就开始了技术管理探索之路,从开始的内心抱怨到后来的一切自我行动,我现在只会说“哎,少废话,有事就做吧”,当然健康是底线,收入不影响家庭经济、生活的基本规划是底线,其它我都可以为老板付出
我会不定时自己出点小钱去参加小型的项目管理课程,为避免广告嫌疑就不发是哪家的了,目前学过了项目管理、人力资源管理、招聘管理、成本管理、进度管理、需求分析和管理等,下个月参加代码审核的课程,讲得其实不是很深,但目前够我慢慢消化了,每过一段时间都有不同的进步,根本就不是听一次课就能以为自己懂了的,要自己抽空反复看在线回放录像和PPT,结果这个课程也在诱我去参加PMP培训并考证了,我想想……以后,以后吧,太急速冒进不是我的风格
有人问过我是技术型还是管理型……我想两边都各占50%吧,既愿意成为技术专家,也愿意成为管理人才(最高峰管过11人,那个人数太多了管不好,通常管7人左右)
在许多中小型公司我初步将认识到的IT技术管理人员分为这样两种:
1. 简单技术管理型,就是收到项目需求,分解任务,跟进研发进度,自己也参与一些,管理效果也不怎样;这些管理者往往是老员工或经验丰富的员工,被提拔为技术主管后还抱怨自己的工资没涨,或者只涨了一丁点,个人觉得他的管理工作其实本身就是比较简单的,理所应当
2. 专业技术管理型,会符合PMP项目管理10大法则的角度去思考并进行管理的类型,管理更加讲究办法,更加有思路地进行管理,但这个我觉得相当有难度,而自己都在这条路上碰碰磕磕地前进着
-----------------------------------------------------------------
五、生活
在老家清远的大型小区买到了三房两厅的房子(6K/平),生活过得更舒服了,也有一定的储蓄能力,其实要不是借了8万给亲戚没能顺利收回,早在5.5K/平的时候买了~现在涨到了8.5K/平,我捏了一把汗——差点买不起老家的房子了
由于行业的现状所限,我还是得经常在广州混才能有足够的经济实力供房、过日子、存积蓄,所幸的是买的房子就在清远轻轨站800米处的小区,憧憬着2023年后可以天天在清远坐轻轨1小时内到广州上下班的美好日子……
忙碌的日子还是持续着,QQ都没啥空去聊了,更不说微信,许多亲朋友好友的沟通变得疏远了,我希望努力用未来的时间解决这个问题
这5年来也谈了4个女朋友,有2个只谈1个月就识别出不合适赶紧散了,另外2个比较有感情,唉我也算是个有过爱情的程序员了~结果还是被打回单身,现在还没有状态谈下一个
姐姐嫁了,只有我和妈妈一起生活,妈妈退休了打理家庭,只有我一个劳动力,这些压力都被我化为了奋斗的动力,只要回想起父亲生亲坚强的背影,我就会更加坚定地拼搏下去,让妈妈过上好日子
-----------------------------------------------------------------
六、未来的打算
CEO最近决定将的技术线转向JAVA主导,新产品也用JAVA,我也在加深JAVA(目前只懂基础,会普通的安卓开发,JAVA EE没碰过),这个没问题,也迎合我的口味;其实公司还有个.NET团队都在转JAVA,虽然不在同一个城市办公,但通过群聊感觉大家都是满腔热情的,这才是干活的人啊!
规划了一下未来的事情,觉得还是要更加努力才能保障未来变得好的
大概盘算着未来再将技术资本积累到更强大的时候,找个合适的项目技术参股,作为人生的一个重要事业来做,也有一笔收入分红让日子过得更好吧,不算大理想,我比较奉行“低头做事,抬头做人,过幸福的小日子”和“心如明镜,物来则照,物去不留”这两句话过日子,每人都有合适自己情况的追求
-----------------------------------------------------------------
七、补充一些分享
主要分享给新人吧
1.基本上没有学不到东西的公司
我招聘面过的人有300+左右了,许多人都说上家公司学不到东西,其实你也可能这样想过吧。而现在的我已经不会认为上家公司学不到东西了。在D公司的时候如果说满足公司的需要那也就是做数据的增删改查而已,久了就觉得没啥,可是我会思考为什么有些BUG不能提前发现,要上线后才被总监或其他部门点出来,于是我自己花时间学习单元测试、验收测试、持续集成,然后试用,出一份技术应用效果评估报告发邮件给总监,他其实不怎么管技术,放手让我去做的,可能觉得我有用心去研究吧,让我一试,结果项目的质量得到了进一步的保障,线上发现的BUG更少啦,我也学到新技术啦,所以学东西还是要靠自己的能动性呀。后面我又自己学了node.js gulp这些又搭建了前后分离的开发流水线。最后就是想说,任何一家小公司、小项目、技术结构简单的项目,只要你愿意投入时间优化它,那你就能学到东西,只是你着眼于“我去搞这些事情公司又不多给我钱”导致这些学习机会成为了你的发展壁垒
2.关于英文资料看不懂
不要看到英文资料就抗拒,确实现状就是许多中国程序员不熟悉英语,像我以前也就会初中的英语基础。2014年10月PHP的Yii2框架刚推出没什么中文资料,中文官网翻译章节很少,甚至已经翻译的部分章节与英文官网的对应章节都缺了些内容的,所以我为了学好这个框架用在项目上,决心看英文,可是不懂英文,于是就一个一个词进行划词翻译,将它们的含义拼起来,不懂就问那些懂英语的朋友,其实翻译多了慢慢地就熟悉了嘛,我发现这些技术文档只要翻译了前面30%的章节,后面许多章节的讲话套路都是差不多的,词语是重复的,比如说`in order to ....`所以也不是要自己通篇翻译,前面辛苦点,后面就看得舒服了,一眼就知道它是什么意思。学Yii2框架的时候历时1个月学完并翻译阅读完绝大部分含义,2个月熟练,半年后就基本相对于许多程序员算是精通这个框架了。当时中文资料还很少,我就写了份面向内部的快速消化文档,我们的项目对Yii2的特性、优点应用也是得有一定深度的了。后来又看PHP的Codeception框架英文文档,翻译半个月就看完了,后来又到Jenkins翻译了5天左右,最后就是说英文问题是可以攻克的,你别只想着整段话复制去翻译,付出你的耐心吧,一句翻译不准确就一个词一个词把它灭掉,翻译后的中文词都拼不出句子来就找朋友把它灭掉,世上无难事,只怕有心人嘛
3.技术易堆,思维难得
这句话够经典,在你考虑着挑战各种项目技术的应用经验积累时,注意提升思维,我个人提升思维的一个好办法就是:想办法把现在做的事情做得更好。把你现在写过的代码进一步简化,用最少的代码写出这个功能,并理解它每一句代码的作用、步骤流程、结果、影响性,那其实就比其他不注意这些细节的程序更优秀了,这里能积累对典型程序工作模型的理解思维,并为新的需求快速推出解决方案、绘制出更有准确的UML模型。再者另一个切入角度就是优化工作方法、工具,把你每一秒都省下来投入到更多要思考的事情里。最后总结就是一个注意改进细节的员工在编程思维上会表现良好,但得过且过实现了就赶紧下班走人的家伙那么他这样下去就注定庸俗
4.你穷吗?你穷吗?穷就更加要拼啊!
除了拼到一词一词地翻译英文文档来学东西,吃饭的时候嘴巴忙着咬东西,手忙着夹东西,可是眼睛耳朵闲着于是我就让它们看视频,洗澡也打开视频放冲凉房看着听着来学东西,更多就不说了,只是分享一下在生活中还是有很多牙膏时间可以挤的,别随便借口说没时间学东西
5.别人把工作当工作,我把工作当事业
这是以前做IT之前就有一位销售职务的同事传授给我的话,2013年后我就是这样,这个工作态度带来的收获是巨大的,绝对很大,大到你未来会感恩今天这份事业心。2013年前工作对我而言就是朝九晚六的事情,2014年前工作对我而言是朝九晚十的事情,2015年前工作对我而言是周一到周六的事情,现在工作对我而言则是 7×24小时 的事情(注意:不是说这些时间都在工作,而是当工作有非常规需要的时候,在不影响健康的情况下,三更半夜我都可以起来干活,周末也可以)
6.多理解你的上司
做管理的往往有很多苦水是不能说出来的,有时候要听从老板的意旨去做坏人,被员工吐槽,有时候因为人事、成本等问题收紧管理,或有些项目政治、商务的影响因素作出一些让员工们难以理解的项目管理、技术决策,你以为上级是脑残,以后就知道他其实通常不脑残。我非常感激D公司的总监,从前对他诸多不理解,现在我也站在他的角度处理事情,发现他一肚子苦水没法说出来……也感谢他见我工作积极,3年内4次给我提薪(3次主动)
-----------------------------------------------------------------
八、个人的困惑
对技术、对自己该如何计划未来、工作上搞不懂的,基本是没什么疑问的了,在E公司的时候老板推荐学习过王阳明心学,心学的一个作用就是会令人自信,在“心即理”、“致良知”、“事上练”的理念推动下,其实很多答案能自主挖掘出来,也不会说以为自己什么都懂,只是好歹是靠谱了许多,我也会找别人沟通呀,比如有两位UC、金山的前辈就是我经常讨教的对象
那么就问问吧:未来10年人民币贬值会厉害吗,我买了10年共交20万的华夏理财险,万能账户保底利率3.5%,这一年来利率是6%左右,前10年每年返还5000(2027年之前),10年后直到80岁(到2069年)每年返1万,80岁如果还活着就返还以前交的20万,后来我怎么慢慢感觉会因为人民币贬值而吃亏……相当于借钱给别人投资了,还要经过10年以上才能回本,而且那笔钱如果当初我用来过现在的日子却能收获许多
不过你就无视掉这个问题吧~我想我对理财还不是很懂,抽空学习中~最近在看优酷的《宋鸿兵鸿观》,67到110+期看完了,对世界经济结构、经济模型、地缘政治和许多社会、国际现象有了更多理解,也不容易吐槽社会和国际的事情了……
-----------------------------------------------------------------
九、小心前行
尽管相较5年前是进步许多,过得好了许多,但是我还是比较小心地前进着,感觉最近1年内都依然会有危机
其实有些苦话我还没在这里说出,我想也不方便说,日子也是跟别人一样有酸有甜的
-----------------------------------------------------------------
十、结语
未来嘛……看看入行10年后可能会再发一篇文章总结下情况吧,大家都是程序员,刚上路的人努力,少抱怨,有事就做,有东西就学,不要让工作任务上的挑战机会成为你职业发展的壁垒!当初我也忍着5K月薪啥都干、猛加班 ,但后面啥都掌握到一定程度的时候做起事来也轻轻松松,BUG也排查得快,那些抱怨工作多(包括范围广)的程序员就是进步慢,BUG排查半天,所以希望你能勇于接受各种工作任务!已经在路上有一段距离的同志,咱们一起努力吧
如果现在不努力锻炼本事,30、40怎么跟年轻人竞争工作机会呢,那时候已经有家庭要顾,有贷款要还,可能还没那么多精力、热情了,而20来岁的小伙子愿意加班、愿意奋斗、愿意付出,依我对中国资本家的理解,他们就是喜欢这些小伙子呀
写了2小时,可能还讲漏了什么,其实我也挺健忘的,备忘录写着很多事……
感谢你阅读至此,大概5年后会再分享变化吧