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