现在很难决定该去学什么

我每天都会到 Reddit ProgrammingHacker News 网站上看看,因为那儿每天都有很多新鲜有趣的内容。

我以编程为生,不能孤注一掷地把时间都用在学习新技术上。因为我无法全都学会,甚至会忘了曾经看过很酷的技术名字。

更糟糕的是,我们正在学习的技术,在它被运用到实际项目上之前,可能就会消失或者变得不再那么重要了。 JavaScript 程序员应该深有体会,但是每个人在学习的过程中,可以感觉到这些新技术将超越那些让我们获得报酬的技术。

我从 1981 年就开始工作了,那时还不常有新事物出现,你有足够的时间来观察前沿趋势并做好准备。甚至还可以同时学习多门技术。我就特别羡慕有些人,他们能够精通互不兼容或者看似不那么兼容的技术。

现在我从事 iOS 应用开发,这工作还相对靠谱些,但 Swift 语言仍在发展中。苹果公司现在有三个持续更新的操作系统,雇主的需求范围也越来越广泛。你不能只是一个苹果的程序员,你总得挑一个平台并坚持到底。

我记得当时找一份 Java 编程工作,仅需要你知道 Java 或者一个应用服务器的品牌。但是现在如果你只有这么一点知识的话,我想你很难找到工作。关于这个问题,我深有体会,因为我的第一份编程工作就是在毫无经验和相关教育背景下拿到,我知道怎样获得雇主的青睐。然而现在,你需要在简历里堆砌一大串的技术列表才足以引起雇主的注意。放聪明点,并有学习新事物的热情和能力,因为我当时的招聘经历,在今天看来是多么可笑。

如果你选对了编程语言和合适的框架,又长期在项目中运用这些技术,那你或许可以凭此找到第二份工作。但如果你不幸选错了方向又不知道换,那你至少在本地就可能会失业。如果你选对了行业,你可以很轻松的找到一份新职位,但是如果你所在的行业既无趣又不太热门,那你也就只能找到同样无趣不热门的工作了。

新技术的问题在于需要花费时间来学习,尤其是当你在其它不同领域工作时,很难有一个实际的项目可以让你应用这些新技术。如果你够幸运,当前的雇主希望有新技术,那你就可以在工作中学习它。否则的话,你只能在工作之余自学,以此来说服新的雇主你有能力运用新技术。据我所知,很多偏重家庭生活的程序员往往因为业务荒废而离开这个行业。同样也有一些程序员花费了大量精力成为了某个技术领域上的专家,而当这些技术突然间过气了,他们便如同研究化石的考古学家一样的存在了。

同样困难的是,有这么多有趣的东西,你可能东学一学,西玩一玩,但并没有从中完整而牢固地掌握这些技术。虽然过程中你可能会觉得很有意思,但你大脑中的各种技术,由于掌握的不够好,并不足以应用在一个实际项目中。这如同是程序员的棉花糖,华而不实。

即便是苹果开发平台,我也很痛苦。我比较喜欢 Metal,但是学 HomeKit 是否会更有用,或者开发 watchOS 应用,或者放弃(1998年以来我一直在用的)Objective-C 转向全新的 Swift 语言,或者用 iOS 9系统的新技术开发游戏,或者继续坚持商业应用而忽略所有的新技术?我将在八月重新找工作,哪个会更有用些呢?我到底该怎么搞定?用 arc4random() 抽一个?

今天的编程圈子里,每个领域都有很大的变化,而这些变化还在以疯狂的速度增加。我想未来的某一天或许每个人都会是某一个领域里的专家,现在谁又能确定呢。那时工作或许就会有了保障,但我想大家应该不会喜欢吧。

未来是件令人头痛的事。

打赏支持我翻译更多好文章,谢谢!

打赏译者

打赏支持我翻译更多好文章,谢谢!

任选一种支付方式

3 2 收藏 2 评论

关于作者:范二少年

外企IT运营 个人主页 · 我的文章 · 13

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部