张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

java程序员必须要学习哪些东西

工程师人生 2019-06-25 17:12 次阅读

最近室友闲聊的时候告诉我,他在网上收集了做为一个java程序员必须要会的东西,他觉得自己要有个方向,否则一定会在平平凡凡的工作中,不思进取,最终浑浑噩噩。真是让我猛然惊醒啊,做为一个底层的程序员,如何才能拼得过出来的大学精英和社会老手?学习一定必不可少。虽然自己有点懒,我先把这些记下,待日后尽量弄懂。

java程序员必须要学习哪些东西

Web/WinForm/通吃,包括ASP.NET,WebService,Remoting,Thread,Serializable,ADO.NET等命名空间

精通UML

精通DesignPatterns 23+N种模式:默写各个模式UML图,熟记代码实现方式,范例,以及.NET相关接口

精通CLR

VB.NET/C#通吃

精通OOP理念

精通DB设计与T-SQL,SQL2005就可以了

熟悉AJAX全套技术

通吃WPF/WCF/WF/LINQ

WEB 2.0理念,理解Blog/Wiki/RSS架构,SOA理念

精通数据结构/操作系统/安全加密

精通.NET设计规范

研究5套以上经典源码,例如:SharpDevelop,PetShop,DotNetNuke,SmartClient,NUnit,FotoVision,CSLA等等

熟悉DirectX编程模式

翻译过1-2本技术书籍

软件开发是一个跨度很大的技术工作,在语言方面,有C++、C++、Java、Ruby等等等等;在环境方面,又分嵌入式、桌面系统、企业级、WEB、基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。

这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其他经验不足的程序员。

下面这些基本职业技术可以用来做为对一个程序员的评估,很明显,下面的这些技能都可以用来做面试。虽然,还有很多非技术的因素,但对于评估一个程序员的技术能力来说,其应该是足够的了。

下面是程序员所应该具备的基本职业技能:

阅读代码 - 这个技能需要程序员能够具备读懂已经存在的代码的能力,这样的能力可以让程序员分析程序的行为,了解程序,这样才能和开发团队一起工作,继承维护或是改进现有的程序。(相关阅读:《阅读优秀代码是提高开发人员修为的一种捷径》)

编写程序 - 编写程序并不包括程序设计。不要以为编程是一件很简单的事情,很多程序员都认为编程只需要懂得程序语言的语法,并把设计实现就可以了。但是这离编写程序还远远不够,使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决写了程序员的级别。

软件设计 - 这一能力直接决定了需要吏用什么样的代码技术达到怎么样的功能,而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方面都非常优秀,但每个程序员都需要或多或少的明白和掌握这一基本技能。

熟悉软件工程 - 每个程序员都应该明白软件工程是什么东西,都应该知道,需求分析、设计、编码、测试、Release和维护这几个阶段。当然,几乎所有的人都知道这些东西,但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外,程序员还需要知道一些软件开发的方法/论,比如:敏捷开发或瀑布模型。

使用程序库或框架 - 一个程序员需要学会使用已有的代码,无论是标论的程序库,或是第三方的,还是自己公司内部的,都需要学会做。比如:C++中,需要学会使用STL、MFC、ATL、BOOST、AC、CPPUNIT等等。使用这些东西,可以让你的工作事半功倍。

程序调试 - 程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常,也没有人可以保证程序永远不会出BUG。所以,熟练使用调试器是一个程序员需要具备的基本技能。

使用IDE - 学会使用IDE工具也会让你的工作事半功倍。比如,VC++、Emacs、Eclipse等等,并要知道这些IDE的长处和短处。

使用版本控制 - 一定要学会使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代码,怎么reverse,怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。

单元测试 - 单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit, CppUnit等等。

重构代码 - 每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》,每个程序员都应该读一下。

自动化编译 - 程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样,整个开发团队可以不停地集成代码,自动化测试,自动化部署,以及使用一些工具进行静态代码分析或是自动化测试。

当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等。这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。

收藏 人收藏
分享:

评论

相关推荐

JavaWeb电商项目实战

能够熟练掌握使用JavaWeb技术实现项目的开发 从项目开发流程,到需求分析,再到代码编写,手把手开发项目,知
发表于 04-29 00:00 0次 阅读
JavaWeb电商项目实战

市面上编程语言几百种,是不是C语言就不行了呢?

如今,市面上编程语言几百种,很多人觉得Python、 JAVA这种语言比较火,是不是C语言就不行了呢....
的头像 嵌入式资讯精选 发表于 07-23 11:29 40次 阅读
市面上编程语言几百种,是不是C语言就不行了呢?

通信专业转行Java工程师的经历

高考之后填志愿,那时候其实我也不懂,就觉得电子信息工程好像还不错,于是就填了。在大学四年,除了学校学....
的头像 工程师人生 发表于 07-22 16:58 139次 阅读
通信专业转行Java工程师的经历

一名程序员的求职经历

我家境很不好,家里人不能提供经济支持,我高中毕业后没钱也没分数没能去读大学。后面拿到了深大的自考毕业....
的头像 工程师人生 发表于 07-22 16:50 163次 阅读
一名程序员的求职经历

JAVA WEB应用软件快速开发开源平台J-Hi

J-HI是一款JAVA WEB应用软件快速开发开源平台,主要服务于软件企业和传统行业企事业单位信息中心的开发人员,为他们提...
发表于 07-22 06:02 4次 阅读
JAVA WEB应用软件快速开发开源平台J-Hi

程序员和工程师的不同

我刚刚工作的时候,面试官曾经跟我说:好好干两年,可以迅速从程序员成长为工程师。当时我觉得太诧异了,从....
的头像 工程师人生 发表于 07-19 17:38 500次 阅读
程序员和工程师的不同

程序员的级别定义

初入职场的新人,一般叫助理工程师或者初级工程师。主要工作是:学习并熟悉公司常用的开发技术、涉及的工具....
的头像 工程师人生 发表于 07-19 17:35 314次 阅读
程序员的级别定义

程序员的职业发展路径

作为程序员群体的一员,我发现身边很多同学都非常的踏实,虽然这是一个很好的素质,但我们除了踏实做事以外....
的头像 工程师人生 发表于 07-19 17:15 257次 阅读
程序员的职业发展路径

浅析JavaPC软件

将瘦客户计算和JavaTM 技术的益处引至基于PC的设备 ...
发表于 07-19 08:30 24次 阅读
浅析JavaPC软件

一名90后程序员的工作经历

首先自我介绍一下,1992年生人,现任某家公司项目的单一模块设计与开发,Java语言。这里就是想谈谈....
的头像 工程师人生 发表于 07-18 16:52 269次 阅读
一名90后程序员的工作经历

程序员工作中的建议

一个很久之前的同事,今天找我,想让我帮他推荐下,去我们公司来工作,因为认识很久,就和他说了说公司的现....
的头像 工程师人生 发表于 07-18 16:47 191次 阅读
程序员工作中的建议

一名程序员的自省

我08年到北京后开启了程序员之旅,来北京后第一份工作是作为外派员工在中石油做.net 方面的开发,技....
的头像 工程师人生 发表于 07-18 16:40 207次 阅读
一名程序员的自省

Java NIO编程理论基础之Java IO及linux网络IO模型发展

Java NIO编程理论基础篇——Java IO的发展以及linux网络IO模型...
发表于 07-18 12:40 33次 阅读
Java NIO编程理论基础之Java IO及linux网络IO模型发展

linux网卡的查看和开启

我们安装好了一个虚拟机,我想做分布式集群,想模拟几台服务器,这时就想直接复制已经有的安装好的虚拟机,这样比较省事,不要在...
发表于 07-18 07:06 56次 阅读
linux网卡的查看和开启

嵌入式Java虚拟机的性能优化技术

作者:孙京毅 无线手持设备市场对Java产生了巨大的需求增长,目前每10台新出手机中就有8台支持Java。本文关注嵌入式设备Jav...
发表于 07-18 06:26 184次 阅读
嵌入式Java虚拟机的性能优化技术

【技术杂谈】python和Java到底谁是老大?来看7月编程语言榜单

2019年7月编程语言榜单公布:Python第一,Java第二但出现下滑趋势 PYPL(PopularitY of Programming Language,编程语...
发表于 07-18 04:00 145次 阅读
【技术杂谈】python和Java到底谁是老大?来看7月编程语言榜单

程序员混职场 不加薪怎么行

天天加班写代码却得不到升职加薪,这"五位法"值得每个程序员学习!来看看吧,让西安达内小编与大家一起分享程序员职
的头像 IT家园 发表于 07-17 14:00 66次 阅读
程序员混职场 不加薪怎么行

大数据工程师和Java程序员相比有什么区别

为什么大数据工程师比Java程序员工资高50%?
发表于 07-17 07:39 39次 阅读
大数据工程师和Java程序员相比有什么区别

EdgeBoard为程序员打造的一款深度学习加速套件

摘要: 简介 市面上基于嵌入式平台的神经网络加速平台有很多,今天给大家带来是百度大脑出品的EdgeB....
发表于 07-16 21:46 39次 阅读
EdgeBoard为程序员打造的一款深度学习加速套件

linux环境下的java多版本切换配置

1.为什么要配置环境变量?     PATH环境变量-指定命令路径。 例如我们敲javac Hello.java ,它会到PATH下...
发表于 07-16 07:58 105次 阅读
linux环境下的java多版本切换配置

Java怎么绘制K线

Java语言中的Applet(Java小程序)和Application(Java应用程序)是在结构和功能上都存在很大差异的两种不同的编程方式。A...
发表于 07-16 07:54 17次 阅读
Java怎么绘制K线

linux的Tomcat内存溢出怎么解决

Tomcat本身不能直接在计算机上运行,需要依赖于操作系统和一个JAVA虚拟机。JAVA程序启动时JVM会分配一个初始内存和最...
发表于 07-16 07:38 64次 阅读
linux的Tomcat内存溢出怎么解决

java软件工程师必备的能力有哪些

前言:有朋友问我:学历和能力哪个重要?我个人觉得能力大于学历,没有能力哪来的学历,学历只是证明能力的....
的头像 工程师人生 发表于 07-12 17:28 339次 阅读
java软件工程师必备的能力有哪些

java中高级工程师的学习和工作经历总结

最近去了几家公司面试java中高级工程师,打击挺大的,感觉自己一直以来没有很好的深入学习,对各种知识....
的头像 工程师人生 发表于 07-12 17:22 304次 阅读
java中高级工程师的学习和工作经历总结

JAVA高级工程师面试技巧

之前也面试别人,现在轮到自己找工作,怎么说呢,每个面试官的看法不一样,面试的方式就不一样,比如我面试....
的头像 工程师人生 发表于 07-12 17:17 284次 阅读
JAVA高级工程师面试技巧

怎样成为一名JAVA高级工程师

至少要精通多门开源技术吧,研究过struts\spring等的源码。
的头像 工程师人生 发表于 07-12 17:13 297次 阅读
怎样成为一名JAVA高级工程师

怎样成为Java全栈工程师

首先Java全栈工程师首先必须精通Java,那么作为一个零基础的人,要想成为Java全栈工程师第一步....
的头像 工程师人生 发表于 07-12 17:06 196次 阅读
怎样成为Java全栈工程师

为什么要成为高级程序员

程序员到高级程序员的职业生涯要经历以下几个阶段:初级程序员、中级程序员、最后是高级程序员。
的头像 工程师人生 发表于 07-11 16:51 261次 阅读
为什么要成为高级程序员

java软件工程师的一次面试经历

早上10点20分,进入了面试官的办公室,面试官示意我坐下后,递给了我一份面试题,叫我先做一下,题目不....
的头像 工程师人生 发表于 07-11 16:28 230次 阅读
java软件工程师的一次面试经历

已进入少儿编程时代,我国编程教育何时普及?

本也在前不久公布了新的教科书鉴定结果,要求全日本所有的小学将在2020年起,开始使用新版教科书。其中....
的头像 汉中乐博乐博机器人 发表于 07-11 15:48 232次 阅读
已进入少儿编程时代,我国编程教育何时普及?

廖雪峰Python3基础教程完整版电子书免费下载

Python 是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的 C 语....
发表于 07-10 08:00 65次 阅读
廖雪峰Python3基础教程完整版电子书免费下载

初级java工程师的面试经历

最近在找java初级工程师的工作,投了很多简历都没有反馈,只收到了几个面试通知,可能是因为工作年限和....
的头像 工程师人生 发表于 07-09 17:00 320次 阅读
初级java工程师的面试经历

成为Java高级工程师需要学习什么

至少要精通多门开源技术吧,研究过struts\spring等的源码。
的头像 工程师人生 发表于 07-09 16:54 269次 阅读
成为Java高级工程师需要学习什么

JavaWeb后端开发工程师的实习总结

8 月份开始到现在,进行了一个多月的实习,岗位是 Java Web 后端开发。这过程学到的知识着实比....
的头像 工程师人生 发表于 07-09 16:49 239次 阅读
JavaWeb后端开发工程师的实习总结

作为一名Java开发工程师需要掌握哪些专业技能

在学习Java编程完之后,学员们面临的就是就业问题。作为一名Java开发工程师,企业在招聘的时候,也....
的头像 工程师人生 发表于 07-09 16:43 280次 阅读
作为一名Java开发工程师需要掌握哪些专业技能

一位Java工程师的电话面试经历

今天5点半接到一个杭州的电话,是蚂蚁金服打来的,当时心里一阵发慌,由于还在上班,就和面试官约定6点下....
的头像 工程师人生 发表于 07-09 16:28 238次 阅读
一位Java工程师的电话面试经历

程序员最大的悲哀是什么

这个繁荣的行业,只要你自己不水,可以衣食无忧,努努力还能buffer加成,成为别人眼里很酷的那种人,....
的头像 工程师人生 发表于 07-08 17:05 508次 阅读
程序员最大的悲哀是什么

程序员为什么要看书

移动互联网的热潮,带动了软件开发产业的蓬勃发展。BAT中动不动年薪百万或者年底资金发二十几个月的工资....
的头像 工程师人生 发表于 07-08 17:00 365次 阅读
程序员为什么要看书

怎样做好一名程序员

文档习惯 :文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继....
的头像 工程师人生 发表于 07-08 16:51 357次 阅读
怎样做好一名程序员

程序员的层次分级

可分为两级,低级的指刚刚从学校毕业,或刚刚参加工作的程序猿,当然必须是一个合格的程序猿,能够关注到项....
的头像 工程师人生 发表于 07-08 16:44 291次 阅读
程序员的层次分级

怎样划分程序员的技术层级

自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此....
的头像 工程师人生 发表于 07-08 16:37 307次 阅读
怎样划分程序员的技术层级

Java工程师面试知识点总结

java虚拟机是执行字节码文件(.class)的虚拟机进程。。java源程序(.java)被编译器编....
的头像 工程师人生 发表于 07-05 16:43 295次 阅读
Java工程师面试知识点总结

如何成长为一名Java高级程序员

所谓的Java高级程序员往往是经验和能力的结合,并不是说掌握了哪几个技术就是高级程序员了,能否把掌握....
的头像 工程师人生 发表于 07-05 16:33 266次 阅读
如何成长为一名Java高级程序员

赴日JAVA工程师的感言

工作已经有半年了,突然想写点东西,大学的时候就有写日记的习惯,但是自从去Java06班学习一直到现在....
的头像 工程师人生 发表于 07-05 16:25 280次 阅读
赴日JAVA工程师的感言

java工程师的就业前景发展方向

随着信息化的发展,IT培训受倒了越来越多人的追捧。在开发领域,JAVA培训成为了许多人的首选!jav....
的头像 工程师人生 发表于 07-05 16:12 278次 阅读
java工程师的就业前景发展方向

一位理想主义的程序员

9 年前,我从象牙塔里走出来,正式踏入社会,懵懵懂懂地在一家日企开始了职业生涯。那时候,技术功底非常....
的头像 工程师人生 发表于 07-05 16:09 241次 阅读
一位理想主义的程序员

怎样才能学好JAVA

Java如今已经是全球编程语言排名第一的语言,运用广泛,前景广阔。
发表于 07-05 10:37 64次 阅读
怎样才能学好JAVA

B2C商城系统开发使用java语言合不合适

Java技术是开发电商系统中出类拔萃的程序语言,建设B2B网店系统选择java技术是上好的选择。
发表于 07-05 08:51 62次 阅读
B2C商城系统开发使用java语言合不合适

JAVA软件工程师应该具备这些基本素质

.良好的编码能力。软件人员的一个重要职责是把用户的需求功能用某种计算机语言予以实现。编码能力直接决定....
的头像 工程师人生 发表于 07-03 17:29 437次 阅读
JAVA软件工程师应该具备这些基本素质

Java软件开发工程师的等级区别

技术不同,简单的可以理解为:初级中级的只关注代码,编程。高级的就要考虑系统的架构,整体框架。
的头像 工程师人生 发表于 07-02 17:32 549次 阅读
Java软件开发工程师的等级区别

Java开发工程师到底能从事什么行业和什么工作

如今,“Java”作为所有编程语言中最热门的技术,也是第一编程语言,可以说它几乎无处不在。目前全球有....
的头像 工程师人生 发表于 07-01 17:32 848次 阅读
Java开发工程师到底能从事什么行业和什么工作

Java程序员面试失败的五大原因

尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。
的头像 工程师人生 发表于 07-01 17:27 798次 阅读
Java程序员面试失败的五大原因

Java工程师的修炼之道

一个软件的生命周期中,除了开发还有很多其他步骤,也都是需要掌握的一些技术。
的头像 工程师人生 发表于 07-01 17:17 773次 阅读
Java工程师的修炼之道

一名Java工程师的创业经历

各位程序员朋友们,本人立足于IT圈也快六年多了。之前也写过不少技术类的博客。技术聊的不少。什么高并发....
的头像 工程师人生 发表于 07-01 17:06 686次 阅读
一名Java工程师的创业经历

使用JAVA设计的贪吃蛇程序免费下载

本文档的主要内容详细介绍的是使用JAVA设计的贪吃蛇程序免费下载,可以控制上下左右,吃食物计分,撞墙....
发表于 07-01 08:00 45次 阅读
使用JAVA设计的贪吃蛇程序免费下载

Java跌落神坛,Python继续夺冠....凭啥?

编程语言流行指数(PYPL)排行榜近日公布了2019年6月份榜单。
的头像 AI科技大本营 发表于 06-30 13:05 770次 阅读
Java跌落神坛,Python继续夺冠....凭啥?

Java后端工程师的面试经历

经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征。
的头像 工程师人生 发表于 06-28 16:25 345次 阅读
Java后端工程师的面试经历

kettle的使用手册教程免费下载

ETL(Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于金....
发表于 06-27 08:00 45次 阅读
kettle的使用手册教程免费下载

东方程序员眼中的西方程序员

我觉得问题在于这里的文化,也就是人们的思维模式。自孩提时代开始,我们就被训练如何遵照流程循规蹈矩,然....
的头像 工程师人生 发表于 06-22 11:22 579次 阅读
东方程序员眼中的西方程序员