×

Loading...

【精华】IT 入门攻略 (3) 经验

本文发表在 rolia.net 枫下论坛俺第一篇文章说过,码工这个职业,是世界上唯一一个任人唯贤的职业。不管是白猫黑猫,只要有雇主要的经验就是好猫。

上回有网友问,想做码工没有经验,去考个证书怎么样。俺说证书不管用,要想办法获取经验。结果有网友义愤填膺的说俺误导,说什么获取经验需要时间,而且没有工作哪来的经验?

俺说,获取经验不一定需要太多时间,也不一定非要从工作上获取不可。

经验这个词,有两个意思。第一个是你内在的经验,就是说你做过什么,会什么。第二个是别人承认的经验,就是你放在简历上人家看了愿意给你 job 的经验。分清这两种意思很重要,因为内在的经验不需要有工作就可以获取,而且内在的经验可以转化为别人承认的经验。所以 IT 入门,首要的就是要获取内在经验。

俺第一篇文章说过,软件贵在软字。因为软,所以你不受时间空间的限制。只要你有一台联网的电脑,你要什么经验就能有什么经验,不用出门,不用上班。比如要学 Java,网上什么都有,而且什么都是免费的。语言,IDE,Server (web server,app server),数据库,源代码承储系统,以及无数 3rd party 的软件包,全部是免费的。还有无数的书,教程,论坛,开源的项目,等等等等。所以获取 Java 经验,不用有工作,也不用靠人。

学习 Java,在家里完全可以建立一个跟公司一样的开发环境,因为 Java 的很多东西都是开源的,商业的软件网上一般也有免费的个人版本。俺下面的清单里,Eclipse,Maven,SVN,Spring 都是开源的,而且在大部分公司都是 standard。

IDE: Eclipse
Source Code Control: SVN
Build: Maven
Framework: Spring
Web Server: Tomcat
Database: MySQL

Project: AppFuse

AppFuse 是一个 web 项目的框架。装上它,你就算有了自己的一个 Java 项目。AppFuse 用的 web framwork 挺多,你只要做 SpringMVC 就可以了。通过捣鼓 AppFuse,你可以获得以下的 Java 开发经验。

1. 搞懂 maven 怎么运作。
2. 会用 svn 来管理你的源代码。
3. 搞懂数据库的基本运作以及 Java 跟数据库的链接。
4. 熟悉 spring framework。
5. 搞懂 web application 的框架结构。
6. 搞清楚 web application 的流程 (web browser 跟 server 如何链接, server 跟数据库是如何链接)。
7. 学会用 eclipse。

东西很多,但是你不用精益求精,会些基本的东西就行了。比如 maven,怎么通过 maven 在项目里用一个新的 3rd party 软件包。比如 web application,如何再加一个 field (比如 employee 的学历),从前台一直到数据库。做软件的,有一个好性格是懒,需要什么才去研究,不然外面有这么多东西,要想全知道,非累死不可。即使是经验丰富的码工,也有很多基本的东西不知道的。

从无到有学习编程,最重要的是身边无时无刻要有一个答疑的人。俺老婆学 Java,前几次都是一两天就放弃了,因为遇到的问题太多。后来俺发现了 Yahoo IM,她有问题能立刻得到答案,才得以坚持下来。因为这个,俺一直把 Yahoo IM 当作俺的恩人。

以上的东西捣鼓两三个月,你就有了一年的 Java 经验。如果你用心,结果可能比真正上了一年班的人还要好。更多精彩文章及讨论,请光临枫下论坛 rolia.net
Sign in and Reply
Modify
Report

Replies, comments and Discussions:

  • 工作学习 / 事业与工作 / 【精华】IT 入门攻略 (3) 经验
    • 多谢分享,SCC貌似最近Git很火?
      • 好像是,不过 svn 还是占主导地位的,初学的,会一种就够了
    • 如果是10年前,鼓捣2,3个月就可以,现在这种水平,过不了面试的,解决问题的能力不是在家可以鼓捣出来的,比如给你个项目要求,让你做estimation,没有实际工作,很难估计的准确。
      • 面试能力,解决问题的能力,在家里都是可以捣鼓出来的,这些 fundamental 的东西没有变化~~~唯一的变化就是市场需求,现在 IT 没有10年前火了,所以自己捣鼓的机会少多了
        • 没有选择都好说,有选择就可以就很容易比较出高下的,我也面过很多人,那些没有经验的或者只做很少项目的,基本上一两个问题就问出来的.
          • 我也面试过很多人,很可能比你还多,那些有n年经验的,一样是一两句话就能问倒~~~强化的经验一个月完全可以顶一年上班
            • 一年工作经验和两三个月没有区别,你强调的无非是把家里鼓捣两三个月的编成实际工作一年经历.那不就是蒙人吗?现在的REFERENCE CHECK都很严格,你觉得可以过得了?
              • 嘘~~~ 人家第二集已经讲了(而且以前也引用了 45 次),人家太太就是这么找到工作的,而且那三个月后“再没学过新技术”,一直混得很好,还能拿“最佳码工奖”... 千万别说这是蒙事儿 lol...
                • xml 兄一直对我的观点有成见啊~~~我是说老婆没有在业余时间学习新东西,其实她会的技术比我多,有些比我还要精
                  • 酱紫啊那你就让你 LD 来谈谈如何 coding 好了... 没准儿还能有点儿说服力 lol...
                    • 俺觉得自己已经够有说服力的了~~~说服不了你老兄是因为你成见太深~~~骂俺劣币的网友是你吧?LOL
                      • 咦?我这不是在帮你么?我帮着你证明你 “没有蒙事儿” 么?心态啊心态 lol...
                • 其实目前公司IT编程,我看80%的任务找个smart一点的高中生,培训半年,完全能够胜任。而有些编程搞了很多年的人,由于缺乏编程的sense,维护他们生产的代码所花的时间比重写还要多。经验重要,但不是必要的。
                  • +10. 这个正是我的观点,可惜说服不了 xml 网友。
                  • 公司里面80%的时间花在解决剩下的20%问题,而这个能解决20%难题的人肯定不会是那个懂80%的高中生。
                    • 同意。但别忘了,公司是按人头算项目Budget的,不会请一个大拿代替5个高中生,公司需求量最大的是高中生。
      • 很少有人问 junior 要 estimate,即使 senior 的,给的 estimate 也常常不靠谱,所以这一点不用担心
        • estimate指的是什么?
          • 指做一个东西要花多少时间
        • 没有经验往往低估了项目,senior不靠谱只能说经验不足,很难想象一个需要1个星期的活的估计成一天的人会是SENIOR,你说的经验之谈在10几年前很有用 , 现在想蒙人不容易
          • 我文章里的主张都是实打实的东西,用我的方法的人,出来都是能干活的人,不是滥竽充数的~~~如果你觉得是蒙人,那是因为你有偏见
      • 哪用这么烦,装个ubuntu server, 装个 openjdk7, 下载一个playframework,再装个mongoDB,啥都全有了。这么老旧的套件就别叫人学了。
        • 正想学mongoDB,有mongoDB学习资料推荐吗?
    • 谢谢。打算试试。你说的这些俺现在只知道Svn. Eclipse
    • Sense确实是很重要的。不单止码工,整个软件行业都如此。从设计、编码到测试,要有sense,配合Google基本没有学不会的东西。真正的工作,业务与技术的融合才是王道(这是受过正规高等教育的人优胜之处),如果只纠结编码确实是个有sense的高中生就能胜任的了。
      • 高人呐。码工要和行业与业务结合,才不易被替代。
        • 高人不敢当。因为其实现在整个软件业应当来说已经相当成熟,无论从开发工具、开发框架组件都足可以称之为easy-2-use了,再加上Google的支持,有意去开发一个软件程序真没有太大难度。但要真上一个档次,必须要接触业务,结合是第一步,进而用技术去影响业务是更高的层面
          • 自从有了Python后,貌似是个人都能搞编程开发了。
            • 不单只Python,看看现在的no-sql database,把之前所有数据库的范式都破得差不多了,对于初学者来说只要有简单的json知识就行。随着时间推移,码工其实和建筑工人没太大区别的,只是用的工具不一样罢了
              • 十年前UML大热的时候,赶脚以后代码都能自动生成了,码工都该失业了,还好没有发生。
                • 没有失业,但门槛确实降低了,变成只要会用工具就行了!呵呵