《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 my.oschina.net/leejayblog/blog/32747 「AbrahamLeeJay」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1 爱好

这个是动力,如果你不爱Java,不爱计算机,而是喜爱游戏,娱乐或者其他的,你不适合做程序员。
如果你能在电脑前,一坐就是4-5个小时,你能为了学习而阅读英文的资料,那么你至少对编程是热爱的,具备了程序员的潜质。

2 学会取舍,用到什么就学什么

编程路上知识点甚多,你能掌握的永远是很少的一部分,新的技术不断出现,你难道能跟上? 相反,编程思想确是相对稳定的。
对于新手,到书店找一本入门的书,用最快的速度读一遍,不要超过3天。 记住,你不需要理解,因为你理解不了,你只需要对那些东西有个大概的意识,噢噢噢,好像有那么几页有这个东西,能达到这个效果就非常不错了。 千万不要一开始从第一章就仔细的看,那没用。
看完之后,找你最感兴趣的部分看,如果看不懂哪些内容,就去翻其他部分,然后马上返回。这部分看懂后,马上开机训练。
对于已经有经验的人,新知识你可以看看他的介绍,Release Note 或则一些评论性文章,然后看看自己手头有没有合适的工作可以用到,如果用不到,停止继续研究,如果能用到,则深入的看一遍他的文档,方法和前面一样,不能太细。 看完后,如果能运用,则开机尝试,并仔细的阅读即将使用到的部分。

Java 入门
入门书差不多!不要太细的看。

换一本,加深印象

回家,电脑上实践,或者找电子版的书!

3 技术服从于业务

技术是用来解决问题的,而不是用来炫耀的。当技术与业务有矛盾时,业务永远在第一位。
不要和业务人员过度的讨论(注意不是争吵)技术如何如何? 有什么技术难点无法满足业务需求之类的。
技术人员可以作出自认为很好的东西,但不一定能卖的出去。世界已经不再是【好酒不怕巷子深】的年代了。除非你真的有强的专利技术。

4 认识自己

不是每个人都能做到CTO,CEO的,金字塔的顶部的空间是很少的。由于家庭环境和个人性格不同,而高层领导的强项并不是在技术,而是在沟通和管理。也许你不服,也许你不甘心,但事实如此,只有付出更多的努力,才有可能往塔尖靠近,注意是有可能,不是一定。

5 学会总结

知识如果不用,就会被逐渐淡忘,当你需要的时候,如何能用最短的时间回复呢?那就是记笔记。 blog很好,写在笔记本上也行,写在一个word文件里面也好。 总之,以你能很快的能找到为准。

6 身体是本钱

不多说了,大家都清楚。但会不自觉的违反这一条。呵呵!

7 正确理解学习过程

初学时,就是死记硬背,你只需要知道应该怎么样就可以了。
有一定经验后,你就需要知道,还能怎么样?
熟悉后,你应该知道为什么要这样?如果不这样会怎么样
精通,这个东西适合吗?如何选择呢?

初学:动手
掌握:动手又动脑
熟悉:动脑又动手
精通:动脑

8 学会正确的查找问题答案的方法

一搜二问三看看 【阿敏总司令】

  • 先搜搜,坚信 你绝对不是第一个遇到这个问题的人
    先到 google/baidu 搜索 选好关键字
  • 到论坛或者群里面发问
  • 学会平时积累,到处看看,经常有意外收获。 n月前的难题可以轻松解决。
  • 你的问题一定要有经过你思考了的。不要直接要全部代码和答案的那种。 至少我鄙视他们。没有人会花费那么多时间提供一个整套方案,就算付费的也得谈谈价钱,不合适的也不做。
    比如:
    我要做一个学生学籍管理系统,请提供思路和详细的解释,最好有源代码,100分送上
    请问如何学好Java啊?我要学啥啊?
    老师让明天交作业,哪位大哥给一份答案啊?
    领导让做个库存管理软件 让我写需要 应该怎么写呢? 大家帮帮我啊?

9 增加你的实战经验

你可以没做过,但一定要认真思考过
你可能没做过什么像样的项目,至少你自己这么认为。其实不然,你做过的的项目虽然看上去小,但你可以遵循这样的目标来完善

  • 去目标用户那里调研,了解真实的需求,不要停留在想象程度
  • 单机版改成多用户版
  • C/S版增加B/S版,反之亦然
  • 使用正式的数据库,而不是Access
  • 完善你的程序,直到有人愿意出钱买你的程序(1元也算),因为这代表着他是一个真正能用的,能满足实际需求的程序了
  • 去看看别人的项目代码,好多开源的项目。看看人家是怎么解决同样的问题的。

10 先学做人,后学做事

大家放眼望去会发现:大凡成功者,在谈到成功时,很少谈“做事”,而都在讲“做人”。因为不会做人,就不会做事,就会走上无为的一生,或走上大起大落坎坷艰难的不归之路

一网友抱怨,技术总监用老掉牙的技术和思想指挥一个上千万的项目,他想按照规范来做,结果和总监发生争吵和冲突。 最后被总监提出,你辞职吧。

下面是我回复的内容,有点刻薄。

奉劝你一句,你有什么资格和你的直属最高领导吵架?????

1 意见不和,可以私下提,不要当面顶撞,这无济于事。如果我是老板,我也开除你。
2 技术要服从于业务,如果你总是对的,你为何不自己做老板?你能拉来几千万的项目?
3 既然大家谈不拢,和平离开就可以了。我估你你们没有个人恩怨。不过目前好像有了。

我以前也和你一样,自己认为都是对的,可实际呢? 没有我们,地球照样转,人家几千万的项目照样做。

当你做老板,你的手下人每天都顶撞你时,你也会这么做。 历史上刚直不阿的人,大多是悲惨的下场。

社会就是这样,理想和现实是有差距的。

针对第10条的部分内容,我已经在反馈里给了解释

解决问题的方法有好多,最好不要走那个最不好走的路。肚量再大的领导,也会有冲动的时候。
如果平时多注意沟通,如网友所说,能和领导经常喝喝酒,吃吃烧烤,目的能达到,还增进感情

文章目录
  1. 1. 1 爱好
  2. 2. 2 学会取舍,用到什么就学什么
  3. 3. 3 技术服从于业务
  4. 4. 4 认识自己
  5. 5. 5 学会总结
  6. 6. 6 身体是本钱
  7. 7. 7 正确理解学习过程
  8. 8. 8 学会正确的查找问题答案的方法
  9. 9. 9 增加你的实战经验
  10. 10. 10 先学做人,后学做事