第一条:端正态度,明确目标。做技术不是一蹴而就的,你必须沉下心来,扎扎实实的去学。切记心浮气躁,想要一日千里那是不可能的事情。所以第一点我要说的是摆正心态,这是一个很重要的提前,其实这个准则适用于其他很多行业,相信很多人都会认同这一点。
第二条:准确定位,寻找方法,深度发展。定位好自己要努力的方向,比如确定一门编程语言,去了解这个语言的背景、特点,还有很重要的知识体系,由简到难确定好技术路线。心中要有概念,有自己的见解和认识。业界不乏一些这样的工程师,问他所学的能干什么,提出一个复杂些的功能是否能实现,得到的答复往往是“不知道,不清楚,实现不了”。在我看来还没有技术实现不了的业务场景,只是软件工程中的可用资源是否满足,人员资源、环境资源、时间资源等等,这是后话了。另外想要快速提高自己的技术水平,需要你去找适合自己的方法,什么学习方式更能让你快速接受。有的单位实行的是导师模式的工作方式,你进入团队后会有比你优秀的工程师带你,那么你真是幸运至极。职场上谁会主动教你技能呢,自己有时间多学点东西不好吗,这样氛围的公司比较少见。一定要抓住这样的机会,对你的提升会非常大,进步会非常迅速。
第三条:集众所长,纵向发展。第二条谈的是某一门技术在深度上的延伸。到了一定阶段,你在这门技术领域成为了大牛。从基础的技术知识点,到五花八门的技术框架,再到程序设计实现性能上的把握。你很优秀,确实很优秀,但是还不够。这时候你还得从技术广度上多做努力,广泛涉猎技术门类,开阔技术视野。所谓吸纳各大技术门类之所长,这样项目实现过程用什么技术实现有优势就一目了然了。
第四条:提高软实力,增强职业竞争力。单纯的软件工程师只是做技术实现和攻关。我认为掌握一些软件工程中非开发工作的技能,能让你工作过程中游刃有余,更对你的职业发展有帮助,后期职业道路更宽。学学测试技术,能让你写的代码更健壮,bug出现率低。学学项目管理,如何合理分配项目资源,如何推进项目,掌控进度。学学沟通技巧,别让外界总认为工程师都是木讷的榆木疙瘩,摘掉这个帽子从你我做起。