一个程序员,能写几十上百行程序时,困扰他的是语言的语法。能写数百行的程序时,困扰他的可能是数据结构。能写数千行的项目时,困扰他的可能是算法的优化。能写数万行的项目时,困扰他的可能是整体架构的选择和设计。能手撕数十万上百万甚至更多行的项目时,困扰这种人的可能是类似“商业垄断的软件太讨厌了,我要怎么改变软件界的这股毒瘤呢?”这种问题吧。
当然,我们得说,即使对于数万数十万水平的程序员,双修甚至多修是没问题的,跨行也没问题,但是都同时拔尖也是不容易的。同时我们也得承认,对于大多数的普通程序员来说,可能水平都在能主导万行项目以下的水平。对于这样的水平来说,不同的软件项目之间就像不同的世界一样,难以跨越。所以还是要有自己的选择和侧重,这一方面看兴趣爱好,一方面也看以后的机遇发展。