不会武功的程序员不是一个好厨子!那么问题来了,如何成为一个优秀的程序员?
如果把自己当做武侠小说里的一个学武之人,遇到上面的问题:是先学武术知识如:武学历史、武学门派、心法与招式...还是学实战技巧如:拳法、刀法、棍法、剑法...呢?
答案是先掌握程序员所必须的知识与技巧。如果不了解武学发展史,上来就练拳脚功夫,可能也能成为一个好汉;但如果想要成为一代宗师,或许更需要武学素养做铺垫。
那么,具体说什么是程序员必须具备的知识与技巧呢?相关知识包括:计算机导论、C 语言程序设计、数据结构与算法、操作系统、计算机组成原理、计算机网络等等。等工作之后,才开始思考什么是技巧:不能脱离业务的架构设计、高性能的 SQL 查询、可重构的代码、良好的编程规范等等...
一句话,成为一个好的程序员需要学习知识,进阶好的程序员需要摸索技巧。对于知识的学习,就像是一个启蒙,看你是否对这门科学感兴趣,是否能有兴趣继续学下去。一旦你选择了入行计算机,那么技巧也就慢慢变得重要起来,优秀的程序员往往有着更优秀的编码规范、更清晰的业务逻辑、更强的问题解决能力。
曾经也认为,程序员无非就是拧螺丝,哪还需要算法?功能能实现就行,需要考虑设计模式吗?但随着工作之后,才知道自己不想写的代码是啥样,至于未来还需要什么技巧,依然在不断学习,仍需探索。
评论