选择

前言:BlindingDark是我认识的很有想法的一个年轻人,今天他给大家带来一篇关于『选择』的文章,人生是有很多选择组成的,程序员的选择也有很多,找一条最适合自己的路吧。

每个人都有最适合自己的道路,所以请选择能让自己舒服的姿势。毕竟人生苦短,对自己好点。 

比如我,就搞不来学术研究,就不喜欢研究语言的细节实现,不喜欢研究算法,因为我人比较笨。

所以如果你看到别的大佬大学搞 ACM,搞编译器,工作去 BAT,微软,谷歌 Facebook,你也跟着学,结果发现自己干啥啥不行,不要怀疑自己,要承认自己的确就不是那块料。 

所以,认识你自己,接受你自己,找到最适合自己的路,比写一万行代码更管用。

所以下面仅是一家之言,仅供参考。

1

设计模式

找工作的时候,我经常被问到的问题之一就是所谓的设计模式。而我的作答一般是,『了解其思想,而不局限于实现。』

先说个人观点:

  1. 尽可能晚的接触设计模式。

  2. 先写代码,再想设计模式。

  3. 不懂设计模式无所谓,但一定要多思考。

过早的接触设计模式,再加上许多人对设计模式的神化,很可能导致你个人的思考被其束缚。 

设计模式的重点不在其实现,而在其思想。只是因为 Java 语言本身的表达能力有限,所以才使得其代码实现变得比较复杂。

我见过许多人把它做为知识点一样,去记忆那些实现代码,我觉得这种行为是很可笑的。 

我个人认为正确的学习姿势是,在你已经写了一定量的代码,尝试使用自己的思路去解决过一定难度的问题,有一定程度的基础和经验的时候再去看设计模式。 

这样在看的过程中你就会有感触,『哦,这种模式就是我平时用的某种方法的变形,那种模式比我写的更严谨,而这种模式我还没有见到过……』这样对照对比着去学习,才能让你从中汲取知识,且不会让你困扰于设计模式的细节实现,以及陷入到滥用设计模式的陷阱中去。 

另一种学习设计模式的姿势就是,换一门表达能力更强的语言,看看它们是怎么解决的。这样你就能摆脱实现细节,专注于思想本身。

2

编程语言

说到语言,新的语言层出不穷,经常会有人发出这样的疑问:

我应该学什么语言?

我现在使用的技术是不是快要过时了?

我要不要去追赶下一个热门技术? 

找到工作短短一个月内,我就学习了三种语言,而且目前所使用的主语言我之前连听都没听说过的,但是工作三个月后,我已经基本熟练掌握了语言的特性和用法,至少足够应对工作。

我是怎么做的?

答案是:

  • 我学过 Lisp。所以在语法层面,我可以快速上手任意一个所谓有各种高级特性的新语言。

  • 我认真学习了大学本科的计算机专业课程。比如在 Web 开发方面,计算机网络,数据库原理对我的帮助很大。

  • 我喜欢编程本身,所以学习对我来说是一种享受,而不是痛苦。

所以,要不要学习新语言/技术?

我的答案是,掌握一种高级抽象形式,以及打好基础,能让你快速学习任何一种新技术。 

当你有了这种能力之后,就不会惧怕新技术,而是可以根据需要来选择任何一种新技术,即使再更新换代,有再多层出不穷的技术出现,你也能游刃有余。

有了扎实的基础和快速学习的能力,同时还要保持求知欲和好奇心。要像海盗探险一样积极去寻找有助于自己的尚未探索的技术领域,毫不吝啬的掠夺那些有助于自己的知识来扩充自己的宝库。

而在快速进化的计算机领域,如果你是一只懒惰的海盗,不持续更新你的技术,那么你很快就会被时代扔下车。

不仅仅是语言,其它譬如操作系统、开发环境、开发工具等,也要积极去跟进更新。选择那些业内最前沿、社区最有活力的技术并熟练掌握它们,把自己武装到牙齿。

3

前途/钱途

我经常看到很多人在讨论这样的话题:

『某某方向最近很赚钱,要不要去学一下。』

『我是培训出来的,据说程序员很赚钱。』

『学这个技术以后还有钱途么?』 

没错,赚钱养活自己的确是基础需求,但是你真的想要的就只有赚钱么?

做你自己想做的。

我一直认为,工作是用来践行自己的一种方式,而赚钱只是其附加属性。如果一个职位让我感到很痛苦,那我可能会拒绝。只有你在做你喜爱的东西的时候,你才会全力去做,才是最有效率的。 

所以不要犹豫,听从你内心的想法吧。

有时候在长时间重复劳动之后,难免会觉得枯燥。其实计算机远不止写代码,还有好多有趣的东西值得你去发掘。不折腾的程序员不是一个好程序员。 

操作系统换成 Arch 或者 Gentoo,有点闲钱买个树莓派玩一玩,掌握 Emacs/Vim,搭建一台服务器…… 

你可是程序员!看到不爽的就去改造它!而不是适应它!

还有一点就是要有黑客精神。据说每个程序员内心都有一个黑客梦,其实攻击者那叫骇客(Cracker),只要你有一颗不被束缚的心,你就是黑客(Hacker)。 

当你不仅仅把计算机视为一只饭碗的时候,你才能看到更多的东西,才能获取更广泛的知识。

愿大家都能成为一只 Happy Hacker。

(完)

你看到的只是冰山一角, 更多精彩文章,请移步《2016文章精华》或者《2017文章精华


码农翻身

用故事讲述技术

640

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值