1 爱好。
这个是动力,如果你不爱Java,不爱计算机,而是喜爱游戏,娱乐或者其他的,你不适合做程序员。
我高中接触计算机,那时候还是AppleII,绿色显示器的,我因为入学学习成绩一般,没有列入学习计算机的队伍。我是凭个人关系,我室友的叔叔,是机房负责人,呵呵, 挤进去的。高三,剩下的只有2人了。 另一个考到了广西的一个科技大学,我忘了,是很牛气的学校。
大学,我没有考上计算机系,但是我基本上和计算机系的人混得最熟,他们的机房我去的非常多。晚上经常不回宿舍,吃方便面,小浣熊干脆面, 几个朋友一起弄东西,主要是汇编和C语言,还有玩三国2和大富翁2的游戏。
如果你能在电脑前,一坐就是4-5个小时,你能为了学习而阅读英文的资料,那么你至少对编程是热爱的,具备了程序员的潜质。
2 学会取舍,用到什么就学什么
编程路上知识点甚多,你能掌握的永远是很少的一部分,新的技术不断出现,你难道能跟上? 相反,编程思想确是相对稳定的。
对于新手,到书店找一本入门的书,用最快的速度读一遍,不要超过3天。 记住,你不需要理解,因为你理解不了,你只需要对那些东西有个大概的意识,噢噢噢,好像有那么几页有这个东西,能达到这个效果就非常不错了。 千万不要一开始从第一章就仔细的看,那没用。
看完之后,找你最感兴趣的部分看,如果看不懂哪些内容,就去翻其他部分,然后马上返回。这部分看懂后,马上开机训练。
对于已经有经验的人,新知识你可以看看他的介绍,Release Note 或则一些评论性文章,然后看看自己手头有没有合适的工作可以用到,如果用不到,停止继续研究,如果能用到,则深入的看一遍他的文档,方法和前面一样,不能太细。 看完后,如果能运用,则开机尝试,并仔细的阅读即将使用到的部分。
3 技术服从于业务
技术是用来解决问题的,而不是用来炫耀的。当技术与业务有矛盾时,业务永远在第一位。
不要和业务人员过度的讨论(注意不是争吵)技术如何如何? 有什么技术难点无法满足业务需求之类的。
技术人员可以作出自认为很好的东西,但不一定能卖的出去。世界已经不再是【好酒不怕巷子深】的年代了。除非你真的有强的专利技术。
4 认识自己
不是每个人都能做到CTO,CEO的,金字塔的顶部的空间是很少的。由于家庭环境和个人性格不同,而高层领导的强项并不是在技术,而是在沟通和管理。也许你不服,也许你不甘心,但事实如此,只有付出更多的努力,才有可能往塔尖靠近,注意是有可能,不是一定。
5 学会总结
知识如果不用,就会被逐渐淡忘,当你需要的时候,如何能用最短的时间回复呢?那就是记笔记。 blog很好,写在笔记本上也行,写在一个word文件里面也好。 总之,以你能很快的能找到为准。
6 身体是本钱
不多说了,大家都清楚。但会不自觉的违反这一条。呵呵!
7 正确理解学习过程
初学时,就是死记硬背,你只需要知道应该怎么样就可以了。
有一定经验后,你就需要知道,还能怎么样?
熟悉后,你应该知道为什么要这样?如果不这样会怎么样
精通,这个东西适合吗?如何选择呢?
初学:动手
掌握:动手又动脑
熟悉:动脑又动手
精通:动脑
8 学会正确的查找问题答案的方法
一搜二问三看看
- 先搜搜,坚信 你绝对不是第一个遇到这个问题的人
先到 google/baidu 搜索 选好关键字
- 到论坛或者群里面发问
- 学会平时积累,到处看看,经常有意外收获。 n月前的难题可以轻松解决。
- 你的问题一定要有经过你思考了的。不要直接要全部代码和答案的那种。 至少我鄙视他们。没有人会花费那么多时间提供一个整套方案,就算付费的也得谈谈价钱,不合适的也不做。
比如:
我要做一个学生学籍管理系统,请提供思路和详细的解释,最好有源代码,100分送上
请问如何学好Java啊?我要学啥啊?
老师让明天交作业,哪位大哥给一份答案啊?
领导让做个库存管理软件 让我写需要 应该怎么写呢? 大家帮帮我啊?
9 增加你的实战经验
你可以没做过,但一定要认真思考过
你可能没做过什么像样的项目,至少你自己这么认为。其实不然,你做过的的项目虽然看上去小,但你可以遵循这样的目标来完善
- 去目标用户那里调研,了解真实的需求,不要停留在想象程度
- 单机版改成多用户版
- C/S版增加B/S版,反之亦然
- 使用正式的数据库,而不是Access
- 完善你的程序,直到有人愿意出钱买你的程序(1元也算),因为这代表着他是一个真正能用的,能满足实际需求的程序了
- 去看看别人的项目代码,好多开源的项目。看看人家是怎么解决同样的问题的。
10 先学做人,后学做事
大家放眼望去会发现:大凡成功者,在谈到成功时,很少谈“做事”,而都在讲“做人”。因为不会做人,就不会做事,就会走上无为的一生,或走上大起大落坎坷艰难的不归之路
|
|