扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
你是「专业」的程序设计师吗?什么是专业?我自己的定义是「使用自己所擅长的程序语言,快速且正确地解决问题的程序设计师。」这句话里有两个重要的关键词:「快速」与「正确」。
正确是绝对必要的,如果最后的结果不正确,那不管是用了什么最新的技术,或是到底多短的时间就完成等,其它的因素都是白废的。至于怎样才叫快速?这个比较没有量化的标准,而且快速还可以再细分成:你写程序的速度和写出的程序的执行效能。
但业界的确有权威的标准,来判定你到底是不是专业的程序设计师。最简单的方式,就是参加一些有时限的程序设计比赛,例如正在举办的Google Code Jam 2006。Google Code Jam分成了三个关卡,每个关卡都要你在有限的时间内,解决几个问题(详情请看Google网站)。
问题有难易度之分,相对所分配到的分数也不同,而你所得到的分数会依据你解题的速度、正确度与效能给分。只要在时限内达成要求,就代表你至少有一定程度了。
笔者不幸在第一关就惨遭淘汰。经过一番自我检讨,在今年的比赛里,我犯了几个严重的错误。第一,我没有详细的阅读比赛规则、看错比赛时限、不熟悉比赛程序接口。我把第一、二关时间看错,第一关是要在60分钟内解决两个问题(两个问题满分分别是250分和750分),第二关的时间75分钟。
而计时是从登入后就开始计算,我在chat room晃了一下才找到自己的比赛区,赛前又没有去熟练比赛程序操作接口,摸索也用掉了一些时间,所以当我真正认真读题目写程序时,时间只剩不到50分钟。
第二个错误是我太自以为是。我原本认为没什么好怕的,写程序我熟练得很。可是这个比赛的目的,其实不是要你对于一个程序语言的语法到底有多熟练,而是如何去找出、设计出正确的解题方法,至于用到的语法都只是最基本的条件判断式、循环,外加基本的API等等。
解题的方式说穿了很简单,只要动动脑筋,运用一些几何、数学的基本常识或公式,依题目的需求,组合成正确的解答即可。所以你必需具备的反而是几何、数学的基本能力,而不是程序语言到底有多熟练。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者