java全栈开发工程师_谈谈我对Java(J2EE)全栈工程师的理解

很多刚从事Java开发的同学都有一个疑问,到底是向全栈式程序员方向发展还是做精通某种技术的专才?对于这个问题也是见仁见智。 在给出我的观点之前,我们先来分析一下全栈工程师的种类和专才的种类 ,之后关于这个问题的答案就很清楚了。

所谓全栈工程师并不是说要熟练精通的使用很多技术,重点在于要知道很多技术,这句话有点绕,举个例子,就是十八般兵器不用样样都很熟练精通的玩,而是要知道江湖中有十八般兵器,且知道每种兵器的用途是什么。 全栈工程师在我看来有两种,第一种是各种技术虽说都懂点会点,就是十八般兵器拿起来都会耍,但是每一种都只能耍到一两层功力, 第二种就是不仅是各种技术都懂点会点,而且是有一门技术特别精通,这第二种有点像我们说的专才,呵呵,接着看,我们后面分析。

我们再来看看专才,必须至少在某种技术上是特别精通的人才能称为专才,我认为也是分为两种,一种是精通某种技术,但也是仅仅知道有这种技术,比如,我精通耍大刀,但我也只知道江湖中有刀,不知道还剑戟等其它兵器,呵呵,这种是孤陋寡闻的专才;另一种相反,除了精通某种技术之外,还知道有其它技术,且了解它们的用途,比如,我虽然只精通耍大刀,但是我却知道江湖种还有其它兵器,并且对于其它兵器也了解它们的用途,这种专才是不是很像前面说的第二种全栈工程师?

所以综合上面对于全栈工程师与专才的种类分析,总结出工程师其实是有两类的:

第一类是不牛的工程师,包括第一种全栈式工程师(这一种工程师不用花很多精力就可以做到,功力不深厚),和 第一种孤陋寡闻的专才工程师,(这一种工程师肯定是有瓶颈的,而且容易闭门造车);

第二类是牛的工程师,包括第二种全栈工程师与第二种专才工程师(第二种全栈工程师其实就是第二种专才工程师),它们共同的特点是:全且专,这一类才是我们发展的目标;

将工程师重新分类后,我们再看看最初的关于全栈与专才的选择问题,就会发现问题本身太笼统了,所以问题应该变为:我是向牛的工程师发展还是向不牛的工程师方向发展?

我认为全且专是成为真正牛的工程师的必然或自然的趋势。因为只专的话,我想也不会专的很深,因为孤陋寡闻闭门造车,不能吸收其它技术的思想和优点,只是全也不行,浮于表面。

另外关于时间和精力的问题:我怎么可能有那么多时间和精力做到全且专?还是强调一下:这里的全且专是指了解的很广泛,但是只对某个技术进行专门研究到精通,不是说的对了解到的技术都做到精通。做到全是很容易的,不会花很多时间和经历,然后你就可以把剩下的时间和经历用在钻研某种你感兴趣的技术上了。

视频课:秒懂正则表达式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多网卡命名规则

使用iptables做nat路由,需要几张网卡,以下命令很有用 1.首先你要先确认你系统加载的网卡,lspci|grep -i eth,如果出现unknow情况或者未识别,最好换网卡,或者是驱动没有加载,需要到/lib/modules的子目录driv…

相机模拟光圈_我的相机应该使用什么光圈?

相机模拟光圈Aperture, along with shutter speed and ISO, is one of the three most important settings you control when you take a photo. It affects both the amount of light that hits your camera sensor and the depth of field of your images. Let’s look at ho…

2018-2019-1 20165234 《信息安全系统设计基础》第四周学习总结

一、学习目标 了解ISA抽象的作用 掌握ISA,并能举一反三学习其他体系结构 了解流水线和实现方式二、学习内容 Y86-64指令 movq指令 irmovq rrmovq mrmovq rmmovq四个整数操指令 addq,subq,andq,xorq只对寄存器数据进行操作7个跳转指令 cmovle cmovl cmove cmovne cmo…

python数据库实例_Python3.6简单的操作Mysql数据库的三个实例

安装pymysql参考:https://github.com/PyMySQL/PyMySQL/pip install pymsql实例一import pymysql# 创建连接# 参数依次对应服务器地址,用户名,密码,数据库conn pymysql.connect(host127.0.0.1, userroot, passwd123456, dbdemo)# …

Python之钉钉机器人推送天气预报

通过Python脚本结合钉钉机器人,定时向钉钉群推送天气预报 #!/usr/bin/python # -*- coding: utf-8 -*- # Author: aikergdedu.ml # My blog http://m51cto.51cto.blog.com import requests import re import urllib2 import json import sys import osheaders {Co…

google +按钮_如何禁用或改善Google的Google+集成

google 按钮If you’ve used Google lately, you’ve probably seen Google taking over Google’s search results. You don’t have to put up with it — you can disable the integration, show better social-networking pages or hide those pesky Google notifications.…

P2680 运输计划

传送门 十分显然完成工作的时间和航耗时最长的运输计划有关 所以题目意思就是要求最大值最小 所以可以想到二分 把所有大于mid时间的航线打上标记,显然删边只能在所有这些航线的公共路径上 要如何快速打标记是个问题 二分已经有一个log,所以只能承受O(n)…

java 集合读写同步_JAVA多线程学习十六 - 同步集合类的应用

1.引言在多线程的环境中,如果想要使用容器类,就需要注意所使用的容器类是否是线程安全的。在最早开始,人们一般都在使用同步容器(Vector,HashTable),其基本的原理,就是针对容器的每一个操作,都添加synchronized来进行同…

Linux下的parted工具的使用 GPT分区安装系统

安装系统是安装前时候ctrlatlF2 fdisk -l parted select /dev/sdb mklabel msdos # 将GPT磁盘格式化为MBR磁盘 对大硬盘进行分区 xfs 和 ntfs Linux下的parted工具的使用也很简单,具体操作如下: rootme:/mnt# parted /dev/sda Using /dev/sda Welcome to…

ubuntu自定义菜单_如何自定义Ubuntu的每日消息

ubuntu自定义菜单Ubuntu displays an informative message, known as the message of the day, when a user logs in at the terminal. The MOTD is fully customizable — you can add your own text and other dynamic data. 当用户在终端上登录时,Ubuntu将显示信…

java避免使用orderby_java – @OrderBy在JPA中无法正常工作

OrderBy如何运作?它在以下代码中不起作用:Employee.javapackage com.semanticbits.pojo;import java.util.List;import javax.persistence.CascadeType;import javax.persistence.Embedded;import javax.persistence.Entity;import javax.persistence.Ge…

BigDecimal四舍五入与保留位

1.引言 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果&#…

火狐web开发清楚缓存_如何使用Firefox的Web开发工具

火狐web开发清楚缓存Firefox’s Web Developer menu contains tools for inspecting pages, executing arbitrary JavaScript code, and viewing HTTP requests and other messages. Firefox 10 added an all-new Inspector tool and updated Scratchpad. Firefox的Web Develop…

Leetcode400Nth Digit第N个数字

在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字。 注意: n 是正数且在32为整形范围内 ( n < 231)。 示例 1: 输入: 3 输出: 3 示例 2: 输入: 11 输出: 0 说明: 第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0&#xff0c;它是…

Java基类共同属性设置_多选择基类的访问属性-Java初学笔记

多选择基类的访问属性你现在知道在定义类的访间属性时可用的选择项&#xff0c;你希望使用这些类定义子类。你知道在类继承上这些属性所具有的效果&#xff0c;但是你如何决定到底应该使用哪一个呢?这里没有死板和现成的规则&#xff0c;你选择的访问属性取决于在将来你想用类…

IT:如何在Windows Server 2008 R2上安装Hyper-V虚拟化

Windows Server 2008 R2 and later releases of the product ship with a virtualization platform called Hyper-V, which works quite well since it’s built into Windows. Today we’re going to show you how to install it. Windows Server 2008 R2和更高版本的产品附带…

FineReport单行与数据库交互的方法

1. 问题描述 我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作&#xff0c;将该行数据直接与数据库交互&#xff0c;执行存储过程过程。我们可以通过每一行增加帆软“插入”按钮实现插入动作&#xff0c;并且在控件事件中增加和数据库的交互&#xff0c;但当事件…

java cas volatile_每日一个知识点:Volatile 和 CAS 的弊端之总线风暴

每日一个知识点系列的目的是针对某一个知识点进行概括性总结&#xff0c;可在一分钟内完成知识点的阅读理解&#xff0c;此处不涉及详细的原理性解读。一、什么是总线风暴总线风暴&#xff0c;听着真是一个帅气的词语&#xff0c;但如果发生在你的系统上那就不是很美丽了&#…

SqlServer之代码块相关

转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/sqlserver-codeblock/ 一、go语句 Go语句是SqlServer中用来表示当前代码块结束提交并确认结果的语句。 Go语句不能和其他Sql命令卸载同一行上&#xff01; 定义的局部变量作用域局限在定义它的代码…

010 使用list和tuple

list Python内置的一种数据类型是列表&#xff1a;list。list是一种有序的集合&#xff0c;可以随时添加和删除其中的元素。 比如&#xff0c;列出班里所有同学的名字&#xff0c;就可以用一个list表示&#xff1a; >>> classmates [Michael, Bob, Tracy] >>&g…