前言
先简单介绍下自己,从业六年,待过几种类型的公司,十来号人的创业型,几千号人的外包公司,产品销售较稳定的自研型公司。
角色方面,从java开发,到技术经理,到自己做产品创业,再到项目经理。一个可能哪个方向都算不上精通,但成长线路相对丰富的普通程序员。水平有限,仅作分享交流,如果我的记录对你有所帮助,不胜荣幸,如果你也愿意给我提供一些意见或建议,不胜感激。
写作目的
写作目的:希望能够给入行不久的普通程序员,提供一些最快,可行性最高的上手并熟悉的成长路线及过程中需要重点关注的点。:
一,初上沙场
这个阶段最大的困惑可能在于,无从下手,技术不够。
1.现有系统中相似功能,照抄,先写像再写是。切忌:就是要找个一模一样的。
2.无相似功能,百度,谷歌等是否有现成的功能可以抄, 大部分情况下切忌:自己慢慢研究,死磕。
3.询问同事看是否有公司其它项目可以参考。
4.兜底策略,简述你处理问题的过程,遇到的困难,寻求帮助。 切忌:害羞或怕领导对你能力怀疑,遇到问题可以,不要长时间(同一个问题卡住不要超过一个完整工作日)不去跟上级领导同步现在的进度,做到这些就没有什么问题。
二,渐入佳境
经历过几个月,对项目的情况大体掌握,常见的增删改查能够比较流畅的独立写出来,其他问题也能在预期时间内解决。这个阶段,如果公司创新度不高,很容易出现安于现状,对未来的遇到的挑战和机遇没有准备。
1.除基础业务及增删改查外,对项目的架构,一些经常用的工具类(例如公共返回类,异常处理类,继承的dao基类,控制器基类等)不了解。
2.自己所参与项目的框架和技术栈,跟市面上主流的框架是否有差异,如果没有那么恭喜你,可以看下一条。如果有,差异的部分就是你重点学习的对象。
3.工作两年以上都可以每半年投一批简历,面试下比所在公司整体实力更强的公司,目的并不一定是要去,但是要尽可能了解市场现在需要什么技术,时刻保持自己的竞争力是程序员从业的主旋律
三,君向潇湘我向秦
当我们度过了前两个阶段,对现在主流技术有一定的掌握后,就要面临这个问题了,选择技术?选择管理?选择业务? 几个方向没有绝对的好坏之分。
A:技术方向:中级开发-高级开发-架构师-某一领域专家
B:技术管理方向:中级开发--》高级开发--》技术经理--》项目经理--》超出我的知识范围了
C:业务方向:同管理方向。如果不太喜欢编码可参考:中级开发--》产品/需求/售前/运维--》产品经理/销售等
下面提供一些参考的维度
1.对技术,业务或着管理的兴趣?
2.个人性格。
3.所在行业的前景,尤其是配套软件项目的前景。
四,时人不识凌云木,直至凌云始道高。
作为技术岗,整个职业生涯都免不了持续学习,这才是竞争力的来源,每个人有自己的机遇,或早或晚,机会肯定会来,夯实基础,做好准备,要做的就是当机会出现时,牢牢地抓住它,共勉。