0

IT人士入门指南

 3 years ago
source link: https://iiiyu.com/2012/02/09/junior-it-people-c-study-guide/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

IT人士入门指南

  除了IT行业,你可以选择的更多。

  我知道,在经历了天朝12年的应试教育以后。来大学第一天的感觉就是”我自由了“。这是一个最好的感觉,也是一个最坏的感觉。好是,你确实可以自己决定很多事情了,坏是,你确定你做出一些比较有利的决定么。上大学以后你确实知道你想要什么么。如果我这样问你,你能回答么。天朝的具体制度不去评论。我们以生物最基本的要求来要求自己,就是生存下去。是不是你说你都活了二十左右年了。难道不是生存么。我想说的是依靠自己的生存,有爸是双江,也蛮好的阿。是官二代,富二代。那我觉得,你的生存问题也不大。做一个好人就好了。大多数师弟师妹,你们应该好好考虑一下4年以后,你能怎么活下去.

过于明确的功利性选择向为有识之士所不齿,但是,如果当一个刚刚走出校门,面对残酷的商业竞争而举足失措的少年,或者是对于一个几乎耗尽了他的家庭生存成本终于读完了大本,却在就业市场上徒劳往返,不断奔波碰壁,甚至连最基本的生存都已难以保证的失败者,我们再义正辞严的宣讲什么 “君子谋道不谋食”,再讲什么“君子喻于义”,再讲什么“一箪食,一瓢饮,在陋巷。人不堪其忧,回也不改其乐”,这虽然省心省力,而且占据了道德的制高点,却未免有点不厚道。

  做IT很辛苦。加班就是必备技能。所以,我说除了软件学院,你可以有很多的选择。也许你听说IT高工资,但是我说,高工资全部在一线大公司,一线大公司,全部在一线城市。一线城市的幸福感真的很低。你那高工资跟那房价一比,跟工作压力一比。觉得真的一般。而如果你回家,考了公务员或者银行或者垄断国企,我觉得你生活质量和幸福感会很好。所以,人各有志,最好自己客观的评价一下自己,适合做什么事情。想过什么样的生活。好有一个全局的打算。将来是可以公务员可以事业单位可以国企可以垄断行业。所以,除了IT有很多选择。

  综上所述,我只想说,除了搞IT,你还有很多的选择,让自己的人生更加的美好。说了怎么多。你最后还是决定留下来从事IT这个行当的话。你可以继续接着看了。

  做为一个软件开发人员,或者说做为一个IT行当的新手。我在下面三个选择中不断徘徊,不断挣扎。就为了这三个问题,耽误了很多学习的时间。所以,我有必要将我在这三个问题获得的经验分享一下。(PS:就算你不是电脑专业的也可以有些收获)

第一个选择——电脑

第一个选择和第二个选择密切相关:你需要一台什么样的电脑和你需要用什么样的操作系统。
你如果对这个问题觉得很奇怪了,或者说你要说你觉得电脑只有价钱的区分,操作系统只有windows xp 到 windows vista 到 windows 7。那我建议你多了解一下外面的世界。这情况是微软的成功,中国软件的悲哀。
扯远了,拉回来。我们为什么要选择电脑(品牌)。作为一个开发人员,我首先推荐ThinkPad。理由只有一个,专业。
  作为一个企业或者一个开发人员来说,稳定是最重要的。根据我的观察和使用情况。即使Thinkpad已经被联想收购了,但是依然是最好的laptop没有之一。这个不解释。

  另外一个选择,Mac。具体详细

  再次不解释。

  PS:不解释是因为有共鸣者不用解释,不了解者应该会自己Google一下。

     彪悍的人生不需要解释。
                    ——老罗

  所以,如果你在纠结于买一个什么样子的电脑,果断Thinkpad or macbook 。也许你说预算不够买thinkpad或者是macbook。那我就觉得,你可以入一个thinkpad二手。3000左右的,性能足够满足你所有学习上的需求。不过记住,thinkpad我只推荐T系列和X系列。其他的看都没有看过。

第二个选择——选择什么样的操作系统。Windows or Linux or Unix or MacOS。

  记得我最牛x的一个老师(伯克利数学博士)跟我说过,如果你选择windows你就站在整个硅谷的对面。呵呵,我对此深信不疑。首先,我很尊重微软。他是一个伟大的公司,为我们提供了无数伟大的技术。可是,我不喜欢。我更喜欢Linux这样自由免费的系统。

具体理由详见

呵呵,如果你能坚持看完,那你就应该知道我的推荐了:Linux or Unix or MacOS 没有Windows

第三,选择什么样的编程语言。

  曾经,我苦苦纠缠于要学习什么语言,以至于什么都没有学的很精通。今天站在这个语言阵营,明天为那个语言阵营呐喊。结果三年以后的今天,我回过头去看。才发现,用什么语言都不重要,重要的是设计。不同的语言在不同的领域有不同的优点。只要能理解问题,设计出解决问题的方案。在找合适的语言来做就好了。前两天看见贺神转载的文章,上面有一句话很认同。手里如果有一把锤子,所有的问题都只有用钉钉子来解决。手里的工具是什么,就是你会什么语言。(这里大部分是转载了之前自己写的一篇blog,说这个有点早了,下面要开始说怎么学习了)

基本存活技能

  先泛泛谈一下,在今天这个知识爆炸的时代。我们不可能学会所有东西。因此,只要有活到老学到老的决心就好。学海无涯。。。。。。。(每次有这种想法,就想起高爷爷(Donald Ervin Knuth)用一辈子写一部书,而天朝很难有人做技术到10年。浮躁的天朝)
  IT里面也分为很多方向,而不是仅仅学院里面开设的那四个。而且发现,其实后来找工作时候,用到的知识,都是自己学的。就是说,学院与业界还是存在一定的脱轨。这个无能为力。当初对自己的定位也很模糊,学的很杂,走了很多不必要的弯路,所以今天把我的一些糟粕去掉,说一些精华的东西。因为我信仰开源自由的精神,也才来分享自己的想法。

第一个技能

提问的智慧

这个很重要,是学习的基本,是向人请教的规范。虽然只是一篇文章,但是我却说他是一项技能,值得你初期每次提问的时候,看一看。

第二个技能学会使用搜索引擎。

  简单的说,就是你要学会Google,也许你觉得没什么学的。所以,现在你可以google一下google怎么用的问题

  这两个是基础,就想九九乘法表一样,应该时刻谨记。

第三个技能学会使用编辑器

  选择一个文本编译器: Vim or Emacs

你现在选什么我也不知道,如果你不喜欢折腾就选Vim。如果,你觉得要变成一个手指的魔术师而且禁得住折腾的话就选择Emacs。但是必须深入的学习一个。
关于他们

Vim资料1
Vim资料2

Emacs资料1
Emacs资料2

能把所有连接都看完。坚持到现在,不错不错。我觉得你已经有超越我的迹象了。
  在一开始,我说过,我们学IT其实不管喜欢不喜欢,最后的结果是我们能依靠它去生存下去。所以现在我们来选择我们要学习的方向,贪多不烂。深入一个方向比浅尝辄止好。(不断自省)还有一个问题就是IT这个行业每时每刻都有新的技术出来。有时候,你看见了,听说了。或许很眼红。觉得自己应该可以学学。已我的经验来看,这样做往往学不到东西。只说一个理由,就是新技术可能门槛很高。要学好它下面的基础要牢靠。也许一页字的东西。其实涉及了方方面面。你要看懂。要学习N多基础的东西。所以用2年学下面我说的东西吧。

第四个技能Git

起初,我以为Git和Svn是一个货色。后来,才知道我的这种想法是多么的离谱。差点连最nb的版本管理错过。因为Git和github的出现。世界上多了多少有激情的项目。改变了现在的IT世界。

Git入门

Git进阶

github入门

头两年学习路线

第一,Vim or Emacs。(一辈子^_^)

第二,英语。

第三,数学:

什么是数学

具体数学

第四,C语言

C程序设计语言(3个月-4个月)

Linux C编程一站式学习 (这本有电子版的,自己google。 2个月)

深入理解计算机系统(6个月)

数据结构与算法分析(3个月)

算法导论(一年)

这些书,我建议你一本一本买,然后一本看完了再进入下一本。
综上所述,我觉得起码要学两年。如果你天赋异禀。几个月就搞定了。那我觉得你应该,也知道怎么向后面学习了。跟着感觉走就好了。

两年以后,我觉得你可以选择方向了,由于才粗学浅。很多方向我都只能给一个大概。

其实现在是一个Web的时代,我写的之前的两年学习其实都是脱离Web的。也就是说学习是脱离了这个时代。我检讨一下。因为我是这样过来的,也只能给出这样的学习路线。可是我在不断学习哦。所以我也不断的更新这个文章。

桌面应用方向

不管是Windows还是Linux或者是Mac,传统意义上的编写程序其实就是编写桌面应用。什么是桌面应用,就是想QQ,WPS这样叫做应用程序的东西。这些软件存活在电脑里面。发展了很久,所以再今天看来他们有些老了。跟不上这个Web时代的步伐了。可是不代表他们不赚钱。今天有很多业务系统依旧守着桌面应用。所以,如果你没有一个相当强大的idea和实力。你很可能就去做业务系统了。小团体或个人很少做商业的桌面应用了。

在天朝内,从需求上来说windows的桌面需求是最多的。
传说一本Windows核心编程看熟10k左右的工作应该没有问题。需要学C++,Windows底下的汇编。学Windows核心编程。学Windows驱动。然后,你可能要写界面。你要学MFC or WPF。

Linux桌面就比较纠结了,国内我就没有看到拿它赚钱的。Linux程序设计是必要的。然后是Gtk+ or Qt选一个图形库就ok。

Mac的桌面需求在天朝,要这个的公司。太少太少了。不过待遇都很不错10k+。

信息安全方向

再今天这个Web时代,我们的在线安全越来越重要。所以做安全产品活的一般都好一些。Windows上就逆向、破解。*nux上就服务器的配置、防御什么的。

Web后台方向

建站用的做多的PHP,框架也最多。不过据说存在各种各样的问题。

国内最大的java web应用是淘宝。你应该学S2SH, EJB,Maven。

豆瓣是国内最大的Python web应用。而且Python后台招聘的比PHP的一般要搞1-2k。Python的web框架也是一抓一大把。不过见过招聘最多的是django

Ruby on Rails这个号称要拯救世界的ror。国外最近冒出比较有创意的web应用都用的ror。国内目前比较少。工资跟python差不多。但是学习门槛比较高。

Web前端方向

工资高。福利好。工作压力小。说的就是这个阿。大概是html css javascript。然后是flash吧。现在flash做游戏的很多。2011年html5火的一塌糊涂。javascript本来被一直诟病的情况下,因为Chrome的V8引擎横空出世进而也再2011年用node.js重新要号称拯救世界。好的前端应该可以拿到同期最高的工资。目前强烈推荐做前端,门槛低,学习周期相对较短。容易高工资。

移动Web方向

iPhone app很火。起工资也很高。如果你当初买了Macbook。强烈推荐你走这个路。能google到很多学习路线。大概就是objective-c 然后cocoa。斯坦福有个老头讲课很不错。

android

火的一踏糊涂,今年我同学去了很多oppo。大概是Java->Android。前两天看到因为效率的问题,Android支持原生C++的ndk在不断更新中。

meego 挂了。 用的Qt

WebOS 挂了。 用的Javascript。

塞班 挂了。 用的Qt

MTK 几近灭绝。 用的J2ME。

游戏不太懂,应该是要学数学和物理。然后是一个引擎。微软有XNA。还有一些开源的引擎。

希望,这些能帮助到一些要入IT,却不知道门路的人们。

我目前现生活在新西兰。

如果是新晋奶爸可以看看婴儿奶粉

如果逢年过节孝敬父母可以逛逛澳新保健品

如果经常熬夜或喝酒,你需要程序员神器-护肝片

大量澳新产品均可通过么么爪海购精选购买。

么么爪海购精选上的价格在海外直邮模式上有一定优势,但是跟国内电商上大量低价商品没法比。优势上只能用我自己那可能并不存在的人品担保都是正品。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK