打开网易新闻 查看更多图片

这个繁荣的行业,只要你自己不是很菜,可以衣食无忧,努努力还能光环加成,成为别人眼里很酷的那种人,没多少行业如程序员起薪高,也没多少行业如程序员涨薪快,没多少行业如程序员这般智力密集,身边都是挺聪明的人,有的还很有趣,也没多少职场如程序员职场这般少讲政治只讲方案,这是一种相对轻松的活法。

不过,总有一天你会意识到,无论你觉得自己多酷多"爱"编程,你做的毕竟是“底层”的工作,"底层"这个词存在是因为事实存在。

有不少年轻人拿到GoogleOffer还离开去干自己的东西(哪怕摔地稀里哗啦的),他们意识里是知道这一层的。虽然你不总是贡献最大价值,但像其它底层职位-样,你总是贡献最大"剩余价值",因为价值分配的倒金字塔,底部拿走越大,向上(掌握资本的人)输送的越少,所以剩余价值总是个稳稳的正金字塔。

打开网易新闻 查看更多图片

行业的纵向价值链里,程序员是一个职业,是一个“底层”的职业,这是事实,不因为你在一线还是三线公司工作而改变。

所以有本事的程序员,要有打算跳出桎梏,到金字塔上方看一看。程序员是一种有趣有回报的职业,但对一部分(也许很大部分人)来说,离"成全自己"还很远,很多人二十几岁的时候也觉得自己能干到老,但后来虽然还是爱技术,但另一个声音告诉自己,应该去做点别的事情,心里想做的超脱技术的东西,做点不为项目经理服务而为自己好好服务服务的事,那种20岁出头时候的感觉仿佛又回来了。

刚踏入职场的程序员如何快速提升自己的能力呢?

1、不能光有决心,一定得多用时间学习

我见过不少程序员一点点从初级升到资深开发,少的用1年半,多的用3年,成功完成升级的都有一个共同点:进步得靠学习,学习得靠时间堆砌。

我个人不算聪明,所以我对曾国藩的一句话体会很深:结硬寨,打呆仗。用在学习上,就是不投机取巧,学习时为自己,踏实地掌握基本功,然后一步一个脚印。这一定得靠时间积累。

2、先在Java core方面打好基础

这部分需要学习的内容:

1. 基本语法

2. 集合

3. 异常处理流程

4. 基本的IO操作

5. JDBC

6. 多线程

在这个阶段无需学的内容:

1. 界面编程,比如Swing, AWT

2. Socket编程

打开网易新闻 查看更多图片

3、不断地提升自己的优化能力

这部分是拉开你和其他初级开发的差距。资深程序员和初级程序员写出来的代码会有不同,主要体现在如下三个方面:

1.资深程序员写出来的代码结构性比较强,这主要是资深程序员能在写代码的过程中,主动地引入面向对象思想和设计模式。不过面向对象思想和设计模式得靠项目积累,所以对初级程序员而言, 光学理论效果未必大,一定得在工作中多观察下继承,重载和接口复用等做法,因为面向对象和设计模式的表现形式主要包括这些。

2.得考虑性能优化,比如想下,如何让SQL语句更快,如何让虚拟机内存性能更好,然后找这方面的资料。这些内容,我的其他博文里都涉及到。

3.一定得在“单机版”程序的基础上问自己,如何搭建集群,或者,如何利用现有的面向集群的组件,比如可以用Eureka搭建服务治理的集群,在集群中用Ribbon做负载均衡。总之,这方面都是有现有解决方案的,而且学起来也不难,但不是每个初级程序员都知道该学这部分的内容。

在这个基础上大家都可以技多不压身了,比如学些Redis,消息中间件等,但一定得围绕上述三个学习方面。

为别人做事,是件很容易失去幸福感的事,不管你有多喜欢做这件事,我不知道你们,但对我是这样。所以多多提升自己的价值,为自己的热爱而奋斗。

哏儿都IT圈

微信号:tianjinIT

我们是你坚强的后盾