初级程序员如何快速成长?

怎样从一个初学者成长为一名合格的程序员?

又如何从一名合格的程序员登上职业高峰,成为一名CTO(首席技术官)呢?

每个技术者都一定思考过以上的问题,而这个成长与蜕变的过程是需要一些坚持,并经历一些困难的。当然,如果你对自己的未来有一个既好又详尽的长期规划,那么肯定会少走许多的弯路。

初入职场,大家都是干一些基本的代码工作,而此后的2-3年,是程序员职业生涯中成长最快的几年,这段时间也是他们最有激情,做事专注,容易养成良好习惯的时期。

2-3年的时间里有些人快速成为了某一个领域的技术专家,而有些人也可能停滞不前。那么,初级程序员又该如何快速成长呢?

下面,我们将从两个方面来进行分析:其一是快速成长的关键要素,其二是成长过程中要避免的一些恶习。

快速成长的关键要素

1.空杯心态。

职场绝不只是一道好菜,而是一场盛宴。不能因为小小的成绩就得意忘形,或者甘于认命。尤其是当我们刚入职的那几年,更要学会空杯,既不能因一时的失败或挫折而一蹶不振,更不能因小小的成绩就扯高气扬。

我们要时刻“空杯”,勇于放下,这样才能取得更好的成绩,才能在今后的道路上走得更稳、更远。

2.坚持学习。

一些程序员觉得自己加班已经够累了,就几乎不再学习,但其实从长远发展来看,大家还是应该尽可能多的通过不断地练习、不断地阅读来进行自我提升。

学技术切记急于求成,只要方法正确,长期坚持,量变一定会引起质变。但如果总是进入不了学习状态,建议可以考虑换个学习环境,比如去大学的图书馆、附近人少的书店等等。离开舒适区,试着让自己有所突破。

3.把事做精。

只有对自己要求越高,才能进步的越快。很多程序员开始工作的时候,总是快而不精,做事做的不够细致,希望快速拿出结果证明自己,但却反而什么也证明不了。把事情做精的唯一方法:就是要强迫自己多花心思多花时间在这件事情上。

曾经看到过一位技术牛人的分享心得:“老板给你布置了一个任务,你要花百分之150的精力做到100分,这样在老板那里你就能拿得到80分或者60分。”

4.掌握系统化的学习方法。

如果学习到的知识不成体系,那么遇到问题时就会很难快速解决。有些程序员在编码遇到问题时,喜欢百度搜索,如果百度上找不到答案,这个问题就解决不了。或者在开发中需要用到某个技术点,就只去学那一点点,程序调通后就不再深入研究,浅尝辄止。

程序员应该遇到一个问题,解决一个问题,需要一项技术,就深入学习一项技术,而不是为了一时的应付。

那么又该如何系统化学习呢?

首先要确定学习的知识领域,需要达成的学习目标,其次就是针对目标制定学习计划,列出学习框架,然后再把知识点逐步填充进去,最后把这些知识点关联起来,形成一个系统化的知识体系。

5.练习练习再练习。

练习的大前提是有足够多的时间。而时间对于工作者来说是非常珍贵的资源,特别是在国内这种大环境下,程序员常常是“996”、“997”的工作状态。

如果想要快速成长,即使每天都很忙碌,你也应该预留时间来进行练习,哪怕只是半个小时,一周、一个月、一年下来,帮助就很大的。

当然,练习也不是一天里写一万行代码,也不是重复写一百行代码,而是在一百天里,每天写下一百行代码。它需要一定的技巧,不懈的坚持,还有一些合理的休息。

成长过程中要避免的一些恶习

有相当大的一部分程序员,在职业生涯中 遇上了瓶颈,造成了高不成低不就的尴尬局面。其主要原因就是沾染上了以下的这些“恶习”,才导致自己停滞不前,无法快速地成长。

1.不参与社区。

对于一些菜鸟程序员而言,应该经常去一些社区和大牛交流一下技术,并且获取最新开发者资讯和信息。

一般社区有:Github、Bitcoin、StackOverFlowStack、CSDN、ITEye、V2EX、Ruby China等。

2.不去阅读其他优秀程序员的代码。

气忌躁,言忌浮,才忌满,学忌浅。阅读优秀代码也是提高编程能力的一种捷径。

3.不投资于软技能。

要作为一名合格的程序员,除了敲代码之外,还需要良好的人际交往能力。一旦你善于跟人打交道,绝对是如鱼得水。通常而言,软技能有时候比你技术技能、硬技能更为重要。

4.不搞点业余项目。

有的程序员总是抱怨,自己每天的工作几乎是千篇一律,技术得不到成长。但是,抱怨是不会提高技术的。

身边有不少的程序员他们业余都会搞一些项目。搞点业余项目有什么好处呢?

  • 可以学习新的技能,跟上时代的步伐。
  • 可以赚点外快,让生活过得更滋润一些。

在技术人员这个行列里,入行时间并不是衡量人才能力的绝对标准,碌碌无为的“老人”在各行业都不鲜见。

是否能快速成长为一名优秀的 Coder(编码员) 或 Programmer(程序员),完全取决于你对所做事情的理解程度。对所做事情理解的越深,你就会做的越好。

成为一名优秀的程序员和成为其他行业的高手一样,都需要不停地学习、练习、反省和总结。这不仅是最初5年的要求,而是贯穿整个职业生涯的要义。


所以,初级程序员想要获得快速成长,一定要拥有一颗不怕麻烦的责任心,和不满足于现状的上进心。

1.之前加过一个安卓工程师的群,想着好歹我也算会点儿了,加个群帮帮新人,都是从菜鸟做起来的,知道菜鸟摸不着头绪时的苦恼。也确实帮了很多人。直到有一天,有一个前阿里工程师在群里说话了。大家都觉得这人在阿里干过好几年,应该很牛逼啊,所以很多人问他安卓该怎么学,从哪方面学起。他说,学习,思考,总结,这就是我成功的秘诀。
2.我把那个群退了。想起这事儿我就恶心。

3.Java做为一门语言,最基本的应该就是语法了。也不知道你会多少。语法真是要认真对待,不会走就想跑是不对的。尤其是1.8版本的一些新特性,例如lambda。好用到没朋友。

4.作为一个面向对象的语言,自然离不开各种复杂,但是有用的模式。什么工厂啊单例啊观察者啊,每一样都要熟悉,这样你才有可能理解其他人写好的架构。

5.善用接口。想当年我以为我啥都懂了,其实我连接口到底该咋用都不知道,现在想想真是笑话。

6.用你学到的知识写一个爬虫。用时间去完善它,直到它变得非常庞大和复杂(第一次写这是必然的),然后总结一下,推翻重写。如此反复。别看是一个简单的爬虫。啧啧。多说无益,试过你就知道了。

7.先想到这么多。手机敲字累挺。

8.又仔细的看了一下你的描述。看你这心浮气躁的样子你是想速成?

9.没有速成。就好比我说,非静态内部类会默认持有一个外部类的引用,你连啥是非静态内部类都搞不清楚我再多说别的也没用是不?

10.三个月才三个bug就给你慌成这样。瞧你那没见过世面的样子!

11. @职业吐槽师建议你学后端或者ios。原因如下。
12.ReactNative是一个facebook 出的一个框架,可以用js 开发android或者iOS 应用,类似框架还有其他,如果这种框架能够成熟起来,那么会极大的降低android 开发的门槛(现在门槛也不高)。加上现在市场上充斥着大量的初级android 开发者(看看众多初创公司做的质量低下的app就知道了),很难保证等这批初级开发者进阶到中级或者高级后,android 开发是否还是如此的热门?甚至说,大家还会选择用android 自己的东西开发安卓么(ReactNative)?
13.android 的多媒体开发,就是一个坑。而且深不见底。
14.当然也有好的方面。android 自6.0开始加入了很多让人欣慰(欣慰啊~~~~)的新特性,再加上如果谷歌和谷歌的服务能够顺利回归中国,那么android 在开发上,应该会更上一个台阶,说不定会像ios 一样规范开发的各个方面。这绝对是android开发的福音。
15.还是好的方面。android studio 和gradle好用到没朋友。如果你觉得不好用,说明你不会用。哈哈哈。还有google 推出的data binding(MVVM),绝对有望解决android 工程架构的问题。可以说,google 正把android开发推向更正规更高效的一面。但是结果怎样,我不知道。
16.如果android 开发语言换成go,你就不用纠结了。哈哈哈哈。

17.题主问的不是java么。。。你们不要拐我跑题啊喂!!!!文章来源于互联网:初级Java程序员如何快速提升自己的能力(真心求教)?

发表评论