从事软件开发的工程师最大的挑战就是没有时间去学习新工具和新技术

很多在软件公司从事软件开发工程师的员工都有这样的认为,如今的软件开发人员的最大挑战是没有时间学习新软件知识。当在学校时,人们都有大量的时间来学习新工具和新技术,但一旦完成学业,有了全职工作,软件开发人员就拿不出足够的时间来学习新东西了。而软件开发人员这个行业的变化却是日新月异,对于一个职业软件开发人员,每周至少有40小时‘真正’工作时间,完全没有时间和精力去掌握各种的新兴编程语言,框架和技术,更别说精通了。我想这也就是为什么编程是年轻人的游戏的原因。

软件开发人员的最大挑战

我们可以很好的设想一下,你如果在一个大软件公司里,在一个稳定可靠的技术架构上写代码。如果你在这个项目上一干数年,但却没有时间在工作之余学习新的东西,那么,当项目完成时,也就是你的技术过期之日。至少你的市场选择不多了。此时也许你希望找到相似的技术工作(很可能是无聊和重复性的工作,但我猜大多数人都会有数次这样的经历),或花一些时间来学习最新最流行的技术(没有人会为此给你报酬),或干起非技术性的管理工作(也许是得到晋升)。

一旦你干起来管理工作,你在技术上将会越落越远。我见过一些走上这条道路的人,没过多长时间,他们就已经没有信心再去重拾编程的老路了。他们似乎忘记了曾经在编程界的骁勇。这种过早的从编程活动上的退休在我看来就是一种浪费,应该避免。

对于这个问题,有一些很容易理解的解决办法:形成学习气氛。在软件公司里,学习他人并帮助他人,教学相长。招聘一些善于学习的人,让他们在工作中引入新技术。在学校里,软件开发人员有固定的学习制度/习惯,软件开发人员会严格遵守,去学习和实践。一旦离开了学校,大部分的软件开发人员再也不会延续这种习惯。是的,有动力的人会仍然读书,读博客,不让自己落伍。但即使最有理想的软件开发人员也很容易跟不上时代。尤其是当软件开发人员有了配偶,孩子和贷款等。

能让软件开发人员保持进步最好的方法是在工作中和同事一起学习。我很希望软件公司能够贡献20%的时间来搞技术读书会、研讨会等,这些活动能让同事们相互激励保持进步。我认为团队中的每个人都应该花一些时间在一些非重要的上做一些前沿技术(至少对你是新的技术)的尝试。除此之外,团队成员应该和一些其他项目的人一起交流。这对软件公司员工有好处,也能让软件公司获得更多有经验的人。

我认为必须让同事成为软件开发人员的老师,软件公司应该鼓励开发人员相互学习,相互教育,传授经验。在软件公司内部要成形成教、学一体的风气。有一点很好,这些教和学很容易看出效果,它能在团队的开发工作上体现出来。如果你没有积极的从别人那学习,或没有积极的帮助他人,这说明你没有全身心的投入到团队中。

另外一个可以解决缺乏学习机会的方法是招聘一些善于解决问题、善于学习的人,让他们在工作中带入新的技术架构。当你的软件公司了已经有了很好的学习文化和技术风气,这种做法尤其有效。我在想,如果没有重新学习大量技术的压力,有多少大软件公司的中层管理人员会愿意重返编程活动。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301