IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

不要总是选择困难模式

YanyiWu 2016-02-12 17:46:25 累计浏览 3,693 次
本机暂存

   大约去年十月份的时候,收到过一封印象深刻的邮件。内容是关于编程的咨询,一个正读研二的同学,非计算机专业且编程基础不好,想找互联网方向的工作,咨询我关于接下去的学习时间如何规划的问题。

   【印象深刻的职业规划】

   非常多的人有同样的困惑,经常也有人发帖发同样的问题。但是为什么这封邮件让我【印象深刻】呢?关键在于,发件人已经有了自己的规划,他对苹果的东西特别感兴趣。而且现在iOS开发火热,所以他对自己的职业规划是成为一个iOS开发工程师。因为距离暑期实习招聘还有不到半年的时间,如果从底层开始学习,时间显然不够用。他的计划是先专注于iOS开发的东西,让自己在找实习之前能有一个相对擅长的方向,有自己的竞争力。然后以后有时间再把算法,数据结构这些基本功补起来。

   而这封邮件的目的只是想咨询一下如此的计划是否合理。很显然,我的回复是【非常合理】。而且我特别欣赏这种对自己定位明确的人。

   然后今天刚收到他的Offer咨询邮件,阿里和腾讯的iOS开发岗位的两个Offer如何选择。让我开心不已。因为我见过太多迷茫的人,当面临职业转变的时候,要么是昏头转向,要么是一头雾水,就像互联网找工作来说,基础不好,对自己的定位也不清晰。最后总是患得患失,顾此失彼,什么都没学好,到找工作的时候啥也不会。然后最后就只能去发帖问说【只懂学校教的一点C++编程基础的人如何找工作】之类的求助贴。

   【困难模式VS简单模式】

   经常有人说出生在中国就是困难模式,在美国就是简单模式。其实不只是出生,人生的每个阶段都有困难模式和简单模式的选择。

   如果说编程的学习像打游戏一样的话,可以分困难模式和简单模式,那么选择C/C++这类基础架构方向,就属于困难模式。选择前端/PHP/iOS/安卓这些方向,就属于简单模式。

   前者需求少,而且牛逼的前辈比比皆是,好的坑已经被占得差不多了。已经是红海,只适合真的基础非常好的人才入场。后者则是一片蓝海,需求量大,导致准入门槛低。门槛高其实并不是什么好事,就好比2010年时候的安卓和嵌入式选择之争。当时很多人鼓吹嵌入式开发才是高级人才应该选择的道路,他们很不屑安卓开发,觉得安卓开发连专科生毕业都能做。但是几年过去了,大家都看见了,那些当时选择嵌入式的几乎都后悔了。选择安卓开发的都人生赢家,学校出身好的已经是团队leader独挡一面。学校出身不好的起码也是高薪的工程师了。而选择嵌入式的呢?除了顶尖的人才之外,大部分人都灰溜溜的转行选择了安卓开发。

   【总之】

   首先声明,我并不是鄙视哪一种选择。选择没有绝对对错,只有合适不合适。

   其实对于基础好,准备充分的应届生来说,不管是选择哪个模式,都能获得很好的回报。但是我很想问一些基础不好,准备不充分的应届生一句【你为什么非要选择困难模式】?

   其实你如果仔细观察,你也会发现很多牛逼的人,也总是会精明的选择简单模式的努力方向:

  • 比如鸟哥选择了PHP引擎性能优化,而不是gcc编译器性能优化。

  • 比如AstaXie选择使用Go开发Web框架beego,而不是使用Erlang开发Web框架。

  • 比如ByVoid选择了写【Node.js開發指南】,而不是【C++语言开发指南】。显然前者即使写得再烂都能让人不明觉厉,后者肯定被人一喷涂地。

  • 不胜枚举。

  •    你们感受一下。

同分类推荐文章

  1. 科技爱好者周刊(第 401 期):如何赚到10亿美元 (2026-06-26 08:05:38)
  2. 如何做决策 - 从 Go 的一个 issue 说起 (2026-06-26 08:00:00)
  3. Seven Player:Windows上播放115网盘视频的增强工具 (2026-06-09 00:06:47)

查看更多 开发者 文章 →

建议继续学习

  1. 我是如何学习计算机编程的 (累计阅读 181,143)
  2. 每个程序员都应该学习使用Python或Ruby (累计阅读 17,917)
  3. 再次写给我们这些浮躁的程序员 (累计阅读 17,225)
  4. 给年轻程序员的建议 (累计阅读 11,068)
  5. 编程能力与编程年龄 (累计阅读 9,421)
  6. 一个大二学生有关如何成为一名软件工程师的疑问及答复 (累计阅读 9,178)
  7. 你做过的最有效的提高你的编程水平的一件事情是什么 (累计阅读 9,061)
  8. 给想当程序员的大二学生的建议 (累计阅读 8,930)
  9. 技术人员的未来:做技术还是做管理? (累计阅读 8,874)
  10. 我学编程时犯的最大两个错误 (累计阅读 7,961)