软件开发学习什么

    作者:课课家教育更新于: 2019-03-11 13:55:04

      正所谓学无止境,知识是永远学不完的,而且,软件行业节奏很快,那么,软件开发到底该选择学些什么呢?

      软件行业的节奏之快,可能对于刚进入的年轻人来说体会不到,即便是经常加班加点也觉得无所谓,因为体力好,而且“加班能学到更多的东西”。但是,当从事这一行业近十年的时候就会发现,这个行业节奏真的快,或许虽经近十年的“磨砺”却并非越做越经松,反而觉得有点应付不过来。如果真是经历了近十年的“磨砺”却还应付不过来,那说明这十年的“磨法”不对,“磨”的问题其实就是“学什么”的问题?

      我们的职业生涯,一定会随着时间的推移而从事不同的软件项目。参与不同的软件项目一定是一件好事,因为将获得更多的思考、实践和犯错的机会。但获得这些机会不应当只在于在我们的简历上写上“曾经从事过XX项目的开发工作”,而应当通过这些机会帮助掌握软件开发的系统性知识,和掌握一些可操作的有助于提高工作效率和效果的方法,以及培养良好的工作习惯。

      系统性这个词被广泛采用,以致于我们不容易明白它到底指什么,不明白的另一个原因是它太抽象了。虽然软件开发存在科学成份和艺术成份(参见《什么是软件设计》),但我们应当尽可能地将其中的艺术成份转换为科学成份。那科学是什么?科学是指客观规律,是一种可被重复且不容易改变的规律。将艺术成份转换为科学成份的目的就在于,将我们的知识和经验进行提炼,找出“这样做更好”背后的原因,进而提高知识的效用。

      在做项目的过程中,应至力于发现各项目之间的共性,并掌握相似问题和现象的通用处理方法。这里的“通用处理方法”,就是我所指的系统性知识。项目做再多,而不去关心各问题之根本和探究现象之原理,那只是对我们的职业生涯简单地增加了一点经验,而且这种经验很经不起时间的消磨。人的大脑并不擅长记忆那些复杂的、毫无规律的事物,而擅长于记录简单的规则和原理性的知识。强调学习系统性知识,其实也是强调在工作中要多思考。

      除了系统性知识,还应当掌握可操作的方法以提高我们的工作效率和效果。提高效率主要靠方法、工具和培养自己良好的工作习惯,如何通过它们使得自己的工作质量更有保障,这是需要我们一直去探索的。如果,从大学毕业后工作几年,我们却还停留在只是做过几个项目,但却没有自己的方法或工具,那很难在将来让自己的工作越做越轻松。

      工作的效果则不只是技术层面的问题,主要要考虑如何通过有效的与上、平、下级进行沟通的方式,使得自己的工作状态和工作成果被他们所知,进而得到他人的支持或肯定。

      我们所要学的,表面上是技术,后面更蕴藏着对方法的掌握、个人思想的坚立和好习惯的培养,这些是我们真正要学的!

课课家教育

未登录