问:程序员需要具备哪些素质?
我个人是这样理解真正的程序员的:
-
深爱技术,一天不写代码手就会痒,就喜欢那种成就感;
-
为了一个问题可以废寝忘食,有时会在梦中都能写代码;
-
代码洁癖症患者,喜欢优雅代码,写代码就像写诗一样;
-
善于分析问题,能快速看清问题的本质,并动手解决它;
-
喜欢研究优秀源码,学习大师的杰作,善于归纳与总结;
-
有自己的开源项目或技术博客,喜欢学习,更喜欢分享;
-
会关注技术圈子的新闻动态,时常会参加线下技术沙龙;
-
知道软件开发不是一个人在战斗,更需要的是团队协作;
-
保持良好健康的心态,用一颗积极向上的心去拥抱变化。
问:在公司里面最值钱的是什么呢?
我认为是实实在在做事情的程序员们。
他们虽然工资不高,每天坐在位置上敲着代码,在很多人眼中被称为“屌丝”或“宅男”,但我认为恰恰就是这些人,他们才是公司最有价值的人。
-
他们有自己的理想,希望能够通过自己的努力,从中得到那一点点所谓的成就感。
-
他们需要理解产品经理真正的意图,把想法变成现实,让产品真正落地。
-
他们更容易把握细节,而这些细节往往决定着产品的命运与成败。
-
他们突如其来的跳槽,对我们的项目的交付有直接的影响。
-
他们在一起工作的气氛,能体现技术公司的文化与底蕴。
问:对于接触 Java 不太久的朋友,建议按照以下几个步骤来学习:
-
学习 Java 基础语法与核心技术,包括 Servlet、JSP、JDBC 等。
-
熟练使用流行开源框架,包括Spring、MyBatis 等。
-
研究开源框架源码,并吸取其中优秀的架构。
问:使用 Python、Perl、PHP、Ruby 等脚本语言开发 Web 程序,跟使用 Java 开发 Web 程序相比有什么不同或者优劣?
前者属于动态语言,无需编译,可通过解释的方式来运行,而且 Java 需要首先通过编译,将源文件转为字节码,且载入 Java 虚拟机才能运行,相对来说,Java 对环境的要求较高,但 Java 具备更强的面向对象能力。此外,Java 还拥有较广的开源社区以及流行的开源中间件。因此,如果是做大型系统,建议使用 Java 来开发,而并非那些脚本语言。
问:针对 Web,Java、PHP、Python、.NET 之中未来发展前景最好的会是什么?
我认为 Java 在未来还会有一段很长的路,需要在语言本身上做到更加轻量级,用最少的代码来实现目标功能;PHP 相对来说会比较平稳,它的特点非常突出,上手快且易于开发 Web 项目;Python仍然不会有太大的用户群体;.NET 加入开源社区太晚,且较 Java 而言并没有太强的优势,可能会走下坡路。
我认为我们应该认清程序员的本职去做一名合格并且优秀的程序员。Java目前的前景是非常好的当然现在一大批人也跳入了程序员的行业,但是老程序员的优势在于你们的工作年限与经验。但是不能一直停滞下去我们要不断的提升,长江后浪推前浪,后浪永远只能推我们前浪。
下面我是针对1-5年Java工作者提升的系统图谱,不要说我打广告,我只是给需要的人看的,有兴趣的可以加我的Java架构/分布式/高性能:697579751。群里没有都有大牛直播授课。
四大专题:
源码分析
分布式架构
微服务架构
性能优化
很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:697579751,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。