程序员应该如何选择技术方向(3)

性别:男

师门:电子科技大学 98 年计算机系

职业:网络引擎设计者

人物背景:精通 C, C++, Java , Pascal, Basic, Fortran, Cobol, PL/M, Perl, Python, Lisp, Prolog, Smalltalk 、 bind 、 Ldap 、 PVM 、 MPI 、编程自动化、 Linux 核心代码, JDK 源码, GLibc 源码, Apache 源码、常见的网络协议内部实现、网络通讯……是真的精通

武学造诣:决不要把计算机强加给人们的限制认为理所当然,人不是机器的奴隶,把了解机器的限制作为通晓计算机的标准只能是自欺欺人

游戏感言:IP 路由和认证的双重功能将是未来网络游戏发展的障碍,今后的网络应该是以分布式目录服务为基础的,以网络设备为中心,与具体主机无关。集成了广泛的认证与授权能力的网络(全公司上下没有人能听得懂他在说什么,好在大伙儿都已经习惯了)。

都是98年毕业的,人和人的差距怎么那么大呢?无语泪千行!

两个故事讲完了,究竟如何做技术方向的选择呢?答案就飘在风里……

1、操作系统、数据结构、算法、网络等基础技术应该在大学时代深入学习,如果毕业了你还没有掌握这些内容,那就随用随学好了。学习这些基础理论极为枯燥,只有实际工作中的需求才能给你最大的学习动力去掌握这些艰深的内容。

2、至少要掌握一门静态语言,比如 C、C++、Java、C#、Objective-C 等。至少掌握一门动态语言,比如 Python、Ruby、PHP 等。

3、推荐学习一些同时具备动态语言和静态语言的特性语言,比如 Go、Swift、Scala 等。这样你会对面向对象编程、面向过程编程、编译型、解释型语言有更深入的了解。

4、系统的构建自己的知识体系,而不是局限在某个点上。经常有读者问我,我前几年一直在写 VBA/ActionScript/Delphi/SQL ……现在项目组突然不再采用这些语言了,怎么办?很多人难以预料未来技术的走向,但是你至少要构建自己的技术壁垒和平台。学习 Java,就应该构建你自己的 JavaEE 平台;Objective-C 对应 iOS/OS X 开发平台;C#,对应 .Net 平台,SQL,对应数据库平台。如果你在用 ActionScript,那你不应该局限在 Flex 上,你对应的是整个前端平台。

立足平台,你会站得很稳。立足一个点,你可能摔的很惨,就是这样。

共4页: 上一页1234下一页
无锡网站建设 我要咨询建站 >