对于程序员来说,核心竞争力之一就是
学习能力
除了看书学习之外,还要会高效的学习,单位时间内你学到的东西越多越好。
比如,对我自己来说,看视频就比看书学起来快得多。你可以找一些大牛出的视频课程,适当花点钱。再说了,花了钱会给自己点压力,不学的话钱就浪费了,让你更容易坚持下去。
不要在学习方面舍不得花钱,投资自己比投资其他东西更靠谱。
除了学习能力之外,对程序员,特别是新手来说,另一个非常重要的能力就是
动手能力
我第一份工作也是一家非常小的公司,也就不到十个人,和你的情况差不多。小公司,做的项目也非常小。
公司、项目眼前不好改变,那只能改变我们自己。
我那时候基础差,除了 CRUD,其他都不太行。下班之后,我主动留在公司看代码、敲代码。
尤其是各种开源小项目的源码,看完之后,我会刻意尝试背着写出来。写出来再和源码对比,看自己写的哪里不对,思考源码为什么那么写。
真的,那段时间自己能明显感觉在提高,基础、常用的类越来越熟。虽然还不太懂啥是面向对象,一些高级的编程还不会,但是随着不断的练习,慢慢就有编程的感觉了。
编程的感觉是什么?不太好解释,就好像是你可以熟练的打字,但是你很难说出ABCD……XYZ 在键盘什么位置。
另外,也别太嫌弃小公司,小公司也有它的好处。
小公司锻炼人
我做的第一个小项目,这个项目就我自己做,后台、前端、测试、写文档都是我一个人。。
这个项目我干了 3 个月,做的非常辛苦,没少加班熬夜。有时候太晚没公交车了,就趴在桌子上凑合睡一宿。
这个项目做完之后,从环境的安装,到开发代码、到写各种文档,算是完整的经历了一次。非常锻炼人。而且小公司人少,我的努力和成长,老板一眼就能看到。
大公司、小公司各有利弊。
不要以为每家大公司都有完善的人才培养、晋升;
就算是大公司,如果你参与的是非核心业务,甚至是边缘业务,对自己提升也好不到哪去。
再说一个很重要的点,也是很多人学编程最容易忽视的一点,就是
找对人、跟对人
后来我认识了两三个很上进的程序员。我们当时都希望将来能成为 NB 的架构师,我们在一起学技术;一起研究重构、设计模式;一起互相逼着补单元测试代码;一起重构别人留下的烂代码……
后面我们几个一起加入了 Beijing Java User Group,简称 BJUG。BJUG 里高手很多,我们经常聚在一起分享交流。
Hibernate 出来后不久,我们还一起翻译了一本Hibernate的书籍,算是第一本开源的中文Hibernate书籍。
现在看,能认识这几个好基友,非常幸运。学习和练习是一个很难的事,找到志同道合的基友,可以更容易坚持下去。
在经历了这些之后,随后几年我跳槽的时候,技术面试基本上没挂过。
最后总结一下吧,对于小公司的新手程序员来说
- 学习能力、高效学习能力很重要
- 动手能力,学历离不开动手
- 小公司锻炼人,抓紧锻炼自己
- 找到对的人、圈子一起学习
希望写的这些对你有帮助,无论去了什么公司,坚持学习提高自己,才是大事。